Projects
A project is a repository registered with OpenLoop under an alias. Linking is lightweight (a line in the global registry), and initialization materializes the repo’s control plane.
Linking
Section titled “Linking”openloop project add api ~/work/api --init- The alias (
api) is what every other command uses (-p/--project). --initimmediately materializes templates (otherwise runopenloop project init apilater, useful if you want to register first and review what will be written).- If the alias already exists, the command fails; pass
--forceto update the path instead.
Initialization writes (idempotently):
| File | Purpose |
|---|---|
.openloop/project.json |
Per-project config, reference |
.openloop/policy.yaml |
Scope & risk policy, concepts |
.openloop/tasks.json (+ schema) |
Empty task ledger |
.pi/SYSTEM.md, .pi/APPEND_SYSTEM.md |
Agent system prompts |
.agents/skills/openloop/SKILL.md |
Agent workflow instructions |
AGENTS.md |
A fenced <!-- openloop:start --> … <!-- openloop:end --> section is merged in |
Re-running project init --force backs up the existing .openloop/ to .openloop/backup/<timestamp>/ before overwriting.
The registry
Section titled “The registry”~/.openloop/projects.json maps aliases to absolute paths and records whether the control plane was initialized. openloop project list (or --format json) shows the current state; project show <alias> prints one entry.
openloop project listalias initialized pathapi true /home/you/work/apiweb true /home/you/work/webscripts false /home/you/work/scriptsActivation
Section titled “Activation”openloop project activate apiSets the daemon’s preference. With the default round-robin selection strategy every initialized project gets a turn; with priority, the active project is preferred whenever it has work (see scheduling).
Unlinking
Section titled “Unlinking”openloop project remove apiRemoves the registry entry only. Everything inside the repository (.openloop/, prompt files, ledger history) is preserved, safe to run at any time, and safe to re-link later with project add.