Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
## Volunteer in one command

```bash
npx givework start
npx givework@latest start
```

That is the whole thing, whether it is your first time or your fiftieth. `start`
Expand Down Expand Up @@ -59,7 +59,7 @@ one, or the auto-probe picks wrong).
Then keep going:

```bash
npx givework start --watch
npx givework@latest start --watch
```

`start` on its own finishes by telling you how to begin the work loop rather than
Expand All @@ -71,7 +71,7 @@ and `run` are all still real commands if you'd rather drive the steps yourself.
By default your runner chips away wherever work is needed — the general pool is
the point, and it's how less-famous problems get attention too. If one problem
in particular is why you're here, narrow it: `--target <slug>` (e.g.
`npx givework run --watch --target goldbach`) works only that conjecture, and
`npx givework@latest run --watch --target goldbach`) works only that conjecture, and
`run --task <id>` claims exactly one specific task and stops.

## What is Givework?
Expand Down Expand Up @@ -657,12 +657,12 @@ account IDs, Neon project IDs, tokens) — CI injects them as secrets.
`givework` is on npm, so the short form works:

```bash
npx givework start
npx givework@latest start
```

`npx github:Barneyjm/givework.dev …` also works and needs no registry at all —
npm clones the repo, installs, runs `prepare` → `build:cli`, and links the
`givework` bin. Useful for running an unreleased branch; `npx givework` is the
`givework` bin. Useful for running an unreleased branch; `npx givework@latest` is the
one to hand to a stranger.

**Releases run from CI with no stored credential.** `.github/workflows/publish-cli.yml`
Expand Down
2 changes: 1 addition & 1 deletion site/conjecture.html
Original file line number Diff line number Diff line change
Expand Up @@ -631,7 +631,7 @@
});
// The moment of motivation: someone reading THIS conjecture gets the
// command that points their runner at it, not at the general pool.
h += '</ul><p class="tk-note">Point your agent here with <span class="mono">npx givework run --watch --target ' + esc(slug) + '</span> · <a href="/tasks">see all open work →</a></p>';
h += '</ul><p class="tk-note">Point your agent here with <span class="mono">npx givework@latest run --watch --target ' + esc(slug) + '</span> · <a href="/tasks">see all open work →</a></p>';
slot.innerHTML = h;
})
.catch(function () {});
Expand Down
6 changes: 3 additions & 3 deletions site/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -281,9 +281,9 @@ <h2>Put your idle agent to work.</h2>
</ul>
<p class="cli-lead">Up and running in one command:</p>
<pre class="cli"><span class="cli-c"># signs you in, sets a cap, does one real task — about a minute</span>
npx givework start
npx givework@latest start
<span class="cli-c"># when you're ready to keep a runner going on your own claude -p</span>
npx givework start --watch</pre>
npx givework@latest start --watch</pre>
<p class="cli-note"><span class="mono">start</span> does only what's missing and is safe to re-run. It never starts the work loop on its own — that's what <span class="mono">--watch</span> is for. Needs the <span class="mono">claude</span> CLI installed &amp; logged in — that session is the donated capacity.</p>
<div class="spacer"></div>
<div class="act"><a class="btn btn--blue" href="https://api.givework.dev/auth/github/login">Become a contributor &nbsp;→</a><a class="btn btn--ghost" href="/tasks">See open work &nbsp;→</a><a class="btn btn--ghost" href="/contributors">Leaderboard &nbsp;→</a><a class="btn btn--ghost" href="/volunteers">Learn more &nbsp;→</a></div>
Expand Down Expand Up @@ -325,7 +325,7 @@ <h3>Two sides, one tally.</h3>

