Docs/Config
Project config
.lumpcode/project.json is committed. It names the project and can set team defaults every lump inherits.
On this page
lumpcode project-setup writes this file next to .git. Commit it.
{
"projectName": "my-monorepo",
"primaryBranch": "dev",
"command": "cursor",
"maximumNumberOfConcurrentBranches": 2
}Fields
| Field | Required | Notes |
|---|---|---|
projectName |
yes | Letters, digits, _, - only. Daemon filenames and ~/.lumpcode/project-copies/<projectName>/. |
primaryBranch or primaryBranches |
yes after merge with local | Integration line. Either this file or local.json may supply it; local wins. Deprecated alias: projectBaseBranch. |
command |
no | Lump default. Tag only, not a .ts path. |
maximumNumberOfConcurrentBranches |
no | Lump default. |
keepHistory |
no | Lump default. |
refreshCommand |
no | Dedicated worker only. Shell to run after fetch on each scan branch before lumps load (submodules, codegen). Local wins. Ignored by run and by shared mode. |
Unknown keys fail. Do not put mode, workspaceStrategy, disabled, maxParallelRun, or verbose here. Those are local.
project-setup infers projectName from git remote get-url origin or the directory basename if you omit --projectName. --primaryBranch defaults to main.
Merge
Shared keys present on both project and local: local wins. After merge, a primary source is required.
Lump defaults (command, maximumNumberOfConcurrentBranches, keepHistory): lump > local > project, only when the lump leaves the field undefined.
A worker process reads this merge once at start. Restart the worker after you change either file.
What to commit
A project root is a directory that contains both .git/ and .lumpcode/. Commit project.json and lump folders with the product code. Gitignore local.json. project-setup already appends local.json, history/, .cache/, worktrees/, and contextStatusRecord.json to .gitignore.