Init / setup

Run init only for a fresh bootstrap: when this workflow has just been copied into a host project and app.md is missing, empty, placeholder, or invalid. Use app-update for host drift or runtime re-probes after bootstrap.

Init requires workflow-internal mode — init is the one agent that must run with cwd = _code_workflow/. Start the session inside _code_workflow/ and paste the bare path below. Every other workflow agent supports either mode — see How to use → Two invocation modes. Init's hand-off prints both forms so you can switch to host-root mode afterward.

Fresh install

Bootstrap app.md and config.json:

App-init
_processes/00_app/app-init.prompt.md

Re-validate later

Re-discover host facts and re-probe runtimes after drift or a major update:

App-update
_processes/00_app/app-update.prompt.md

Files init writes and references

FilePurpose
app.mdHost-project facts only: identity, stack, commands, tests, docs, glossary, never-do rules.
config.jsonPer-host workflow runtime availability. Gitignored. Shape: {"runtimes":{"claude":true,"codex":false}}.
config.example.jsonChecked-in schema reference for config.json; init does not write it.
Non-Claude fallback — init is Claude-only in v1. Codex CLI, Aider, Cursor, and generic agents should follow _docs/how-to-port.md: fill app.md from _processes/00_app/app.template.md, then copy config.example.json to config.json and set the booleans.

After init

Create your first job. From here on you can use either invocation mode — pick one based on where you start your session.

Workflow-internal (cwd = _code_workflow/)
_processes/02_orchestrator/orchestrator.prompt.md
Host-root (cwd = host project root)
_code_workflow/_processes/02_orchestrator/orchestrator.prompt.md