Repository navigation
Project Structure
When you run /pbr:new-project or /pbr:setup, Plan-Build-Run creates a .planning/ directory in your project root. This directory holds all project state and survives across sessions, context resets, and machine reboots.
.planning/
βββ PROJECT.md # Project vision, scope, goals, and context (locked decisions)
βββ REQUIREMENTS.md # Scoped requirements with REQ-IDs (traceable)
βββ ROADMAP.md # Phase structure with status tracking
βββ STATE.md # Current position + history β the source of truth
βββ config.json # Workflow preferences (12 top-level keys)
βββ phases/
β βββ 01-foundation/
β β βββ 01-01-PLAN.md # Executable plan with must-haves and wave assignment
β β βββ 01-02-PLAN.md # Second plan in the phase
β β βββ SUMMARY-01-01.md # Execution results from the executor
β β βββ SUMMARY-01-02.md # Execution results for plan 02
β β βββ VERIFICATION.md # 3-layer verification report
β βββ 02-auth/
β βββ 02-01-PLAN.md
β βββ SUMMARY-02-01.md
β βββ VERIFICATION.md
βββ research/ # Phase research outputs from researcher agents
β βββ phase-01-domain.md
β βββ phase-01-approach.md
β βββ phase-02-domain.md
βββ seeds/ # Future-phase idea triggers from /pbr:explore
β βββ auth-approach.seed.md
βββ todos/
β βββ pending/ # Active todo items (one file per todo)
β β βββ 001-setup-ci.md
β β βββ 002-add-tests.md
β βββ done/ # Completed todos (moved here by /pbr:check-todos)
β βββ 003-init-repo.md
βββ notes/ # Idea captures from /pbr:note (one file per note)
β βββ 2026-03-01-auth-approach.md
βββ debug/ # Hypothesis-driven debug sessions from /pbr:debug
β βββ session-001/
βββ milestones/ # Milestone archives (directory-based)
β βββ v1.0.0/
β βββ ROADMAP.md
β βββ STATS.md
β βββ phases/
βββ quick/ # Quick task tracking from /pbr:quick
β βββ 001-fix-typo/
β βββ PLAN.md
β βββ SUMMARY.md
βββ audits/ # Session audit reports from /pbr:audit
β βββ 2026-03-01-session-audit.md
βββ codebase/ # Codebase scan outputs from /pbr:map-codebase
β βββ map.md
βββ logs/ # Hook activity logs (JSONL, max 200 entries)
βββ .hook-log
| v1 | v2.0.0 | Migration |
|---|---|---|
CONTEXT.md (standalone file) |
PROJECT.md ## Context section |
Locked decisions are now part of the project file |
HISTORY.md (standalone file) |
STATE.md ## History section |
State and history are unified in one file |
PLAN-01.md naming |
{NN}-{MM}-PLAN.md naming (e.g., 01-01-PLAN.md) |
Phase number prefix enables cross-phase references |
| 27 skills | 28 skills + 41 commands | New skills: statusline, plus command aliases |
The single source of truth for where you are in the project. Updated automatically by hooks and CLI tools.
Contains:
- Current phase number and name
- Current step (planning, building, reviewing)
- Phase progress (plans completed / total)
- Last action taken
- History of completed phases and milestones
- Any active locks or in-progress operations
A markdown table listing all phases with:
- Phase number and name
- Goal description
- Status (planned, in-progress, complete)
- Plan count (completed/total)
- Dependencies on other phases
Project vision, scope, and high-level goals. Includes a ## Context section with locked decisions and constraints (previously stored in the separate CONTEXT.md). Written by /pbr:new-project and updated by /pbr:discuss-phase.
Each plan file follows a required format (enforced by hooks):
- YAML frontmatter with wave assignment, plan number, description
- Must-haves section declaring what the plan must achieve
- XML
<task>elements with action steps and verification commands - Dependencies on other plans
Plan naming: {NN}-{MM}-PLAN.md where NN is the phase number and MM is the plan number within the phase.
Written by the verifier agent after /pbr:verify-work. Contains three-layer check results:
- Existence: Does the file/function/route exist?
- Substance: Is it implemented (not a stub or placeholder)?
- Wiring: Is it connected to the rest of the system (imported, called, routed)?
Workflow configuration with 12 top-level keys. See Configuration for the full reference.
| File | Written By | Read By |
|---|---|---|
PROJECT.md |
/pbr:new-project, /pbr:discuss-phase
|
All skills and agents |
REQUIREMENTS.md |
/pbr:new-project |
Planner, verifier |
ROADMAP.md |
/pbr:new-project, planner, pbr-tools.cjs
|
All skills |
STATE.md |
pbr-tools.cjs CLI, hooks |
All skills, progress-tracker.js
|
{NN}-{MM}-PLAN.md |
Planner agent | Executor, plan-checker, verifier |
SUMMARY-*.md |
Executor agent | Verifier, review skill |
VERIFICATION.md |
Verifier agent | Review skill, /pbr:plan-milestone-gaps
|
research/*.md |
Researcher agent | Planner |
seeds/*.seed.md |
/pbr:explore |
Planner (auto-injected) |
todos/pending/*.md |
/pbr:add-todo |
/pbr:check-todos, /pbr:statusline
|
quick/*/PLAN.md |
/pbr:quick |
Executor |
milestones/*/ |
/pbr:complete-milestone |
/pbr:audit-milestone |
codebase/map.md |
/pbr:map-codebase |
Planner, researcher |
Add .planning/ to your .gitignore unless you want to track planning state in version control. Some teams find it useful to commit planning artifacts for audit trails.