This is a control-plane repo, not a code repo. When you work here you are helping orchestrate and map projects, not shipping application code.
registry/owners.txt— the GitHub owners the map covers, one per line.registry/repos.generated.yaml— generated index of every repo under those owners. Never hand-edit it. To refresh, run./scripts/sync-registry.sh.registry/context/<repo>.md— the human-owned truth about a project: what it is, how it relates to others, current goals. Read the relevant one before reasoning about a project. Keep them short and current.orchestration/playbooks/<name>.md— reusable recipes for running thurbox.orchestration/runs/<date>-<slug>.md— a log per orchestration run.
This repo drives thurbox directly. Do
not invoke an external orchestrate skill or any other outside orchestration
workflow — the control plane is deliberately self-contained.
The loop:
- Clarify the goal. Pick a playbook in
orchestration/playbooks/, or write one. - Open a run log from
orchestration/runs/_TEMPLATE.md, named<YYYY-MM-DD>-<slug>.md. - For each unit of work, launch a thurbox worker session with one self-contained prompt. Workers share no context with you and none with each other, so each prompt states the goal, the constraints, and what "done" looks like, from scratch.
- Each worker targets a real repo and its own git worktree — the control plane holds the plan and the log, never the workers' branches.
- Record every session (name, repo, prompt intent, outcome, PR/artifact) in the run log as it happens. The run log is the source of truth for what happened.
- Review the PRs. Delete each session as it closes out.
.claude/skills/thurbox-session/ is the detailed driving surface for step 3:
spawning, prompting, completion detection, cleanup. Use it.
- After adding, renaming, or archiving a repo — or after editing
registry/owners.txt— run./scripts/sync-registry.shlocally and push. Never edit the generated YAML directly. - When you learn something durable about a project (its purpose shifted, a new
dependency between repos, a parked goal), update its
registry/context/<repo>.md. That file is where judgement lives.
CI only runs on pull requests, and routine control-plane changes go straight to
main. So gate locally before you push: shellcheck scripts/*.sh, and parse
every YAML file.
extension.toml is generated by ./scripts/install-extension.sh and gitignored.
Edit extension.toml.in instead, and re-run the installer.