Docs/Start
Leave a worker running
In the morning, branches are waiting. You merge, you push a new lump, the worker picks it up. Nothing to deploy.
Start it once
On a clone you never develop in, run lumpcode start. It discovers every lump in the repo and works through them on a schedule.
Push a new lump
Nothing to deploy, register, or restart. The worker fetches your primary branch on its next pass and finds the new lump on its own.
Branches arrive
It works through each lump context by context and pushes a branch per run. You open the pull requests and merge from wherever you are.
1. First PR already done
If you have not run a lump by hand yet, do that first: From install to the first PR. .lumpcode/ must already be committed and pushed. This page is only the worker.
2. A second clone
Clone the same repo into a folder you never edit. Another directory on this laptop is enough, for example ~/lumpcode-worker. A small always-on box is later, not required.
3. Start it
.lumpcode/ is already in the repo, so do not run project-setup on the worker. Put the CLI on this clone, install project deps, write .lumpcode/local.json, then start. The worker also needs Node.js 22+, git user.name and user.email, git origin fetch and push, and a CLI agent on PATH (already logged in).
{
"mode": "dedicated"
}mode: dedicated wipes uncommitted work on this clone. Do not pick it for a checkout you also edit.
npm install -g @lumpcode/cli
npm install
lumpcode start
lumpcode daemon-statuslumpcode start with no filters discovers every lump on a schedule. You do not restart for new lumps.
Later: lumpcode daemon-status, lumpcode daemon-log, lumpcode stop.
Writing TypeScript lumps? Add @lumpcode/cli-utils and @lumpcode/recipes to this project's package.json on the laptop, then npm install here. The global CLI does not provide those packages.
4. Back to the laptop
Author as in the first PR. Preview with lumpcode lump-plan <lumpName>. Commit, push, and merge to the primary branch. The worker fetches that branch on its next pass.
- Every finished context gets a
LUMP: <lumpName> - <context>marker commit on alump/…branch. Open a PR. If you squash, keep that line. - Merge what is good. The next pass skips finished contexts and picks another.
- To pause a campaign, set
disabled: trueon the lump, push, and merge. The next pass soft-skips it. The worker stays up.
Depth: local.json, run vs start.