context-planning 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +454 -0
  3. package/bin/commands/_helpers.js +53 -0
  4. package/bin/commands/_usage.js +67 -0
  5. package/bin/commands/capture.js +46 -0
  6. package/bin/commands/codebase-status.js +41 -0
  7. package/bin/commands/complete-milestone.js +57 -0
  8. package/bin/commands/config.js +70 -0
  9. package/bin/commands/doctor.js +139 -0
  10. package/bin/commands/gsd-import.js +90 -0
  11. package/bin/commands/inbox.js +81 -0
  12. package/bin/commands/index.js +33 -0
  13. package/bin/commands/init.js +87 -0
  14. package/bin/commands/install.js +43 -0
  15. package/bin/commands/scaffold-codebase.js +53 -0
  16. package/bin/commands/scaffold-milestone.js +58 -0
  17. package/bin/commands/scaffold-phase.js +65 -0
  18. package/bin/commands/status.js +42 -0
  19. package/bin/commands/statusline.js +108 -0
  20. package/bin/commands/tick.js +49 -0
  21. package/bin/commands/version.js +9 -0
  22. package/bin/commands/worktree.js +218 -0
  23. package/bin/commands/write-summary.js +54 -0
  24. package/bin/cp.cmd +2 -0
  25. package/bin/cp.js +54 -0
  26. package/commands/cp/capture.md +107 -0
  27. package/commands/cp/complete-milestone.md +166 -0
  28. package/commands/cp/execute-phase.md +220 -0
  29. package/commands/cp/map-codebase.md +211 -0
  30. package/commands/cp/new-milestone.md +136 -0
  31. package/commands/cp/new-project.md +132 -0
  32. package/commands/cp/plan-phase.md +195 -0
  33. package/commands/cp/progress.md +147 -0
  34. package/commands/cp/quick.md +104 -0
  35. package/commands/cp/resume.md +125 -0
  36. package/commands/cp/write-summary.md +33 -0
  37. package/docs/MIGRATION-v0.5.md +140 -0
  38. package/docs/architecture.md +189 -0
  39. package/docs/superpowers/plans/2026-05-20-v0-7-plan-16-01-design-md-infrastructure.md +1064 -0
  40. package/docs/superpowers/plans/2026-05-20-v0-7-plan-16-02-review-log-infrastructure.md +418 -0
  41. package/docs/superpowers/plans/2026-05-20-v0-7-plan-16-03-key-decisions-hard-block.md +295 -0
  42. package/docs/superpowers/specs/2026-05-20-generic-provider-harness-detection-design.md +380 -0
  43. package/docs/superpowers/specs/2026-05-20-v0-7-design-capture-design.md +400 -0
  44. package/docs/writing-providers.md +76 -0
  45. package/install/aider.js +204 -0
  46. package/install/claude.js +116 -0
  47. package/install/common.js +65 -0
  48. package/install/copilot.js +86 -0
  49. package/install/cursor.js +120 -0
  50. package/install/echo-provider.js +50 -0
  51. package/lib/codebase-mapper.js +169 -0
  52. package/lib/detect.js +280 -0
  53. package/lib/frontmatter.js +72 -0
  54. package/lib/gsd-compat.js +165 -0
  55. package/lib/import.js +543 -0
  56. package/lib/inbox.js +226 -0
  57. package/lib/lifecycle.js +929 -0
  58. package/lib/merge.js +157 -0
  59. package/lib/milestone.js +595 -0
  60. package/lib/paths.js +191 -0
  61. package/lib/provider.js +168 -0
  62. package/lib/roadmap.js +134 -0
  63. package/lib/state.js +99 -0
  64. package/lib/worktree.js +253 -0
  65. package/package.json +45 -0
  66. package/templates/DESIGN.md +78 -0
  67. package/templates/INBOX.md +13 -0
  68. package/templates/MILESTONE-CONTEXT.md +40 -0
  69. package/templates/MILESTONES.md +29 -0
  70. package/templates/PLAN.md +84 -0
  71. package/templates/PROJECT.md +43 -0
  72. package/templates/REVIEW-LOG.md +38 -0
  73. package/templates/ROADMAP.md +34 -0
  74. package/templates/STATE.md +78 -0
  75. package/templates/SUMMARY.md +75 -0
  76. package/templates/codebase/ARCHITECTURE.md +30 -0
  77. package/templates/codebase/CONCERNS.md +30 -0
  78. package/templates/codebase/CONVENTIONS.md +30 -0
  79. package/templates/codebase/INTEGRATIONS.md +30 -0
  80. package/templates/codebase/STACK.md +26 -0
  81. package/templates/codebase/STRUCTURE.md +32 -0
  82. package/templates/codebase/TESTING.md +39 -0
  83. package/templates/config.json +173 -0
  84. package/templates/phase-PLAN.md +32 -0
  85. package/templates/quick-PLAN.md +24 -0
  86. package/templates/quick-SUMMARY.md +25 -0
