Read from your own registry at ~/.claude/project-kit/registry.json. Project
data is deliberately never committed to this repo — the repo is the tool.
No projects yet. Run /ideate <your idea> in a project directory and this table fills itself from ~/.claude/project-kit/registry.json.
claude plugin marketplace add miricoder/project-kit
claude plugin install project-kit
Then /reload-plugins, or start a new session. Verify with
claude plugin details project-kit; update later with
claude plugin update project-kit.
Requires Claude Code 2.x or newer — plugin support. Check
claude --version; upgrade with
npm i -g @anthropic-ai/claude-code@latest.
/ideate I want an app that tracks my houseplants
/pipeline # where are we, what runs next
/pipeline mode yolo # manual | auto | yolo
/pipeline run --to design
| Mode | Behaviour | Stops |
|---|---|---|
manual | Stops after every phase and offers a menu | every phase |
auto (default) | Advances between phases, stopping at the four checkpoints | 4 checkpoints |
yolo | End to end with no pipeline stops, subject to the budget cap | none |
yolo removes Project Kit's checkpoints. It cannot remove
Claude Code's own tool-permission prompts — those are harness-level and no plugin can
suppress them. For a genuinely unattended run, allowlist them too:
// ~/.claude/settings.json
{
"permissions": {
"allow": ["Bash(python3:*)", "Bash(git:*)", "Bash(gh:*)", "Edit", "Write"]
}
}
/pipeline mode yolo reports whether this is configured, so the mode never
looks hands-off while silently waiting on a prompt.
Every project carries budget.max_usd in its pipeline.json.
yolo adds no confirmation stops but still halts when spend passes the ceiling —
what that rules out is an unattended REJECT → re-judge →
REJECT loop burning credit with nobody watching.
The judge gate needs three verdicts from three different model families. Two rules are enforced in code, not left to judgement:
| Transport | When |
|---|---|
api_key | A real API key exists. Fully automated |
cli | A subscription-backed CLI — e.g.
npm i -g @openai/codex reuses an existing ChatGPT login, no API key and no
extra cost |
paste | Neither. The brief is rendered for you to paste, and the returned JSON is validated before being accepted |
A ChatGPT subscription is not an OpenAI API key. Using
api_key for that seat means paying for API usage separately;
cli avoids it.
No keys at all? Name three families you will paste for by hand —
PROJECT_KIT_PASTE_SEATS=google,moonshot,openai in
~/.claude/project-kit/.env — and the panel can sit. Every reply is
validated against the judge form before it counts, however it arrived.
Every judge rates the same nine criteria and replies in one fixed format; the three
verdicts are combined by a fixed rule (the median by severity) into
docs/ruling.md, which shows every judge's rating on every criterion. The full
form is skills/handover/references/judge-form.md.
| What | Where |
|---|---|
| Per-project phase state, gates, mode, budget | <project>/pipeline.json |
| Human-readable project snapshot | <project>/.github/projects/<name>.md |
| Registry of all projects, for the table above | ~/.claude/project-kit/registry.json |