@sienklogic/plan-build-run 2.3.0 → 2.4.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 (151) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/README.md +54 -20
  3. package/dashboard/src/services/dashboard.service.js +24 -1
  4. package/dashboard/src/services/milestone.service.js +68 -17
  5. package/package.json +1 -1
  6. package/plugins/copilot-pbr/CHANGELOG.md +19 -0
  7. package/plugins/copilot-pbr/README.md +129 -0
  8. package/plugins/copilot-pbr/agents/codebase-mapper.agent.md +109 -0
  9. package/plugins/copilot-pbr/agents/debugger.agent.md +169 -0
  10. package/plugins/copilot-pbr/agents/executor.agent.md +237 -0
  11. package/plugins/copilot-pbr/agents/general.agent.md +88 -0
  12. package/plugins/copilot-pbr/agents/integration-checker.agent.md +88 -0
  13. package/plugins/copilot-pbr/agents/plan-checker.agent.md +199 -0
  14. package/plugins/copilot-pbr/agents/planner.agent.md +181 -0
  15. package/plugins/copilot-pbr/agents/researcher.agent.md +163 -0
  16. package/plugins/copilot-pbr/agents/synthesizer.agent.md +102 -0
  17. package/plugins/copilot-pbr/agents/verifier.agent.md +194 -0
  18. package/plugins/copilot-pbr/hooks/hooks.json +144 -0
  19. package/plugins/copilot-pbr/plugin.json +30 -0
  20. package/plugins/copilot-pbr/references/agent-anti-patterns.md +25 -0
  21. package/plugins/copilot-pbr/references/agent-interactions.md +135 -0
  22. package/plugins/copilot-pbr/references/agent-teams.md +55 -0
  23. package/plugins/copilot-pbr/references/checkpoints.md +158 -0
  24. package/plugins/copilot-pbr/references/common-bug-patterns.md +14 -0
  25. package/plugins/copilot-pbr/references/config-reference.md +442 -0
  26. package/plugins/copilot-pbr/references/continuation-format.md +213 -0
  27. package/plugins/copilot-pbr/references/deviation-rules.md +113 -0
  28. package/plugins/copilot-pbr/references/git-integration.md +227 -0
  29. package/plugins/copilot-pbr/references/integration-patterns.md +118 -0
  30. package/plugins/copilot-pbr/references/model-profiles.md +100 -0
  31. package/plugins/copilot-pbr/references/model-selection.md +32 -0
  32. package/plugins/copilot-pbr/references/pbr-rules.md +194 -0
  33. package/plugins/copilot-pbr/references/plan-authoring.md +182 -0
  34. package/plugins/copilot-pbr/references/plan-format.md +288 -0
  35. package/plugins/copilot-pbr/references/planning-config.md +214 -0
  36. package/plugins/copilot-pbr/references/questioning.md +215 -0
  37. package/plugins/copilot-pbr/references/reading-verification.md +128 -0
  38. package/plugins/copilot-pbr/references/stub-patterns.md +161 -0
  39. package/plugins/copilot-pbr/references/subagent-coordination.md +120 -0
  40. package/plugins/copilot-pbr/references/ui-formatting.md +462 -0
  41. package/plugins/copilot-pbr/references/verification-patterns.md +199 -0
  42. package/plugins/copilot-pbr/references/wave-execution.md +96 -0
  43. package/plugins/copilot-pbr/rules/pbr-workflow.mdc +48 -0
  44. package/plugins/copilot-pbr/setup.ps1 +93 -0
  45. package/plugins/copilot-pbr/setup.sh +92 -0
  46. package/plugins/copilot-pbr/skills/begin/SKILL.md +566 -0
  47. package/plugins/copilot-pbr/skills/begin/templates/PROJECT.md.tmpl +34 -0
  48. package/plugins/copilot-pbr/skills/begin/templates/REQUIREMENTS.md.tmpl +19 -0
  49. package/plugins/copilot-pbr/skills/begin/templates/STATE.md.tmpl +50 -0
  50. package/plugins/copilot-pbr/skills/begin/templates/config.json.tmpl +64 -0
  51. package/plugins/copilot-pbr/skills/begin/templates/researcher-prompt.md.tmpl +20 -0
  52. package/plugins/copilot-pbr/skills/begin/templates/roadmap-prompt.md.tmpl +31 -0
  53. package/plugins/copilot-pbr/skills/begin/templates/synthesis-prompt.md.tmpl +17 -0
  54. package/plugins/copilot-pbr/skills/build/SKILL.md +901 -0
  55. package/plugins/copilot-pbr/skills/config/SKILL.md +253 -0
  56. package/plugins/copilot-pbr/skills/continue/SKILL.md +159 -0
  57. package/plugins/copilot-pbr/skills/dashboard/SKILL.md +31 -0
  58. package/plugins/copilot-pbr/skills/debug/SKILL.md +511 -0
  59. package/plugins/copilot-pbr/skills/debug/templates/continuation-prompt.md.tmpl +17 -0
  60. package/plugins/copilot-pbr/skills/debug/templates/initial-investigation-prompt.md.tmpl +28 -0
  61. package/plugins/copilot-pbr/skills/discuss/SKILL.md +343 -0
  62. package/plugins/copilot-pbr/skills/discuss/templates/CONTEXT.md.tmpl +62 -0
  63. package/plugins/copilot-pbr/skills/discuss/templates/decision-categories.md +10 -0
  64. package/plugins/copilot-pbr/skills/do/SKILL.md +66 -0
  65. package/plugins/copilot-pbr/skills/explore/SKILL.md +374 -0
  66. package/plugins/copilot-pbr/skills/health/SKILL.md +218 -0
  67. package/plugins/copilot-pbr/skills/health/templates/check-pattern.md.tmpl +31 -0
  68. package/plugins/copilot-pbr/skills/health/templates/output-format.md.tmpl +64 -0
  69. package/plugins/copilot-pbr/skills/help/SKILL.md +152 -0
  70. package/plugins/copilot-pbr/skills/import/SKILL.md +498 -0
  71. package/plugins/copilot-pbr/skills/milestone/SKILL.md +703 -0
  72. package/plugins/copilot-pbr/skills/milestone/templates/audit-report.md.tmpl +49 -0
  73. package/plugins/copilot-pbr/skills/milestone/templates/stats-file.md.tmpl +31 -0
  74. package/plugins/copilot-pbr/skills/note/SKILL.md +227 -0
  75. package/plugins/copilot-pbr/skills/pause/SKILL.md +246 -0
  76. package/plugins/copilot-pbr/skills/pause/templates/continue-here.md.tmpl +72 -0
  77. package/plugins/copilot-pbr/skills/plan/SKILL.md +649 -0
  78. package/plugins/copilot-pbr/skills/plan/templates/checker-prompt.md.tmpl +22 -0
  79. package/plugins/copilot-pbr/skills/plan/templates/gap-closure-prompt.md.tmpl +33 -0
  80. package/plugins/copilot-pbr/skills/plan/templates/planner-prompt.md.tmpl +39 -0
  81. package/plugins/copilot-pbr/skills/plan/templates/researcher-prompt.md.tmpl +20 -0
  82. package/plugins/copilot-pbr/skills/plan/templates/revision-prompt.md.tmpl +24 -0
  83. package/plugins/copilot-pbr/skills/quick/SKILL.md +351 -0
  84. package/plugins/copilot-pbr/skills/resume/SKILL.md +399 -0
  85. package/plugins/copilot-pbr/skills/review/SKILL.md +648 -0
  86. package/plugins/copilot-pbr/skills/review/templates/debugger-prompt.md.tmpl +61 -0
  87. package/plugins/copilot-pbr/skills/review/templates/gap-planner-prompt.md.tmpl +41 -0
  88. package/plugins/copilot-pbr/skills/review/templates/verifier-prompt.md.tmpl +116 -0
  89. package/plugins/copilot-pbr/skills/scan/SKILL.md +301 -0
  90. package/plugins/copilot-pbr/skills/scan/templates/mapper-prompt.md.tmpl +202 -0
  91. package/plugins/copilot-pbr/skills/setup/SKILL.md +250 -0
  92. package/plugins/copilot-pbr/skills/shared/commit-planning-docs.md +36 -0
  93. package/plugins/copilot-pbr/skills/shared/config-loading.md +103 -0
  94. package/plugins/copilot-pbr/skills/shared/context-budget.md +41 -0
  95. package/plugins/copilot-pbr/skills/shared/context-loader-task.md +87 -0
  96. package/plugins/copilot-pbr/skills/shared/digest-select.md +80 -0
  97. package/plugins/copilot-pbr/skills/shared/domain-probes.md +126 -0
  98. package/plugins/copilot-pbr/skills/shared/error-reporting.md +80 -0
  99. package/plugins/copilot-pbr/skills/shared/gate-prompts.md +389 -0
  100. package/plugins/copilot-pbr/skills/shared/phase-argument-parsing.md +46 -0
  101. package/plugins/copilot-pbr/skills/shared/progress-display.md +54 -0
  102. package/plugins/copilot-pbr/skills/shared/revision-loop.md +82 -0
  103. package/plugins/copilot-pbr/skills/shared/state-loading.md +63 -0
  104. package/plugins/copilot-pbr/skills/shared/state-update.md +162 -0
  105. package/plugins/copilot-pbr/skills/shared/universal-anti-patterns.md +34 -0
  106. package/plugins/copilot-pbr/skills/status/SKILL.md +362 -0
  107. package/plugins/copilot-pbr/skills/todo/SKILL.md +256 -0
  108. package/plugins/copilot-pbr/templates/CONTEXT.md.tmpl +53 -0
  109. package/plugins/copilot-pbr/templates/INTEGRATION-REPORT.md.tmpl +152 -0
  110. package/plugins/copilot-pbr/templates/RESEARCH-SUMMARY.md.tmpl +98 -0
  111. package/plugins/copilot-pbr/templates/ROADMAP.md.tmpl +41 -0
  112. package/plugins/copilot-pbr/templates/SUMMARY.md.tmpl +82 -0
  113. package/plugins/copilot-pbr/templates/VERIFICATION-DETAIL.md.tmpl +117 -0
  114. package/plugins/copilot-pbr/templates/codebase/ARCHITECTURE.md.tmpl +98 -0
  115. package/plugins/copilot-pbr/templates/codebase/CONCERNS.md.tmpl +93 -0
  116. package/plugins/copilot-pbr/templates/codebase/CONVENTIONS.md.tmpl +104 -0
  117. package/plugins/copilot-pbr/templates/codebase/INTEGRATIONS.md.tmpl +78 -0
  118. package/plugins/copilot-pbr/templates/codebase/STACK.md.tmpl +78 -0
  119. package/plugins/copilot-pbr/templates/codebase/STRUCTURE.md.tmpl +80 -0
  120. package/plugins/copilot-pbr/templates/codebase/TESTING.md.tmpl +107 -0
  121. package/plugins/copilot-pbr/templates/continue-here.md.tmpl +74 -0
  122. package/plugins/copilot-pbr/templates/prompt-partials/phase-project-context.md.tmpl +38 -0
  123. package/plugins/copilot-pbr/templates/research/ARCHITECTURE.md.tmpl +124 -0
  124. package/plugins/copilot-pbr/templates/research/STACK.md.tmpl +71 -0
  125. package/plugins/copilot-pbr/templates/research/SUMMARY.md.tmpl +112 -0
  126. package/plugins/copilot-pbr/templates/research-outputs/phase-research.md.tmpl +81 -0
  127. package/plugins/copilot-pbr/templates/research-outputs/project-research.md.tmpl +99 -0
  128. package/plugins/copilot-pbr/templates/research-outputs/synthesis.md.tmpl +36 -0
  129. package/plugins/cursor-pbr/.cursor-plugin/plugin.json +13 -3
  130. package/plugins/cursor-pbr/skills/dashboard/SKILL.md +14 -4
  131. package/plugins/cursor-pbr/skills/do/SKILL.md +67 -0
  132. package/plugins/cursor-pbr/skills/milestone/SKILL.md +10 -7
  133. package/plugins/cursor-pbr/skills/todo/SKILL.md +28 -5
  134. package/plugins/cursor-pbr/templates/codebase/ARCHITECTURE.md.tmpl +98 -0
  135. package/plugins/cursor-pbr/templates/codebase/CONCERNS.md.tmpl +93 -0
  136. package/plugins/cursor-pbr/templates/codebase/CONVENTIONS.md.tmpl +104 -0
  137. package/plugins/cursor-pbr/templates/codebase/INTEGRATIONS.md.tmpl +78 -0
  138. package/plugins/cursor-pbr/templates/codebase/STACK.md.tmpl +78 -0
  139. package/plugins/cursor-pbr/templates/codebase/STRUCTURE.md.tmpl +80 -0
  140. package/plugins/cursor-pbr/templates/codebase/TESTING.md.tmpl +107 -0
  141. package/plugins/cursor-pbr/templates/research/ARCHITECTURE.md.tmpl +124 -0
  142. package/plugins/cursor-pbr/templates/research/STACK.md.tmpl +71 -0
  143. package/plugins/cursor-pbr/templates/research/SUMMARY.md.tmpl +112 -0
  144. package/plugins/cursor-pbr/templates/research-outputs/phase-research.md.tmpl +81 -0
  145. package/plugins/cursor-pbr/templates/research-outputs/project-research.md.tmpl +99 -0
  146. package/plugins/cursor-pbr/templates/research-outputs/synthesis.md.tmpl +36 -0
  147. package/plugins/pbr/.claude-plugin/plugin.json +7 -2
  148. package/plugins/pbr/scripts/validate-skill-args.js +54 -10
  149. package/plugins/pbr/skills/do/SKILL.md +70 -0
  150. package/plugins/pbr/skills/milestone/SKILL.md +10 -7
  151. package/plugins/pbr/skills/todo/SKILL.md +29 -6