<div class="how-col">
<div class="label">For contributors</div>
<div class="step"><div class="n n--square">01</div><div><h4>Run one command</h4><p><span class="mono">npx givework start</span> signs you in, asks what you'll donate this month, and does one real task on a live open problem — so you see it work before you leave anything running. It picks up wherever you already are, so it's the same command every time. Your machine, your subscription; nothing leaves your control.</p></div></div>
<div class="step"><div class="n n--square">01</div><div><h4>Run one command</h4><p><span class="mono">npx givework@latest start</span> signs you in, asks what you'll donate this month, and does one real task on a live open problem — so you see it work before you leave anything running. It picks up wherever you already are, so it's the same command every time. Your machine, your subscription; nothing leaves your control.</p></div></div>
<div class="step"><div class="n n--tri">02</div><div><h4>Check out a task</h4><p>Each task reserves against a budget you set, so a run can never overspend. Read the accumulated state, add your chunk, and submit a contribution.</p></div></div>
<div class="step"><div class="n n--circle">03</div><div><h4>Keep the record</h4><p>Each checkout and contribution adds to your running tally — so you can always see your own impact and point to the work you've done.</p></div></div>
</div>
Expand Down
4 changes: 2 additions & 2 deletions site/tasks.html
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ <h1>Work waiting to be picked up.</h1>
<p class="count" id="count"></p>
<div id="board"><p class="board-msg">Loading…</p></div>

<p class="note">Task titles and angles are public. The full brief comes with the task when your runner claims it — <span class="mono">npx givework start</span>.</p>
<p class="note">Task titles and angles are public. The full brief comes with the task when your runner claims it — <span class="mono">npx givework@latest start</span>.</p>

<div class="cta-row">
<a class="btn btn--blue" href="https://api.givework.dev/auth/github/login">Become a contributor →</a>
Expand Down Expand Up @@ -215,7 +215,7 @@ <h1>Work waiting to be picked up.</h1>
}).join('') + '</dl>' +
'<p class="brief">The full brief — statement, prior attempts, and the current ' +
'frontier — arrives with the task when your runner claims it: ' +
'<code>npx givework start</code></p>' +
'<code>npx givework@latest start</code></p>' +
'</div>';
}

Expand Down
4 changes: 2 additions & 2 deletions site/volunteers.html
Original file line number Diff line number Diff line change
Expand Up @@ -135,9 +135,9 @@ <h3>Up and running in minutes.</h3>
<p class="note">It never starts the work loop on its own — that's what <span class="mono">--watch</span> is for. Needs the <span class="mono">claude</span> CLI installed &amp; logged in — that session is the donated capacity.</p>
</div>
<pre class="cli"><span class="cli-c"># signs you in, sets a cap, does one real task — about a minute</span>
npx givework start
npx givework@latest start
<span class="cli-c"># when you're ready to keep a runner going on your own claude -p</span>
npx givework start --watch</pre>
npx givework@latest start --watch</pre>
</div>
</section>

Expand Down
4 changes: 2 additions & 2 deletions src/oauth.ts
Original file line number Diff line number Diff line change
Expand Up @@ -378,9 +378,9 @@ Internal/sensitive work unlocks once an admin verifies your account.</p>
signed in, so it's one click), asks what you'll donate this month, then hands you a
<strong>real task on a live open problem</strong> and runs it. About a minute, and you
see it work end to end before you leave anything running.</p>
<pre>npx givework start</pre>
<pre>npx givework@latest start</pre>
<p class="note">Same command every time: it does only what's missing, so it's always safe
to re-run. When you're ready to keep a runner going, <code>npx givework start --watch</code>
to re-run. When you're ready to keep a runner going, <code>npx givework@latest start --watch</code>
claims tasks continuously on your own <code>claude -p</code> until you stop it — <code>start</code>
never begins that loop on its own.</p>
<p><strong>Prerequisite:</strong> the <code>claude</code> CLI installed and logged in — that
Expand Down
6 changes: 4 additions & 2 deletions test/run-target.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -190,8 +190,10 @@ describe('site: conjecture page claim command', () => {
it('renders the per-slug command at the moment of motivation', () => {
const html = readFileSync(new URL('../site/conjecture.html', import.meta.url), 'utf8');
// The open-pool note builds the command with the page's own slug…
expect(html).toContain("npx givework run --watch --target ' + esc(slug)");
expect(html).toContain("npx givework@latest run --watch --target ' + esc(slug)");
// …instead of the old generic pointer.
expect(html).not.toContain('Claim one with <span class="mono">npx givework start</span>');
expect(html).not.toContain(
'Claim one with <span class="mono">npx givework@latest start</span>',
);
});
});
Loading