@@ -0,0 +1,78 @@
1
+ # Project State
2
+
3
+ ## Project Reference
4
+
5
+ See: .planning/PROJECT.md (updated {{DATE}})
6
+
7
+ **Core value:** {{CORE_VALUE}}
8
+ **Current focus:** {{CURRENT_PHASE_NAME}}
9
+
10
+ ## Current Position
11
+
12
+ Phase: {{PHASE_NUM}} of {{TOTAL_PHASES}} ({{CURRENT_PHASE_NAME}})
13
+ Plan: {{PLAN_NUM}} of {{TOTAL_PLANS_IN_PHASE}} in current phase
14
+ Status: {{STATUS}}
15
+ Last activity: {{DATE}} — {{LAST_ACTIVITY}}
16
+
17
+ Progress: [░░░░░░░░░░] 0%
18
+
19
+ ## Performance Metrics
20
+
21
+ **Velocity:**
22
+ - Total plans completed: 0
23
+ - Average duration: -
24
+ - Total execution time: -
25
+
26
+ **By Phase:**
27
+
28
+ | Phase | Plans | Total | Avg/Plan |
29
+ |-------|-------|-------|----------|
30
+ | - | - | - | - |
31
+
32
+ **Recent Trend:**
33
+ - Last 5 plans: -
34
+ - Trend: -
35
+
36
+ *Updated after each plan completion.*
37
+
38
+ ## Accumulated Context
39
+
40
+ ### Decisions
41
+
42
+ <!-- Recent decisions; full log in PROJECT.md "Key Decisions". -->
43
+
44
+ (none yet)
45
+
46
+ ### Pending Todos
47
+
48
+ <!-- Captured during sessions (e.g., via /cp-capture in a future release). -->
49
+
50
+ (none yet)
51
+
52
+ ### Blockers / Concerns
53
+
54
+ <!-- Issues that affect future work. -->
55
+
56
+ (none yet)
57
+
58
+ ## Deferred Items
59
+
60
+ Items acknowledged and carried forward from previous milestone close:
61
+
62
+ | Category | Item | Status | Deferred At |
63
+ |----------|------|--------|-------------|
64
+ | *(none)* | | | |
65
+
66
+ ## Quick Tasks Completed
67
+
68
+ <!-- Appended by /cp-quick on completion. GSD-compatible table. -->
69
+
70
+ | Date | Slug | One-liner |
71
+ |------|------|-----------|
72
+ | *(none yet)* | | |
73
+
74
+ ## Session Continuity
75
+
76
+ Last session: {{DATE}}
77
+ Stopped at: {{LAST_ACTIVITY}}
78
+ Resume file: {{CONTINUE_HERE_PATH_OR_NONE}}
@@ -0,0 +1,75 @@
1
+ ---
2
+ phase: {{PHASE_DIR}}
3
+ plan: {{PLAN_NUM_PADDED}}
4
+ subsystem: {{SUBSYSTEM}}
5
+ tags: []
6
+
7
+ # Dependency graph
8
+ requires: []
9
+ provides: []
10
+ affects: []
11
+
12
+ # Tech tracking
13
+ tech-stack:
14
+ added: []
15
+ patterns: []
16
+
17
+ key-files:
18
+ created: []
19
+ modified: []
20
+
21
+ key-decisions: []
22
+ patterns-established: []
23
+
24
+ requirements-completed: []
25
+
26
+ # Metrics
27
+ duration: {{DURATION_MIN}}min
28
+ completed: {{COMPLETED_DATE}}
29
+ ---
30
+
31
+ # Phase {{PHASE_NUM}}: {{PHASE_NAME}} Summary
32
+
33
+ **{{ONE_LINER}}**
34
+
35
+ ## Performance
36
+
37
+ - **Duration:** {{DURATION_HUMAN}}
38
+ - **Started:** {{STARTED_ISO}}
39
+ - **Completed:** {{COMPLETED_ISO}}
40
+ - **Tasks:** {{TASKS_COUNT}}
41
+ - **Files modified:** {{FILES_COUNT}}
42
+
43
+ ## Accomplishments
44
+
45
+ <!-- 2-4 bullets — substantive outcomes, NOT "phase complete". -->
46
+
47
+ ## Task Commits
48
+
49
+ <!-- One line per task; atomic commit hashes. -->
50
+
51
+ ## Files Created / Modified
52
+
53
+ <!-- `path/to/file.ext` — what it does -->
54
+
55
+ ## Decisions Made
56
+
57
+ <!-- Key decisions with brief rationale, or "None — followed plan as written". -->
58
+
59
+ ## Deviations from Plan
60
+
61
+ <!-- "None — plan executed exactly as written" OR list of auto-fixes. -->
62
+
63
+ ## Issues Encountered
64
+
65
+ <!-- Problems during planned work and how they were resolved, or "None". -->
66
+
67
+ ## Next Phase Readiness
68
+
69
+ <!-- What's ready, any blockers/concerns to surface in STATE.md. -->
70
+
71
+ ---
72
+ *Phase: {{PHASE_DIR}}*
73
+ *Plan: {{PLAN_NUM_PADDED}}*
74
+ *Provider: {{PROVIDER}} ({{EXECUTE_SKILL}})*
75
+ *Completed: {{COMPLETED_DATE}}*
@@ -0,0 +1,30 @@
1
+ # Architecture
2
+
3
+ Generated: {{DATE}} — fill via `/cp-map-codebase` (arch focus).
4
+
5
+ High-level system shape. The "how the pieces fit" reference loaded by
6
+ `/cp-plan-phase` for backend/API/data work.
7
+
8
+ ## Architectural style
9
+
10
+ <!-- e.g. layered, hexagonal, MVC, plugin/host, event-driven. One short paragraph. -->
11
+
12
+ ## Module boundaries
13
+
14
+ <!-- List the top-level modules and what each owns. Cite directory paths. -->
15
+
16
+ ## Data flow
17
+
18
+ <!-- Trace one canonical request/event end-to-end through the modules. File paths at each hop. -->
19
+
20
+ ## Key design patterns
21
+
22
+ <!-- Patterns the codebase actively uses (Repository, Factory, Strategy, …) with file refs. -->
23
+
24
+ ## Cross-cutting concerns
25
+
26
+ <!-- Logging, auth, caching, config, error handling — where each is implemented. -->
27
+
28
+ ## Boundaries the executor must respect
29
+
30
+ <!-- "Never import X from Y." "All HTTP goes through `src/http/`." Prescriptive rules. -->
@@ -0,0 +1,30 @@
1
+ # Known Concerns
2
+
3
+ Generated: {{DATE}} — fill via `/cp-map-codebase` (concerns focus).
4
+
5
+ Tech debt, fragility, and pitfalls the executor should be aware of. Drives
6
+ refactor / cleanup phases. Be specific — vague concerns are not actionable.
7
+
8
+ ## Critical
9
+
10
+ <!-- Anything that could cause data loss, security issues, or production outages. Include impact + fix approach. -->
11
+
12
+ ## High
13
+
14
+ <!-- Real bugs or fragility with clear impact. File path + line range + symptom. -->
15
+
16
+ ## Medium
17
+
18
+ <!-- Refactor candidates, code smells, missing tests in important areas. -->
19
+
20
+ ## Low
21
+
22
+ <!-- Cosmetic, minor inconsistencies, things to clean up opportunistically. -->
23
+
24
+ ## Workarounds & gotchas
25
+
26
+ <!-- "If you change X, also update Y." "This looks unused but is called via reflection." -->
27
+
28
+ ## Areas that look safe to touch
29
+
30
+ <!-- Sections with good test coverage and clear boundaries — explicitly safe for the executor. -->
@@ -0,0 +1,30 @@
1
+ # Code Conventions
2
+
3
+ Generated: {{DATE}} — fill via `/cp-map-codebase` (quality focus).
4
+
5
+ Prescriptive rules — written so the executor can apply them without
6
+ re-reading the rest of the codebase.
7
+
8
+ ## Naming
9
+
10
+ <!-- Functions, variables, types/classes, constants, files. One bullet per rule. -->
11
+
12
+ ## Import / export style
13
+
14
+ <!-- ESM vs CJS, default vs named, ordering, path aliases. Cite an example file. -->
15
+
16
+ ## Error handling
17
+
18
+ <!-- Throw vs Result<T,E>, custom error classes, where errors are caught/logged. -->
19
+
20
+ ## Logging
21
+
22
+ <!-- Logger choice, levels, format, where the logger is initialised. -->
23
+
24
+ ## Comments & docs
25
+
26
+ <!-- When comments are warranted, JSDoc/TSDoc style, README expectations. -->
27
+
28
+ ## Formatting & linting
29
+
30
+ <!-- Formatter (prettier/biome/black), lint config path, command to run, auto-fix command. -->
@@ -0,0 +1,30 @@
1
+ # External Integrations
2
+
3
+ Generated: {{DATE}} — fill via `/cp-map-codebase` (tech focus).
4
+
5
+ Inventory every external system this codebase talks to. Used by phases that
6
+ touch I/O boundaries.
7
+
8
+ ## APIs called
9
+
10
+ <!-- For each: endpoint base URL, auth mechanism, calling file path. -->
11
+
12
+ ## Databases / data stores
13
+
14
+ <!-- Engine + version, schema location, connection-config file path, migration tool. -->
15
+
16
+ ## Message queues / pub-sub
17
+
18
+ <!-- Broker, topic/queue names, producer & consumer file paths. -->
19
+
20
+ ## Auth providers
21
+
22
+ <!-- OAuth/OIDC/JWT/sessions. Token storage strategy. -->
23
+
24
+ ## CI/CD & deployment
25
+
26
+ <!-- Pipeline files (`.github/workflows/*.yml`, etc.), target environments, deploy command. -->
27
+
28
+ ## Secrets & config
29
+
30
+ <!-- Where env vars are loaded (file paths), what is required vs optional. NEVER paste secret values. -->
@@ -0,0 +1,26 @@
1
+ # Tech Stack
2
+
3
+ Generated: {{DATE}} — fill via `/cp-map-codebase` (tech focus).
4
+
5
+ Reference for `/cp-plan-phase` and `/cp-execute-phase` so they don't re-discover
6
+ languages, frameworks, or versions every turn.
7
+
8
+ ## Languages & Runtimes
9
+
10
+ <!-- e.g. Node.js 20.x, TypeScript 5.4, Python 3.11. Cite version source (package.json/pyproject.toml). -->
11
+
12
+ ## Frameworks
13
+
14
+ <!-- Web/UI/backend frameworks with versions and entry-point file paths. -->
15
+
16
+ ## Dependencies (production)
17
+
18
+ <!-- Top ~10 by importance, NOT the full lockfile. Include purpose: "lodash — utility helpers in `src/util/`". -->
19
+
20
+ ## Dependencies (dev tooling)
21
+
22
+ <!-- Build, test, lint, format. Include the npm/script command that drives each. -->
23
+
24
+ ## Package manager & lockfile
25
+
26
+ <!-- npm/pnpm/yarn/uv/poetry. Lockfile path. Install command. -->
@@ -0,0 +1,32 @@
1
+ # Folder Structure
2
+
3
+ Generated: {{DATE}} — fill via `/cp-map-codebase` (arch focus).
4
+
5
+ Answers "where does this new file go?" for `/cp-execute-phase`.
6
+
7
+ ## Top-level layout
8
+
9
+ <!-- Annotated tree of top-level directories with one-line purpose for each. -->
10
+
11
+ ```
12
+ .
13
+ ├── bin/ ← CLI entry points
14
+ ├── lib/ ← runtime modules (no I/O)
15
+ ├── …
16
+ ```
17
+
18
+ ## Folder responsibilities
19
+
20
+ <!-- Per directory: what belongs here, what does NOT, naming pattern for files. -->
21
+
22
+ ## Where do I put a NEW …
23
+
24
+ <!-- New CLI subcommand → … ; new HTTP route → … ; new test → … ; new migration → … -->
25
+
26
+ ## Filename conventions
27
+
28
+ <!-- kebab-case vs camelCase, suffixes (`.test.ts`, `.spec.js`, etc.). -->
29
+
30
+ ## Generated / vendored / ignored
31
+
32
+ <!-- Paths the executor must never edit by hand. Include why. -->
@@ -0,0 +1,39 @@
1
+ # Testing
2
+
3
+ Generated: {{DATE}} — fill via `/cp-map-codebase` (quality focus).
4
+
5
+ The reference `/cp-plan-phase` loads for any test-related work and that
6
+ `/cp-execute-phase` reads before writing tests.
7
+
8
+ ## Test framework & runner
9
+
10
+ <!-- vitest/jest/pytest/etc. Version. Command to run all tests. Command to run one file. -->
11
+
12
+ ## Test file layout
13
+
14
+ <!-- Co-located vs `test/` mirror. Naming pattern (`*.test.ts`, `test_*.py`). -->
15
+
16
+ ## Test naming & structure
17
+
18
+ <!-- describe/it vs flat. AAA pattern. Example from the codebase. -->
19
+
20
+ ## Fixtures & mocks
21
+
22
+ <!-- Where fixtures live, how mocks are wired, http mocking strategy. -->
23
+
24
+ ## What is covered vs not
25
+
26
+ <!-- Honest picture: unit ✓, integration partial, e2e none, etc. Cite which folders are well-covered. -->
27
+
28
+ ## How to run
29
+
30
+ ```
31
+ # all tests
32
+
33
+
34
+ # single file
35
+
36
+
37
+ # coverage
38
+
39
+ ```
@@ -0,0 +1,173 @@
1
+ {
2
+ "mode": "interactive",
3
+ "granularity": "standard",
4
+ "workflow": {
5
+ "research": false,
6
+ "plan_check": false,
7
+ "verifier": false,
8
+ "auto_advance": false,
9
+ "nyquist_validation": false,
10
+ "security_enforcement": false,
11
+ "discuss_mode": "discuss",
12
+ "research_before_questions": false,
13
+ "code_review_command": null,
14
+ "plan_bounce": false,
15
+ "plan_bounce_passes": 2,
16
+ "cross_ai_execution": false,
17
+ "cross_ai_command": "",
18
+ "cross_ai_timeout": 300
19
+ },
20
+ "ship": {
21
+ "pr_body_sections": []
22
+ },
23
+ "planning": {
24
+ "commit_docs": true,
25
+ "search_gitignored": false,
26
+ "sub_repos": []
27
+ },
28
+ "git": {
29
+ "create_tag": false
30
+ },
31
+ "parallelization": {
32
+ "enabled": true,
33
+ "plan_level": true,
34
+ "task_level": false,
35
+ "skip_checkpoints": true,
36
+ "max_concurrent_agents": 3,
37
+ "min_plans_for_parallel": 2
38
+ },
39
+ "gates": {
40
+ "confirm_project": true,
41
+ "confirm_phases": true,
42
+ "confirm_roadmap": true,
43
+ "confirm_breakdown": true,
44
+ "confirm_plan": true,
45
+ "execute_next_plan": true,
46
+ "issues_review": true,
47
+ "confirm_transition": true
48
+ },
49
+ "safety": {
50
+ "always_confirm_destructive": true,
51
+ "always_confirm_external_services": true
52
+ },
53
+ "hooks": {
54
+ "context_warnings": true
55
+ },
56
+ "project_code": null,
57
+ "agent_skills": {},
58
+ "claude_md_path": "./CLAUDE.md",
59
+
60
+ "cp": {
61
+ "$comment": "context-planning settings. GSD ignores unknown top-level keys, so both tools can coexist.",
62
+ "version": 2,
63
+ "workflow_provider": "superpowers",
64
+
65
+ "harnesses": {
66
+ "copilot": {
67
+ "description": "GitHub Copilot CLI",
68
+ "plugin_roots": ["~/.copilot/installed-plugins/*/"]
69
+ },
70
+ "claude": {
71
+ "description": "Claude Code",
72
+ "plugin_roots": ["~/.claude/plugins/", "~/.claude/skills/"]
73
+ },
74
+ "cursor": {
75
+ "description": "Cursor",
76
+ "plugin_roots": ["~/.cursor/extensions/*/"]
77
+ },
78
+ "aider": {
79
+ "description": "Aider (file-based, no plugin slot today)",
80
+ "plugin_roots": []
81
+ }
82
+ },
83
+
84
+ "providers": {
85
+ "superpowers": {
86
+ "description": "Jesse Vincent's Superpowers plugin (https://github.com/obra/superpowers)",
87
+ "plugin_shape": {
88
+ "dir_name": "superpowers",
89
+ "required_subdirs": ["skills/writing-plans", "skills/subagent-driven-development"]
90
+ },
91
+ "detect": {
92
+ "any_of": [
93
+ ".claude/plugins/superpowers",
94
+ ".claude/skills/superpowers",
95
+ ".github/skills/brainstorming",
96
+ ".github/skills/writing-plans",
97
+ ".github/skills/subagent-driven-development",
98
+ "installed-plugins/superpowers-marketplace/superpowers",
99
+ "installed-plugins/superpowers-marketplace/superpowers/skills/writing-plans",
100
+ "installed-plugins/superpowers-marketplace/superpowers/skills/subagent-driven-development"
101
+ ]
102
+ },
103
+ "skills": {
104
+ "brainstorm": "brainstorming",
105
+ "plan": "writing-plans",
106
+ "execute": "subagent-driven-development",
107
+ "execute_simple": "executing-plans",
108
+ "review": "requesting-code-review",
109
+ "receive_review": "receiving-code-review",
110
+ "finish": "finishing-a-development-branch",
111
+ "worktree": "using-git-worktrees",
112
+ "tdd": "test-driven-development",
113
+ "debug": "systematic-debugging",
114
+ "verify": "verification-before-completion"
115
+ }
116
+ },
117
+ "echo-provider": {
118
+ "description": "Schema-test stub. Echoes the role name. Not for end users.",
119
+ "plugin_shape": { "dir_name": "echo-provider", "required_subdirs": [] },
120
+ "detect": { "any_of": [".planning/providers/echo-provider"] },
121
+ "skills": {
122
+ "brainstorm": "echo",
123
+ "plan": "echo",
124
+ "execute": "echo",
125
+ "execute_simple": "echo",
126
+ "review": "echo",
127
+ "receive_review": "echo",
128
+ "finish": "echo",
129
+ "worktree": "echo",
130
+ "tdd": "echo",
131
+ "debug": "echo",
132
+ "verify": "echo"
133
+ }
134
+ },
135
+ "manual": {
136
+ "description": "Inline fallback. cp emits step-by-step instructions instead of delegating to an external skill. Use this when no other workflow provider is installed.",
137
+ "detect": { "always": true },
138
+ "skills": {
139
+ "brainstorm": "cp:manual/brainstorm",
140
+ "plan": "cp:manual/plan",
141
+ "execute": "cp:manual/execute",
142
+ "execute_simple": "cp:manual/execute",
143
+ "review": "cp:manual/review",
144
+ "receive_review": "cp:manual/receive_review",
145
+ "finish": "cp:manual/finish",
146
+ "worktree": "cp:manual/worktree",
147
+ "tdd": "cp:manual/tdd",
148
+ "debug": "cp:manual/debug",
149
+ "verify": "cp:manual/verify"
150
+ },
151
+ "prompts": {
152
+ "brainstorm": "You are running the cp MANUAL brainstorm fallback. Have a back-and-forth conversation with the user to refine the idea: (1) ask ONE clarifying question at a time about goals, constraints, users, success criteria; (2) reflect what you heard before each next question; (3) when the picture feels concrete, write the result to the file the calling cp command nominated (typically .planning/MILESTONE-CONTEXT.md or .planning/PROJECT.md). Do not start coding. Do not edit ROADMAP.md or STATE.md — the cp command owns those.",
153
+ "plan": "You are running the cp MANUAL plan fallback. Read the upstream context the calling cp command pointed you at (MILESTONE-CONTEXT.md, prior SUMMARY.md files, the relevant section of REQUIREMENTS.md if present). Produce a PLAN.md using the template at templates/PLAN.md: GSD-shape frontmatter (phase, plan, type, wave, depends_on, files_modified, autonomous, requirements, must_haves) plus a body that lists discrete <task> blocks. Each <task> needs a one-line goal, the files it touches, and a <verify> command that proves it. Stop after writing PLAN.md — execution is a separate role.",
154
+ "execute": "You are running the cp MANUAL execute fallback. Open PLAN.md and walk it task-by-task. For each <task>: (1) make the smallest change that satisfies the goal; (2) run the <verify> command and report the result; (3) if it passes, mark the task done and commit (one task = one commit, message format: 'cp: {phase}-{plan} — {task name}'); (4) if it fails, stop and ask the user before continuing. After the final task, write SUMMARY.md (template at templates/SUMMARY.md) capturing subsystems/tags/requires/provides/affects/tech-stack/key-files/key-decisions/patterns-established/requirements-completed/duration. Do not tick ROADMAP.md or update STATE.md — the cp execute-phase command does that.",
155
+ "review": "You are running the cp MANUAL review fallback. Read the diff for the last phase commit range. Produce a short review covering: (a) bugs or regressions; (b) deviations from PLAN.md's must_haves; (c) untested edge cases; (d) anything that would surprise a future maintainer. Be specific (file + line). Do not modify code. Output a short markdown report.",
156
+ "receive_review": "You are running the cp MANUAL receive-review fallback. For each review finding, decide: fix now, defer (add to todos/), or reject (with rationale). Apply fixes as small atomic commits. Re-run the relevant <verify> commands after each fix.",
157
+ "finish": "You are running the cp MANUAL finish fallback. Stage the integration of the work just completed. Steps: (1) confirm all PLAN.md <verify> commands still pass; (2) confirm SUMMARY.md is written and ROADMAP.md tick is recorded by cp; (3) print the commit range and a short \"what shipped\" digest; (4) suggest a PR title and body if the project uses PRs; (5) STOP — do not open the PR or push branches without explicit user confirmation.",
158
+ "worktree": "You are running the cp MANUAL worktree fallback. If git is initialised, propose `git worktree add ../<repo>-<phase-slug> <branch>` to isolate this phase's work. Print the exact command. Do not execute it without user confirmation.",
159
+ "tdd": "You are running the cp MANUAL TDD fallback. For each behaviour you're about to implement: (1) write the test first and run it (it must FAIL — confirm the failure mode is the one you expected); (2) write the smallest code that makes it pass; (3) run the full local test suite to confirm no regressions; (4) commit (test + impl together is fine). Never skip step 1.",
160
+ "debug": "You are running the cp MANUAL debug fallback. Use the scientific method: (1) state the observed symptom precisely; (2) state your current hypothesis; (3) design a single experiment that would discriminate the hypothesis from one alternative; (4) run it and report the result; (5) update the hypothesis and repeat. Do not propose a fix until at least one experiment has narrowed the cause.",
161
+ "verify": "You are running the cp MANUAL verify fallback. For the claim 'X is done', enumerate every <verify> command in the relevant PLAN.md and run each. Report PASS/FAIL with the actual output (not just exit code). If anything is FAIL, do not declare the work complete."
162
+ }
163
+ }
164
+ },
165
+ "behavior": {
166
+ "atomic_commits": true,
167
+ "fall_back_to_manual_if_provider_missing": true,
168
+ "auto_update_state_after_phase": true,
169
+ "auto_tick_roadmap_after_phase": true,
170
+ "gsd_compat_mode": true
171
+ }
172
+ }
173
+ }
@@ -0,0 +1,32 @@
1
+ ---
2
+ phase: "{{PHASE_NUM}}"
3
+ name: {{PHASE_NAME}}
4
+ milestone: {{MILESTONE_NAME}}
5
+ status: in-progress
6
+ created: {{DATE}}
7
+ ---
8
+
9
+ # Phase {{PHASE_NUM}}: {{PHASE_NAME}}
10
+
11
+ **Milestone**: {{MILESTONE_NAME}}
12
+ **Created**: {{DATE}}
13
+
14
+ ## Goal
15
+
16
+ {Describe what this phase delivers in 1-2 sentences.}
17
+
18
+ ## Success Criteria
19
+
20
+ <!-- Observable from the user's perspective. -->
21
+ 1. {behavior 1}
22
+ 2. {behavior 2}
23
+
24
+ ## Plans
25
+
26
+ <!-- Each plan is a 1-3 hour atomic unit. Toggle with `cp tick {NN-MM}`. -->
27
+
28
+ {{PLANS_LIST}}
29
+
30
+ ## Notes
31
+
32
+ <!-- Free-form during phase execution. -->
@@ -0,0 +1,24 @@
1
+ ---
2
+ slug: {{SLUG}}
3
+ type: quick
4
+ status: in-progress
5
+ created: {{DATE}}
6
+ ---
7
+
8
+ # Quick Task: {{TITLE}}
9
+
10
+ ## Description
11
+
12
+ {{DESCRIPTION}}
13
+
14
+ ## Approach
15
+
16
+ <!-- Filled in by provider's plan skill (or inlined manually). -->
17
+
18
+ ## Tasks
19
+
20
+ - [ ] {short, file-scoped task with verification}
21
+
22
+ ## Done When
23
+
24
+ <!-- Clear, observable success condition. -->
@@ -0,0 +1,25 @@
1
+ ---
2
+ slug: {{SLUG}}
3
+ type: quick
4
+ status: complete
5
+ created: {{CREATED}}
6
+ completed: {{COMPLETED}}
7
+ duration_minutes: {{DURATION_MIN}}
8
+ provider: {{PROVIDER}}
9
+ ---
10
+
11
+ # Quick Task: {{TITLE}}
12
+
13
+ **{{ONE_LINER}}**
14
+
15
+ ## What Changed
16
+
17
+ - `{path}` — {what}
18
+
19
+ ## Commits
20
+
21
+ - `{hash}` — {message}
22
+
23
+ ## Notes
24
+
25
+ <!-- Anything worth remembering for future sessions. -->