package/CHANGELOG.md CHANGED
@@ -5,8 +5,57 @@ All notable changes to Plan-Build-Run will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [2.4.0](https://github.com/SienkLogic/plan-build-run/compare/plan-build-run-v2.3.1...plan-build-run-v2.4.0) (2026-02-19)
9
+
10
+
11
+ ### Features
12
+
13
+ * **tools:** add GitHub Copilot CLI plugin port ([3977261](https://github.com/SienkLogic/plan-build-run/commit/39772618479551a58123d08d99cbcb1178a0cd2a))
14
+ * **tools:** archive milestones into versioned directories with phase migration ([206b925](https://github.com/SienkLogic/plan-build-run/commit/206b925dd6692131f0d9127d10cd07208c777e40))
15
+
16
+
17
+ ### Bug Fixes
18
+
19
+ * **tools:** parse simple two-column roadmap table in dashboard ([f881004](https://github.com/SienkLogic/plan-build-run/commit/f8810045739ffeaf29a495f824bc34828c8e6c4d))
20
+ * **tools:** resolve lint errors in cross-plugin compat tests ([731efb2](https://github.com/SienkLogic/plan-build-run/commit/731efb221cf630a697a48bf732eed736b9514b1c))
21
+ * **tools:** sync dashboard skill paths and missing templates across all plugins ([ee7d770](https://github.com/SienkLogic/plan-build-run/commit/ee7d770c09f8dd7da1b1b9f76d162f0e87fc58a5))
22
+
23
+
24
+ ### Documentation
25
+
26
+ * **tools:** add /pbr:dashboard command to README dashboard section ([e1d3a60](https://github.com/SienkLogic/plan-build-run/commit/e1d3a60e0f8cffcd2f093725e73a0eca0a6c67ad))
27
+ * **tools:** add missing 2.3.0 and 2.3.1 changelog entries ([82c5cb2](https://github.com/SienkLogic/plan-build-run/commit/82c5cb21a741be4bfe13613debdeb54f862ce1f3))
28
+ * **tools:** make platform badges clickable links to install pages ([a1f6b68](https://github.com/SienkLogic/plan-build-run/commit/a1f6b68a786458a6040d0fa50a99e01431016332))
29
+ * **tools:** update README with Copilot CLI support and current stats ([edad2d9](https://github.com/SienkLogic/plan-build-run/commit/edad2d924198d6598eed1fb0b0a23c164617e5b6))
30
+
8
31
  ## [Unreleased]
9
32
 
33
+ ## [2.3.1] - 2026-02-19
34
+
35
+ ### Added
36
+ - **GitHub Copilot CLI plugin** (`plugins/copilot-pbr/`) — complete port with 22 skills, 10 agents (`.agent.md` format), and Copilot CLI hook configuration
37
+ - Setup scripts (`setup.sh`, `setup.ps1`) for Copilot CLI plugin installation with `copilot plugin install` support
38
+ - Cross-plugin compatibility tests now cover all three plugins (Claude Code, Cursor, Copilot CLI) — 164 tests via data-driven `describe.each`
39
+ - New cross-plugin guard tests: `references/ files match PBR` and `templates/ files match PBR` catch drift automatically
40
+ - Dashboard skill now works from Copilot CLI sessions (`/pbr:dashboard`)
41
+ - Platform badges in README link to install pages (wiki or anchor)
42
+
43
+ ### Fixed
44
+ - Synced 13 missing template files (`codebase/`, `research/`, `research-outputs/`) to Cursor and Copilot plugins
45
+ - Dashboard skill in derivative plugins now references correct relative path (`../../dashboard/`) instead of nonexistent `<plugin-root>/dashboard/`
46
+ - Cross-plugin frontmatter parser now handles both `\r\n` and `\n` line endings (was silently failing on Windows-style files)
47
+ - Test count: 1219 tests across 44 suites (up from 1134)
48
+
49
+ ## [2.3.0] - 2026-02-19
50
+
51
+ ### Added
52
+ - `/pbr:do` freeform router — routes natural language input to the right PBR skill automatically
53
+ - Smart skill suggestions in hook feedback when freeform text is detected
54
+ - Freeform text guard hook for `/pbr:plan` and todo work subcommand
55
+
56
+ ### Fixed
57
+ - Dashboard skill `argument-hint` synced to Cursor plugin
58
+
10
59
  ## [2.2.0] - 2026-02-19
11
60
 
12
61
  ### Added
package/README.md CHANGED
@@ -3,11 +3,11 @@
3
3
  </p>
4
4
 
5
5
  <p align="center">
6
- <strong>Context-engineered development workflow for Claude Code and Cursor.</strong>
6
+ <strong>Context-engineered development workflow for Claude Code, Cursor, and GitHub Copilot CLI.</strong>
7
7
  <br />
8
8
  Build ambitious multi-phase software without quality degradation.
9
9
  <br />
10
- Works with any Claude Code plan. Shines on Max. Now available for Cursor IDE.
10
+ Works with any Claude Code plan. Shines on Max. Now available for Cursor IDE and GitHub Copilot CLI.
11
11
  <br />
12
12
  <br />
13
13
  <a href="#why-plan-build-run">Why Plan-Build-Run?</a> &bull;
@@ -20,12 +20,13 @@
20
20
 
21
21
  <p align="center">
22
22
  <a href="https://github.com/SienkLogic/plan-build-run/actions"><img src="https://img.shields.io/github/actions/workflow/status/SienkLogic/plan-build-run/ci.yml?style=for-the-badge&label=CI&logo=github" alt="CI Status" /></a>
23
- <img src="https://img.shields.io/badge/Claude_Code-Plugin-7C3AED?style=for-the-badge&logo=anthropic&logoColor=white" alt="Claude Code Plugin" />
24
- <img src="https://img.shields.io/badge/Cursor-Plugin-00A67E?style=for-the-badge&logo=cursor&logoColor=white" alt="Cursor Plugin" />
23
+ <a href="#install"><img src="https://img.shields.io/badge/Claude_Code-Plugin-7C3AED?style=for-the-badge&logo=anthropic&logoColor=white" alt="Claude Code Plugin" /></a>
24
+ <a href="https://github.com/SienkLogic/plan-build-run/wiki/Cursor-IDE"><img src="https://img.shields.io/badge/Cursor-Plugin-00A67E?style=for-the-badge&logo=cursor&logoColor=white" alt="Cursor Plugin" /></a>
25
+ <a href="https://github.com/SienkLogic/plan-build-run/wiki/Copilot-CLI"><img src="https://img.shields.io/badge/Copilot_CLI-Plugin-1F6FEB?style=for-the-badge&logo=github&logoColor=white" alt="Copilot CLI Plugin" /></a>
25
26
  <img src="https://img.shields.io/badge/Node.js-18%2B-339933?style=for-the-badge&logo=node.js&logoColor=white" alt="Node.js 18+" />
26
27
  <a href="LICENSE"><img src="https://img.shields.io/github/license/SienkLogic/plan-build-run?style=for-the-badge" alt="License" /></a>
27
28
  <a href="https://www.npmjs.com/package/@sienklogic/plan-build-run"><img src="https://img.shields.io/npm/v/@sienklogic/plan-build-run?style=for-the-badge&logo=npm&logoColor=white" alt="npm" /></a>
28
- <img src="https://img.shields.io/badge/Tests-1008_passing-brightgreen?style=for-the-badge" alt="1008 Tests" />
29
+ <img src="https://img.shields.io/badge/Tests-1213_passing-brightgreen?style=for-the-badge" alt="1213 Tests" />
29
30
  </p>
30
31
 
31
32
  ---
@@ -88,7 +89,8 @@ All `/pbr:*` commands are now available globally.
88
89
 
89
90
  </details>
90
91
 
91
- ### Install for Cursor IDE
92
+ <details>
93
+ <summary><strong>Install for Cursor IDE</strong></summary>
92
94
 
93
95
  Plan-Build-Run also works in Cursor. The setup script symlinks rules and agents into your project's `.cursor/` directory.
94
96
 
@@ -106,25 +108,54 @@ powershell -ExecutionPolicy Bypass -File C:\path\to\plan-build-run\plugins\curso
106
108
 
107
109
  Both plugins share the same `.planning/` directory — start a project in Claude Code, continue in Cursor, or vice versa. See [`plugins/cursor-pbr/README.md`](plugins/cursor-pbr/README.md) for full details.
108
110
 
109
- ### Dashboard (Optional)
111
+ </details>
112
+
113
+ <details>
114
+ <summary><strong>Install for GitHub Copilot CLI</strong></summary>
110
115
 
111
- Plan-Build-Run ships with a companion web dashboard for browsing your project's planning state in a browser. To set it up:
116
+ Plan-Build-Run also works in GitHub Copilot CLI. The setup script installs PBR as a Copilot CLI plugin and symlinks agents into your project.
112
117
 
118
+ **macOS / Linux:**
113
119
  ```bash
114
- # One-time install of dashboard dependencies
115
- npm run dashboard:install
120
+ cd /path/to/your/project
121
+ bash /path/to/plan-build-run/plugins/copilot-pbr/setup.sh
122
+ ```
116
123
 
117
- # Launch the dashboard for any project with a .planning/ directory
118
- npm run dashboard -- --dir /path/to/your/project
119
- # Opens at http://127.0.0.1:3000
124
+ **Windows (PowerShell):**
125
+ ```powershell
126
+ cd C:\path\to\your\project
127
+ powershell -ExecutionPolicy Bypass -File C:\path\to\plan-build-run\plugins\copilot-pbr\setup.ps1
120
128
  ```
121
129
 
122
- Or run directly:
130
+ All three plugins share the same `.planning/` directory — start in any tool, continue in another. See [`plugins/copilot-pbr/README.md`](plugins/copilot-pbr/README.md) for full details.
131
+
132
+ </details>
133
+
134
+ <details>
135
+ <summary><strong>Dashboard (Optional)</strong></summary>
136
+
137
+ Plan-Build-Run ships with a companion web dashboard for browsing your project's planning state in a browser.
123
138
 
124
139
  ```bash
125
- node dashboard/bin/cli.js --dir /path/to/your/project --port 3000
140
+ # One-time install of dashboard dependencies
141
+ npm run dashboard:install
142
+
143
+ # Launch the dashboard (defaults to current directory)
144
+ npm run dashboard
145
+
146
+ # Or specify a project directory and port
147
+ npm run dashboard -- --dir /path/to/your/project --port 3000
126
148
  ```
127
149
 
150
+ Or launch it directly from a Claude Code, Cursor, or Copilot CLI session:
151
+ ```
152
+ /pbr:dashboard
153
+ ```
154
+
155
+ Opens at `http://127.0.0.1:3000` with live updates via SSE.
156
+
157
+ </details>
158
+
128
159
  ### Quick Start (Max / Max 5x)
129
160
 
130
161
  Full pipeline with parallel research and multi-agent builds. Best experience.
@@ -187,7 +218,7 @@ Set `depth: quick` in `/pbr:config` to reduce agent spawns across all workflows.
187
218
  | `/pbr:build <N>` | Build a phase: parallel execution in waves, atomic commits | 2-4 (quick: 1-2) |
188
219
  | `/pbr:review <N>` | Verify a phase: automated 3-layer checks + conversational UAT | 1 |
189
220
 
190
- See **[Commands](https://github.com/SienkLogic/plan-build-run/wiki/Commands)** for all 21 commands with flags, cost-by-depth tables, and detailed descriptions.
221
+ See **[Commands](https://github.com/SienkLogic/plan-build-run/wiki/Commands)** for all 22 commands with flags, cost-by-depth tables, and detailed descriptions.
191
222
 
192
223
  ---
193
224
 
@@ -218,6 +249,8 @@ See **[Architecture](https://github.com/SienkLogic/plan-build-run/wiki/Architect
218
249
  | **[Hooks](https://github.com/SienkLogic/plan-build-run/wiki/Hooks)** | 15 lifecycle hooks that enforce discipline at zero token cost |
219
250
  | **[Project Structure](https://github.com/SienkLogic/plan-build-run/wiki/Project-Structure)** | The `.planning/` directory layout, key files, and file ownership |
220
251
  | **[Dashboard](https://github.com/SienkLogic/plan-build-run/wiki/Dashboard)** | Web UI with live updates for browsing project state |
252
+ | **[Cursor IDE](https://github.com/SienkLogic/plan-build-run/wiki/Cursor-IDE)** | Cursor plugin installation and cross-IDE workflow |
253
+ | **[Copilot CLI](https://github.com/SienkLogic/plan-build-run/wiki/Copilot-CLI)** | GitHub Copilot CLI plugin: installation, hooks, and differences |
221
254
  | **[Philosophy](https://github.com/SienkLogic/plan-build-run/wiki/Philosophy)** | Design principles and platform alignment strategy |
222
255
  | **[What Sets It Apart](https://github.com/SienkLogic/plan-build-run/wiki/What-Sets-It-Apart)** | Feature comparison and key differentiators |
223
256
 
@@ -231,7 +264,7 @@ git clone https://github.com/SienkLogic/plan-build-run.git
231
264
  cd plan-build-run
232
265
  npm install
233
266
 
234
- # Run tests (1008 tests, 42 suites)
267
+ # Run tests (1213 tests, 44 suites)
235
268
  npm test
236
269
 
237
270
  # Lint
@@ -252,11 +285,12 @@ CI runs on Node 18/20/22 across Windows, macOS, and Linux. See [CONTRIBUTING.md]
252
285
 
253
286
  | Metric | Count |
254
287
  |--------|-------|
255
- | Skills (slash commands) | 21 |
288
+ | Skills (slash commands) | 22 |
256
289
  | Specialized agents | 10 |
257
290
  | Hook scripts | 28 |
258
- | Tests | 1008 |
259
- | Test suites | 42 |
291
+ | Supported platforms | 3 (Claude Code, Cursor, Copilot CLI) |
292
+ | Tests | 1213 |
293
+ | Test suites | 44 |
260
294
  | Config toggles | 12 top-level keys |
261
295
 
262
296
  ---
@@ -198,10 +198,33 @@ export async function parseRoadmapFile(projectDir) {
198
198
  });
199
199
  }
200
200
 
201
- // Use Progress table if available, then checkbox list, then H3 headings
201
+ // 5. Parse simple two-column table: "| 1. Name | Completed |"
202
+ // Used in milestone-archived roadmaps
203
+ const simpleTableRegex = /^\|\s*(\d+)\.\s+(.+?)\s*\|\s*(.+?)\s*\|$/gm;
204
+ const simplePhases = [];
205
+ for (const match of content.matchAll(simpleTableRegex)) {
206
+ const id = parseInt(match[1], 10);
207
+ const name = match[2].trim();
208
+ const statusText = match[3].trim().toLowerCase();
209
+
210
+ let status;
211
+ if (statusText === 'completed' || statusText === 'complete') status = 'complete';
212
+ else if (statusText === 'in progress' || statusText === 'in-progress') status = 'in-progress';
213
+ else status = 'not-started';
214
+
215
+ const cbInfo = checkboxMap.get(id);
216
+ const goalDesc = goalMap.get(id);
217
+ const description = cbInfo?.description || goalDesc || '';
218
+
219
+ simplePhases.push({ id, name, description, status });
220
+ }
221
+
222
+ // Use Progress table if available, then simple table, then checkbox list, then H3 headings
202
223
  let phases;
203
224
  if (progressPhases.length > 0) {
204
225
  phases = progressPhases;
226
+ } else if (simplePhases.length > 0) {
227
+ phases = simplePhases;
205
228
  } else if (checkboxMap.size > 0) {
206
229
  phases = [...checkboxMap.entries()]
207
230
  .map(([id, info]) => ({
@@ -5,7 +5,10 @@ import { getRoadmapData } from './roadmap.service.js';
5
5
 
6
6
  /**
7
7
  * Scan .planning/milestones/ for archived milestone files.
8
- * Groups files by version prefix (e.g., v1.0-ROADMAP.md, v1.0-STATS.md).
8
+ * Supports two formats:
9
+ * - Directory: v{version}/ containing ROADMAP.md, STATS.md, etc.
10
+ * - Flat file: v{version}-{TYPE}.md (legacy)
11
+ * Directory format takes precedence if both exist for the same version.
9
12
  *
10
13
  * @param {string} projectDir - Absolute path to the project root
11
14
  * @returns {Promise<Array<{version: string, name: string, date: string, duration: string, files: string[]}>>}
@@ -15,33 +18,69 @@ export async function listArchivedMilestones(projectDir) {
15
18
 
16
19
  let entries;
17
20
  try {
18
- entries = await readdir(milestonesDir);
21
+ entries = await readdir(milestonesDir, { withFileTypes: true });
19
22
  } catch (err) {
20
23
  if (err.code === 'ENOENT') return [];
21
24
  throw err;
22
25
  }
23
26
 
24
- // Group files by version prefix: v1.0-ROADMAP.md -> version "1.0"
25
27
  const versionMap = new Map();
26
- const versionPattern = /^v([\w.-]+)-(\w+)\.md$/;
27
28
 
28
- for (const file of entries) {
29
- const match = file.match(versionPattern);
29
+ // Pass 1: Detect directory-format milestones (v1.0/, v2.0/, etc.)
30
+ const dirPattern = /^v([\w.-]+)$/;
31
+ for (const entry of entries) {
32
+ if (!entry.isDirectory()) continue;
33
+ const match = entry.name.match(dirPattern);
30
34
  if (!match) continue;
31
35
 
32
36
  const version = match[1];
37
+ // Read files inside the version directory
38
+ let dirFiles;
39
+ try {
40
+ dirFiles = await readdir(join(milestonesDir, entry.name));
41
+ } catch (_e) {
42
+ continue;
43
+ }
44
+ const mdFiles = dirFiles.filter(f => f.endsWith('.md'));
45
+ if (mdFiles.length === 0) continue;
46
+
47
+ versionMap.set(version, { version, name: '', date: '', duration: '', files: mdFiles, format: 'directory' });
48
+ }
49
+
50
+ // Pass 2: Detect flat-file milestones (v1.0-ROADMAP.md, etc.) — skip versions already found as directories
51
+ const filePattern = /^v([\w.-]+)-(\w+)\.md$/;
52
+ for (const entry of entries) {
53
+ if (entry.isDirectory()) continue;
54
+ const match = entry.name.match(filePattern);
55
+ if (!match) continue;
56
+
57
+ const version = match[1];
58
+ // Skip if this version was already found as a directory
59
+ if (versionMap.has(version) && versionMap.get(version).format === 'directory') continue;
60
+
33
61
  if (!versionMap.has(version)) {
34
- versionMap.set(version, { version, name: '', date: '', duration: '', files: [] });
62
+ versionMap.set(version, { version, name: '', date: '', duration: '', files: [], format: 'flat' });
35
63
  }
36
- versionMap.get(version).files.push(file);
64
+ versionMap.get(version).files.push(entry.name);
37
65
  }
38
66
 
39
67
  // Try to parse STATS.md for each version to get name/date/duration
40
68
  for (const [version, milestone] of versionMap) {
41
- const statsFile = `v${version}-STATS.md`;
42
- if (milestone.files.includes(statsFile)) {
69
+ let statsPath;
70
+ if (milestone.format === 'directory') {
71
+ if (milestone.files.includes('STATS.md')) {
72
+ statsPath = join(milestonesDir, `v${version}`, 'STATS.md');
73
+ }
74
+ } else {
75
+ const statsFile = `v${version}-STATS.md`;
76
+ if (milestone.files.includes(statsFile)) {
77
+ statsPath = join(milestonesDir, statsFile);
78
+ }
79
+ }
80
+
81
+ if (statsPath) {
43
82
  try {
44
- const { frontmatter } = await readMarkdownFile(join(milestonesDir, statsFile));
83
+ const { frontmatter } = await readMarkdownFile(statsPath);
45
84
  milestone.name = frontmatter.milestone || frontmatter.name || `v${version}`;
46
85
  milestone.date = frontmatter.completed || frontmatter.date || '';
47
86
  milestone.duration = frontmatter.duration || '';
@@ -53,8 +92,10 @@ export async function listArchivedMilestones(projectDir) {
53
92
  }
54
93
  }
55
94
 
56
- // Sort by version descending (newest first)
57
- return [...versionMap.values()].sort((a, b) => b.version.localeCompare(a.version, undefined, { numeric: true }));
95
+ // Sort by version descending (newest first) — strip internal format field
96
+ return [...versionMap.values()]
97
+ .sort((a, b) => b.version.localeCompare(a.version, undefined, { numeric: true }))
98
+ .map(({ format: _f, ...rest }) => rest);
58
99
  }
59
100
 
60
101
  /**
@@ -89,14 +130,24 @@ export async function getMilestoneDetail(projectDir, version) {
89
130
 
90
131
  const sections = [];
91
132
  for (const type of fileTypes) {
92
- const filePath = join(milestonesDir, `v${version}-${type}.md`);
133
+ // Try directory format first, then fall back to flat file
134
+ const dirPath = join(milestonesDir, `v${version}`, `${type}.md`);
135
+ const flatPath = join(milestonesDir, `v${version}-${type}.md`);
136
+
137
+ let result;
93
138
  try {
94
- const result = await readMarkdownFile(filePath);
95
- sections.push({ type, frontmatter: result.frontmatter, html: result.html });
139
+ result = await readMarkdownFile(dirPath);
96
140
  } catch (err) {
97
141
  if (err.code !== 'ENOENT') throw err;
98
- // File doesn't exist for this type — skip
142
+ try {
143
+ result = await readMarkdownFile(flatPath);
144
+ } catch (err2) {
145
+ if (err2.code !== 'ENOENT') throw err2;
146
+ // Neither format exists for this type — skip
147
+ continue;
148
+ }
99
149
  }
150
+ sections.push({ type, frontmatter: result.frontmatter, html: result.html });
100
151
  }
101
152
 
102
153
  return { version, sections };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sienklogic/plan-build-run",
3
- "version": "2.3.0",
3
+ "version": "2.4.0",
4
4
  "description": "Plan it, Build it, Run it — structured development workflow for Claude Code",
5
5
  "keywords": [
6
6
  "claude-code",
@@ -0,0 +1,19 @@
1
+ # Changelog — Plan-Build-Run for GitHub Copilot CLI
2
+
3
+ ## 2.3.1 (2026-02-19)
4
+
5
+ Initial port of Plan-Build-Run to GitHub Copilot CLI.
6
+
7
+ ### What's included
8
+ - 22 skills ported from Cursor plugin (argument-hint removed — not supported by Copilot CLI)
9
+ - 10 agents with `.agent.md` extension and Copilot CLI frontmatter (`tools`, `infer`, `target`)
10
+ - Hook configuration using Copilot CLI's `bash`/`powershell` format (6 of 11 events supported)
11
+ - Setup scripts for macOS/Linux (bash) and Windows (PowerShell)
12
+ - Full reference docs and templates from the shared PBR corpus
13
+
14
+ ### Copilot CLI adaptations
15
+ - Agent files use `.agent.md` extension (Copilot CLI requirement)
16
+ - Hook blocking uses JSON output (`permissionDecision: "deny"`) instead of exit code 2
17
+ - Missing hook events: `SubagentStart`, `SubagentStop`, `TaskCompleted`, `PostToolUseFailure`, `PreCompact`, `Stop`
18
+ - Skills omit `argument-hint` frontmatter (not supported by Copilot CLI)
19
+ - Plugin manifest at `plugin.json` root (not in `.claude-plugin/` or `.cursor-plugin/`)
@@ -0,0 +1,129 @@
1
+ # Plan-Build-Run for GitHub Copilot CLI
2
+
3
+ A structured development workflow plugin for GitHub Copilot CLI that solves context rot through disciplined agent delegation, file-based state, and goal-backward verification.
4
+
5
+ ## Installation
6
+
7
+ ### Automated Setup (Recommended)
8
+
9
+ The setup script installs PBR as a Copilot CLI plugin and symlinks agents into your project.
10
+
11
+ **macOS / Linux:**
12
+ ```bash
13
+ cd /path/to/your/project
14
+ bash /path/to/plan-build-run/plugins/copilot-pbr/setup.sh
15
+ ```
16
+
17
+ **Windows (PowerShell):**
18
+ ```powershell
19
+ cd C:\path\to\your\project
20
+ powershell -ExecutionPolicy Bypass -File C:\path\to\plan-build-run\plugins\copilot-pbr\setup.ps1
21
+ ```
22
+
23
+ This installs:
24
+ - The PBR plugin (globally via `copilot plugin install` or symlink to `~/.copilot/installed-plugins/`)
25
+ - `.github/agents/*.agent.md` — 10 specialized agent definitions (project-scoped)
26
+
27
+ ### Manual Setup
28
+
29
+ If you prefer not to use the setup script:
30
+
31
+ 1. Run `copilot plugin install --local /path/to/plugins/copilot-pbr`
32
+ 2. Copy or symlink all files from `agents/` into your project's `.github/agents/` directory
33
+ 3. Skills (in `skills/`) are prompt templates — paste a skill's `SKILL.md` content into Copilot CLI chat to invoke it, or use `/pbr:*` slash commands if the plugin is installed
34
+
35
+ ### Uninstall
36
+
37
+ ```bash
38
+ copilot plugin uninstall pbr
39
+ rm .github/agents/*.agent.md
40
+ ```
41
+
42
+ ## Quick Start
43
+
44
+ The core workflow follows four steps per phase:
45
+
46
+ ```
47
+ /pbr:begin — Define your project: requirements, research, roadmap
48
+ /pbr:plan 1 — Create a detailed plan for phase 1
49
+ /pbr:build 1 — Execute the plan with atomic commits
50
+ /pbr:review 1 — Verify the build matched the plan
51
+ ```
52
+
53
+ Repeat `plan` / `build` / `review` for each phase in your roadmap.
54
+
55
+ ## Skills (22)
56
+
57
+ | Skill | Description |
58
+ |-------|-------------|
59
+ | begin | Start a new project. Deep questioning, research, requirements, and roadmap. |
60
+ | build | Execute all plans in a phase. Spawns agents to build in parallel, commits atomically. |
61
+ | config | Configure settings: depth, model profiles, features, git, and gates. |
62
+ | continue | Execute the next logical step automatically. No prompts, no decisions. |
63
+ | dashboard | Launch the PBR web dashboard for the current project. |
64
+ | debug | Systematic debugging with hypothesis testing. Persistent across sessions. |
65
+ | discuss | Talk through a phase before planning. Identifies gray areas and captures decisions. |
66
+ | do | Route freeform text to the right PBR skill automatically. |
67
+ | explore | Explore ideas, think through approaches, and route insights to the right artifacts. |
68
+ | health | Check planning directory integrity. Find and fix corrupted state. |
69
+ | help | Command reference and workflow guide. |
70
+ | import | Import external plans. Validates context, detects conflicts, generates PLAN.md. |
71
+ | milestone | Manage milestones: new, complete, audit, gaps. |
72
+ | note | Zero-friction idea capture. Append, list, or promote notes to todos. |
73
+ | pause | Save your current session state for later resumption. |
74
+ | plan | Create a detailed plan for a phase. Research, plan, and verify before building. |
75
+ | quick | Execute an ad-hoc task with atomic commits. Skips full plan/review. |
76
+ | resume | Pick up where you left off. Restores context and suggests next action. |
77
+ | review | Verify the build matched the plan. Automated checks plus walkthrough. |
78
+ | scan | Analyze an existing codebase. Maps structure, architecture, conventions, and concerns. |
79
+ | setup | Onboarding wizard. Initialize project, select models, verify setup. |
80
+ | status | Show current project status and suggest what to do next. |
81
+ | todo | File-based persistent todos. Add, list, complete — survives sessions. |
82
+
83
+ ## Agents (10)
84
+
85
+ | Agent | Description |
86
+ |-------|-------------|
87
+ | codebase-mapper | Explores codebases and writes structured analysis across four focus areas. |
88
+ | debugger | Systematic debugging using scientific method with hypothesis testing and evidence tracking. |
89
+ | executor | Executes plan tasks with atomic commits, deviation handling, and self-verification. |
90
+ | general | Lightweight agent for ad-hoc tasks that don't fit specialized roles. |
91
+ | integration-checker | Cross-phase integration and E2E flow verification. |
92
+ | plan-checker | Verifies plans will achieve phase goals before execution via goal-backward analysis. |
93
+ | planner | Creates executable phase plans with task breakdown, dependency analysis, and wave assignment. |
94
+ | researcher | Unified research agent for project domains and implementation approaches. |
95
+ | synthesizer | Fast synthesis of multiple research outputs into coherent recommendations. |
96
+ | verifier | Goal-backward phase verification against the real codebase. |
97
+
98
+ ## Configuration
99
+
100
+ Plan-Build-Run stores all state in a `.planning/` directory at your project root:
101
+
102
+ - `.planning/config.json` — Workflow settings (~62 properties across 12 keys)
103
+ - `.planning/STATE.md` — Current position and status
104
+ - `.planning/ROADMAP.md` — Phase structure, goals, and dependencies
105
+ - `.planning/phases/NN-slug/` — Per-phase plans, summaries, and verification reports
106
+
107
+ Run `/pbr:config` to interactively adjust settings like depth, model profiles, and gate behavior.
108
+
109
+ ## Hook Compatibility
110
+
111
+ Copilot CLI supports 6 hook events vs Claude Code's full set. The following hooks are active in this port:
112
+
113
+ | Event | Scripts |
114
+ |-------|---------|
115
+ | sessionStart | progress-tracker.js |
116
+ | postToolUse | post-write-dispatch.js, post-write-quality.js, check-subagent-output.js, suggest-compact.js, track-context-budget.js |
117
+ | preToolUse | pre-bash-dispatch.js, pre-write-dispatch.js, validate-task.js, validate-skill-args.js |
118
+ | sessionEnd | session-cleanup.js |
119
+
120
+ **Not available** in Copilot CLI (present in Claude Code/Cursor ports): `SubagentStart`, `SubagentStop`, `TaskCompleted`, `PostToolUseFailure`, `PreCompact`, `Stop`.
121
+
122
+ ## Cross-Plugin Compatibility
123
+
124
+ This plugin works alongside the Claude Code and Cursor versions of Plan-Build-Run. All three plugins share the same `.planning/` directory and file formats, so you can switch between tools without losing state. Hook scripts under `plugins/pbr/scripts/` are shared between all plugins via relative paths.
125
+
126
+ ## Links
127
+
128
+ - Repository: [https://github.com/SienkLogic/plan-build-run](https://github.com/SienkLogic/plan-build-run)
129
+ - License: MIT
@@ -0,0 +1,109 @@
1
+ ---
2
+ name: codebase-mapper
3
+ description: "Explores existing codebases and writes structured analysis documents. Four focus areas: tech, arch, quality, concerns."
4
+ tools: ["*"]
5
+ infer: true
6
+ target: "github-copilot"
7
+ ---
8
+
9
+ # Plan-Build-Run Codebase Mapper
10
+
11
+ You are **codebase-mapper**, the codebase analysis agent for the Plan-Build-Run development system. You explore existing codebases and produce structured documentation that helps other agents (and humans) understand the project's technology stack, architecture, conventions, and concerns.
12
+
13
+ ## Core Philosophy
14
+
15
+ - **Document quality over brevity.** Be thorough. Other agents depend on your analysis for accurate planning and execution.
16
+ - **Always include file paths.** Every claim must reference the actual code location. Never say "the config file" — say "`tsconfig.json` at project root" or "`src/config/database.ts`".
17
+ - **Write current state only.** No temporal language ("recently added", "will be changed", "was refactored"). Document WHAT IS, not what was or will be.
18
+ - **Be prescriptive, not descriptive.** When documenting conventions: "Use this pattern" not "This pattern exists."
19
+ - **Evidence-based.** Read the actual files. Don't guess from file names or directory structures.
20
+
21
+ ---
22
+
23
+ ### Forbidden Files
24
+
25
+ When exploring, NEVER commit or recommend committing:
26
+ - `.env` files (except `.env.example` or `.env.template`)
27
+ - `*.key`, `*.pem`, `*.pfx`, `*.p12` — private keys and certificates
28
+ - Files containing `credential` or `secret` in their name
29
+ - `*.keystore`, `*.jks` — Java keystores
30
+ - `id_rsa`, `id_ed25519` — SSH keys
31
+
32
+ If encountered, note in CONCERNS.md under "Security Considerations" but do NOT include contents.
33
+
34
+ ---
35
+
36
+ ## Focus Areas
37
+
38
+ You receive ONE focus area per invocation. All output is written to `.planning/codebase/` (create if needed). **Do NOT commit** — the orchestrator handles commits.
39
+
40
+ | Focus | Output Files | Templates |
41
+ |-------|-------------|-----------|
42
+ | `tech` | STACK.md, INTEGRATIONS.md | `templates/codebase/STACK.md.tmpl`, `templates/codebase/INTEGRATIONS.md.tmpl` |
43
+ | `arch` | ARCHITECTURE.md, STRUCTURE.md | `templates/codebase/ARCHITECTURE.md.tmpl`, `templates/codebase/STRUCTURE.md.tmpl` |
44
+ | `quality` | CONVENTIONS.md, TESTING.md | `templates/codebase/CONVENTIONS.md.tmpl`, `templates/codebase/TESTING.md.tmpl` |
45
+ | `concerns` | CONCERNS.md | `templates/codebase/CONCERNS.md.tmpl` |
46
+
47
+ Read the relevant `.tmpl` file(s) and fill in all placeholder fields with data from your analysis.
48
+
49
+ ---
50
+
51
+ ## Exploration Process
52
+
53
+ > **Cross-platform**: Use Glob, Read, and Grep tools — not Bash `ls`, `find`, or `cat`. Bash file commands fail on Windows.
54
+
55
+ 1. **Orientation** — Glob for source files, config files, docs, Docker, CI/CD to understand project shape.
56
+ 2. **Deep Inspection** — Read 5-10+ key files per focus area (package.json, configs, entry points, core modules).
57
+ 3. **Pattern Recognition** — Identify repeated conventions across the codebase.
58
+ 4. **Write Documentation** — Write to `.planning/codebase/` using the templates. Write documents as you go to manage context.
59
+
60
+ ---
61
+
62
+ ## Output Budget
63
+
64
+ | Artifact | Target | Hard Limit |
65
+ |----------|--------|------------|
66
+ | STACK.md | ≤ 800 tokens | 1,200 tokens |
67
+ | INTEGRATIONS.md | ≤ 600 tokens | 1,000 tokens |
68
+ | ARCHITECTURE.md | ≤ 1,000 tokens | 1,500 tokens |
69
+ | STRUCTURE.md | ≤ 600 tokens | 1,000 tokens |
70
+ | CONVENTIONS.md | ≤ 800 tokens | 1,200 tokens |
71
+ | TESTING.md | ≤ 600 tokens | 1,000 tokens |
72
+ | CONCERNS.md | ≤ 600 tokens | 1,000 tokens |
73
+ | Total per focus area (2 docs) | ≤ 1,400 tokens | 2,200 tokens |
74
+
75
+ **Guidance**: Tables over prose. Version numbers and file paths are the high-value data — skip explanations of what well-known tools do. The planner reads these documents to make decisions; give it decision-relevant facts, not tutorials.
76
+
77
+ ---
78
+
79
+ ## Quality Standards
80
+
81
+ 1. Every claim must reference actual file paths (with line numbers when possible)
82
+ 2. Verify versions from package.json/lock files, not from memory
83
+ 3. Read at least 5-10 key files per focus area — file names lie, check source
84
+ 4. Include actual code examples from the codebase, not generic examples
85
+ 5. Stop before 50% context usage — write documents incrementally
86
+
87
+ ---
88
+
89
+ ## Universal Anti-Patterns
90
+
91
+ 1. DO NOT guess or assume — read actual files for evidence
92
+ 2. DO NOT trust SUMMARY.md or other agent claims without verifying codebase
93
+ 3. DO NOT use vague language — be specific and evidence-based
94
+ 4. DO NOT present training knowledge as verified fact
95
+ 5. DO NOT exceed your role — recommend the correct agent if task doesn't fit
96
+ 6. DO NOT modify files outside your designated scope
97
+ 7. DO NOT add features or scope not requested — log to deferred
98
+ 8. DO NOT skip steps in your protocol, even for "obvious" cases
99
+ 9. DO NOT contradict locked decisions in CONTEXT.md
100
+ 10. DO NOT implement deferred ideas from CONTEXT.md
101
+ 11. DO NOT consume more than 50% context before producing output
102
+ 12. DO NOT read agent .md files from agents/ — auto-loaded via subagent_type
103
+
104
+ Additionally for this agent:
105
+
106
+ 1. DO NOT guess technology versions — read package.json or equivalent
107
+ 2. DO NOT use temporal language ("recently added", "old code")
108
+ 3. DO NOT produce generic documentation — every claim must reference this specific codebase
109
+ 4. DO NOT commit the output — the orchestrator handles commits