Five kinds of project, and why a preset leaves your config file short.
View raw Markdown · llms.txt · For agents
loop init writes loop.config.yaml from a preset, and a preset is a set of defaults, not a template to
fill in. Everything the preset already says is left out of the file it writes, so the config diff a reviewer
reads shows what this project decided differently — and nothing else.
npx ak-harness loop init --preset monorepo
npx ak-harness loop init --dry-run # print what it would write| Preset | Shapes it assumes |
|---|---|
web-app | An app with a build and a test suite, a base branch, CI as the gate |
library | A package with a strict suite and a changelog; documentation matters more than deploys |
monorepo | Many packages: layers are worth drawing, and a layer's own test closes an issue |
data-pipeline | Long-running jobs, fixtures, verification that is not "run the tests" |
mobile | A build that is slow enough that the cheap check before the expensive review matters most |
The preset sits below every layer as extends:: anything the project, team or machine states wins over it.
What loop init asks
Only what a preset cannot answer:
- the repository (
owner/name) and the project name; - the tracker team key and workspace;
- whose queue this machine drains.
Everything else has a default that is right often enough to be a default. --global also creates
~/.agentskit/harness.yaml when it does not exist — the providers, binaries and channels that belong to the
machine rather than to any one project.
Growing out of a preset
The two knobs worth turning first both raise the bar rather than the spend:
dod:
items:
- { id: tests, description: the suite is green, kind: command, command: [pnpm, test] }
delivery:
review:
minSeverity: med # nit < med < high < blockerAnd the one worth turning when a monorepo starts to hurt:
layers:
- id: L2-runtime
label: 'layer:L2'
paths: ['packages/runtime/**']
verify: pnpm test packages/runtimeAfter that, read the configuration reference: it is generated from the schema, so it is never ahead of or behind the code.