@sienklogic/plan-build-run 2.53.0 → 2.55.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 (165) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/package.json +2 -2
  3. package/plugins/codex-pbr/agents/audit.md +223 -0
  4. package/plugins/codex-pbr/agents/codebase-mapper.md +196 -0
  5. package/plugins/codex-pbr/agents/debugger.md +245 -0
  6. package/plugins/codex-pbr/agents/dev-sync.md +142 -0
  7. package/plugins/codex-pbr/agents/executor.md +429 -0
  8. package/plugins/codex-pbr/agents/general.md +131 -0
  9. package/plugins/codex-pbr/agents/integration-checker.md +178 -0
  10. package/plugins/codex-pbr/agents/plan-checker.md +253 -0
  11. package/plugins/codex-pbr/agents/planner.md +343 -0
  12. package/plugins/codex-pbr/agents/researcher.md +253 -0
  13. package/plugins/codex-pbr/agents/synthesizer.md +183 -0
  14. package/plugins/codex-pbr/agents/verifier.md +352 -0
  15. package/plugins/codex-pbr/commands/audit.md +5 -0
  16. package/plugins/codex-pbr/commands/begin.md +5 -0
  17. package/plugins/codex-pbr/commands/build.md +5 -0
  18. package/plugins/codex-pbr/commands/config.md +5 -0
  19. package/plugins/codex-pbr/commands/continue.md +5 -0
  20. package/plugins/codex-pbr/commands/dashboard.md +5 -0
  21. package/plugins/codex-pbr/commands/debug.md +5 -0
  22. package/plugins/codex-pbr/commands/discuss.md +5 -0
  23. package/plugins/codex-pbr/commands/do.md +5 -0
  24. package/plugins/codex-pbr/commands/explore.md +5 -0
  25. package/plugins/codex-pbr/commands/health.md +5 -0
  26. package/plugins/codex-pbr/commands/help.md +5 -0
  27. package/plugins/codex-pbr/commands/import.md +5 -0
  28. package/plugins/codex-pbr/commands/milestone.md +5 -0
  29. package/plugins/codex-pbr/commands/note.md +5 -0
  30. package/plugins/codex-pbr/commands/pause.md +5 -0
  31. package/plugins/codex-pbr/commands/plan.md +5 -0
  32. package/plugins/codex-pbr/commands/quick.md +5 -0
  33. package/plugins/codex-pbr/commands/resume.md +5 -0
  34. package/plugins/codex-pbr/commands/review.md +5 -0
  35. package/plugins/codex-pbr/commands/scan.md +5 -0
  36. package/plugins/codex-pbr/commands/setup.md +5 -0
  37. package/plugins/codex-pbr/commands/status.md +5 -0
  38. package/plugins/codex-pbr/commands/statusline.md +5 -0
  39. package/plugins/codex-pbr/commands/test.md +5 -0
  40. package/plugins/codex-pbr/commands/todo.md +5 -0
  41. package/plugins/codex-pbr/commands/undo.md +5 -0
  42. package/plugins/codex-pbr/references/agent-contracts.md +324 -0
  43. package/plugins/codex-pbr/references/agent-teams.md +54 -0
  44. package/plugins/codex-pbr/references/common-bug-patterns.md +13 -0
  45. package/plugins/codex-pbr/references/config-reference.md +552 -0
  46. package/plugins/codex-pbr/references/continuation-format.md +212 -0
  47. package/plugins/codex-pbr/references/deviation-rules.md +112 -0
  48. package/plugins/codex-pbr/references/git-integration.md +256 -0
  49. package/plugins/codex-pbr/references/integration-patterns.md +117 -0
  50. package/plugins/codex-pbr/references/model-profiles.md +99 -0
  51. package/plugins/codex-pbr/references/model-selection.md +31 -0
  52. package/plugins/codex-pbr/references/pbr-tools-cli.md +400 -0
  53. package/plugins/codex-pbr/references/plan-authoring.md +246 -0
  54. package/plugins/codex-pbr/references/plan-format.md +313 -0
  55. package/plugins/codex-pbr/references/questioning.md +235 -0
  56. package/plugins/codex-pbr/references/reading-verification.md +127 -0
  57. package/plugins/codex-pbr/references/signal-files.md +41 -0
  58. package/plugins/codex-pbr/references/stub-patterns.md +160 -0
  59. package/plugins/codex-pbr/references/ui-formatting.md +444 -0
  60. package/plugins/codex-pbr/references/wave-execution.md +95 -0
  61. package/plugins/codex-pbr/skills/audit/SKILL.md +346 -0
  62. package/plugins/codex-pbr/skills/begin/SKILL.md +800 -0
  63. package/plugins/codex-pbr/skills/build/SKILL.md +958 -0
  64. package/plugins/codex-pbr/skills/config/SKILL.md +267 -0
  65. package/plugins/codex-pbr/skills/continue/SKILL.md +172 -0
  66. package/plugins/codex-pbr/skills/dashboard/SKILL.md +44 -0
  67. package/plugins/codex-pbr/skills/debug/SKILL.md +530 -0
  68. package/plugins/codex-pbr/skills/discuss/SKILL.md +355 -0
  69. package/plugins/codex-pbr/skills/do/SKILL.md +68 -0
  70. package/plugins/codex-pbr/skills/explore/SKILL.md +407 -0
  71. package/plugins/codex-pbr/skills/health/SKILL.md +300 -0
  72. package/plugins/codex-pbr/skills/help/SKILL.md +229 -0
  73. package/plugins/codex-pbr/skills/import/SKILL.md +538 -0
  74. package/plugins/codex-pbr/skills/milestone/SKILL.md +620 -0
  75. package/plugins/codex-pbr/skills/note/SKILL.md +215 -0
  76. package/plugins/codex-pbr/skills/pause/SKILL.md +258 -0
  77. package/plugins/codex-pbr/skills/plan/SKILL.md +650 -0
  78. package/plugins/codex-pbr/skills/quick/SKILL.md +417 -0
  79. package/plugins/codex-pbr/skills/resume/SKILL.md +403 -0
  80. package/plugins/codex-pbr/skills/review/SKILL.md +669 -0
  81. package/plugins/codex-pbr/skills/scan/SKILL.md +325 -0
  82. package/plugins/codex-pbr/skills/setup/SKILL.md +169 -0
  83. package/plugins/codex-pbr/skills/shared/commit-planning-docs.md +35 -0
  84. package/plugins/codex-pbr/skills/shared/config-loading.md +102 -0
  85. package/plugins/codex-pbr/skills/shared/context-budget.md +77 -0
  86. package/plugins/codex-pbr/skills/shared/context-loader-task.md +86 -0
  87. package/plugins/codex-pbr/skills/shared/digest-select.md +79 -0
  88. package/plugins/codex-pbr/skills/shared/domain-probes.md +125 -0
  89. package/plugins/codex-pbr/skills/shared/error-reporting.md +59 -0
  90. package/plugins/codex-pbr/skills/shared/gate-prompts.md +388 -0
  91. package/plugins/codex-pbr/skills/shared/phase-argument-parsing.md +45 -0
  92. package/plugins/codex-pbr/skills/shared/revision-loop.md +81 -0
  93. package/plugins/codex-pbr/skills/shared/state-update.md +169 -0
  94. package/plugins/codex-pbr/skills/shared/universal-anti-patterns.md +43 -0
  95. package/plugins/codex-pbr/skills/status/SKILL.md +449 -0
  96. package/plugins/codex-pbr/skills/statusline/SKILL.md +149 -0
  97. package/plugins/codex-pbr/skills/test/SKILL.md +210 -0
  98. package/plugins/codex-pbr/skills/todo/SKILL.md +281 -0
  99. package/plugins/codex-pbr/skills/undo/SKILL.md +172 -0
  100. package/plugins/codex-pbr/templates/CONTEXT.md.tmpl +52 -0
  101. package/plugins/codex-pbr/templates/INTEGRATION-REPORT.md.tmpl +167 -0
  102. package/plugins/codex-pbr/templates/RESEARCH-SUMMARY.md.tmpl +97 -0
  103. package/plugins/codex-pbr/templates/ROADMAP.md.tmpl +47 -0
  104. package/plugins/codex-pbr/templates/SUMMARY-complex.md.tmpl +95 -0
  105. package/plugins/codex-pbr/templates/SUMMARY-minimal.md.tmpl +48 -0
  106. package/plugins/codex-pbr/templates/SUMMARY.md.tmpl +81 -0
  107. package/plugins/codex-pbr/templates/VERIFICATION-DETAIL.md.tmpl +117 -0
  108. package/plugins/codex-pbr/templates/codebase/ARCHITECTURE.md.tmpl +98 -0
  109. package/plugins/codex-pbr/templates/codebase/CONCERNS.md.tmpl +93 -0
  110. package/plugins/codex-pbr/templates/codebase/CONVENTIONS.md.tmpl +104 -0
  111. package/plugins/codex-pbr/templates/codebase/INTEGRATIONS.md.tmpl +78 -0
  112. package/plugins/codex-pbr/templates/codebase/STACK.md.tmpl +78 -0
  113. package/plugins/codex-pbr/templates/codebase/STRUCTURE.md.tmpl +80 -0
  114. package/plugins/codex-pbr/templates/codebase/TESTING.md.tmpl +107 -0
  115. package/plugins/codex-pbr/templates/continue-here.md.tmpl +73 -0
  116. package/plugins/codex-pbr/templates/pr-body.md.tmpl +22 -0
  117. package/plugins/codex-pbr/templates/prompt-partials/phase-project-context.md.tmpl +37 -0
  118. package/plugins/codex-pbr/templates/research/ARCHITECTURE.md.tmpl +124 -0
  119. package/plugins/codex-pbr/templates/research/STACK.md.tmpl +71 -0
  120. package/plugins/codex-pbr/templates/research/SUMMARY.md.tmpl +112 -0
  121. package/plugins/codex-pbr/templates/research-outputs/phase-research.md.tmpl +81 -0
  122. package/plugins/codex-pbr/templates/research-outputs/project-research.md.tmpl +99 -0
  123. package/plugins/codex-pbr/templates/research-outputs/synthesis.md.tmpl +36 -0
  124. package/plugins/copilot-pbr/commands/setup.md +1 -1
  125. package/plugins/copilot-pbr/commands/undo.md +5 -0
  126. package/plugins/copilot-pbr/plugin.json +1 -1
  127. package/plugins/copilot-pbr/skills/begin/SKILL.md +170 -17
  128. package/plugins/copilot-pbr/skills/build/SKILL.md +73 -8
  129. package/plugins/copilot-pbr/skills/plan/SKILL.md +67 -17
  130. package/plugins/copilot-pbr/skills/review/SKILL.md +12 -1
  131. package/plugins/copilot-pbr/skills/setup/SKILL.md +66 -214
  132. package/plugins/copilot-pbr/skills/shared/context-budget.md +27 -0
  133. package/plugins/copilot-pbr/skills/status/SKILL.md +44 -2
  134. package/plugins/copilot-pbr/skills/undo/SKILL.md +172 -0
  135. package/plugins/cursor-pbr/.cursor-plugin/plugin.json +1 -1
  136. package/plugins/cursor-pbr/commands/setup.md +1 -1
  137. package/plugins/cursor-pbr/commands/undo.md +5 -0
  138. package/plugins/cursor-pbr/skills/begin/SKILL.md +170 -17
  139. package/plugins/cursor-pbr/skills/build/SKILL.md +73 -8
  140. package/plugins/cursor-pbr/skills/plan/SKILL.md +67 -17
  141. package/plugins/cursor-pbr/skills/review/SKILL.md +12 -1
  142. package/plugins/cursor-pbr/skills/setup/SKILL.md +66 -214
  143. package/plugins/cursor-pbr/skills/shared/context-budget.md +27 -0
  144. package/plugins/cursor-pbr/skills/status/SKILL.md +44 -2
  145. package/plugins/cursor-pbr/skills/undo/SKILL.md +173 -0
  146. package/plugins/jules-pbr/AGENTS.md +600 -0
  147. package/plugins/pbr/.claude-plugin/plugin.json +1 -1
  148. package/plugins/pbr/commands/setup.md +1 -1
  149. package/plugins/pbr/commands/undo.md +5 -0
  150. package/plugins/pbr/scripts/config-schema.json +5 -1
  151. package/plugins/pbr/scripts/lib/alternatives.js +203 -0
  152. package/plugins/pbr/scripts/lib/preview.js +174 -0
  153. package/plugins/pbr/scripts/lib/skill-section.js +99 -0
  154. package/plugins/pbr/scripts/lib/step-verify.js +149 -0
  155. package/plugins/pbr/scripts/pbr-tools.js +122 -2
  156. package/plugins/pbr/scripts/validate-commit.js +2 -2
  157. package/plugins/pbr/skills/begin/SKILL.md +170 -17
  158. package/plugins/pbr/skills/begin/templates/config.json.tmpl +5 -1
  159. package/plugins/pbr/skills/build/SKILL.md +73 -8
  160. package/plugins/pbr/skills/plan/SKILL.md +67 -17
  161. package/plugins/pbr/skills/review/SKILL.md +12 -1
  162. package/plugins/pbr/skills/setup/SKILL.md +66 -214
  163. package/plugins/pbr/skills/shared/context-budget.md +27 -0
  164. package/plugins/pbr/skills/status/SKILL.md +44 -2
  165. package/plugins/pbr/skills/undo/SKILL.md +174 -0
@@ -0,0 +1,600 @@
1
+ # Plan-Build-Run Workflow for Jules
2
+
3
+ > This file teaches Jules the Plan-Build-Run (PBR) development methodology.
4
+ > Place it in your repository root so Jules reads it before starting any task.
5
+ >
6
+ > PBR prevents quality degradation on complex projects by enforcing a
7
+ > disciplined Plan → Build → Review cycle with file-based state tracking.
8
+
9
+ ---
10
+
11
+ ## Core Principle
12
+
13
+ **Never build without a plan. Never ship without a review.**
14
+
15
+ Every meaningful change flows through three stages:
16
+
17
+ 1. **Plan** — Research the problem, design the solution, define success criteria
18
+ 2. **Build** — Execute the plan with atomic commits, one task at a time
19
+ 3. **Review** — Verify the build achieved the plan's goals (goal-backward verification)
20
+
21
+ ---
22
+
23
+ ## Project State Directory
24
+
25
+ All workflow state lives in `.planning/` at the repository root. Jules should
26
+ create and maintain these files as it works:
27
+
28
+ ```
29
+ .planning/
30
+ ├── STATE.md # Current position in the workflow
31
+ ├── ROADMAP.md # Phase structure with goals and dependencies
32
+ ├── config.json # Workflow settings (optional)
33
+ ├── phases/
34
+ │ └── NN-slug/ # One directory per phase
35
+ │ ├── PLAN.md # What to build and how
36
+ │ ├── SUMMARY.md # What was built (written after execution)
37
+ │ └── VERIFICATION.md # Did the build match the plan?
38
+ ├── quick/ # Lightweight tasks outside the full cycle
39
+ │ └── NNN-slug/
40
+ │ ├── PLAN.md
41
+ │ └── SUMMARY.md
42
+ ├── debug/ # Persistent debug sessions
43
+ │ └── slug/
44
+ │ └── HYPOTHESIS.md
45
+ ├── notes/ # Captured ideas and decisions
46
+ ├── todos/
47
+ │ ├── pending/ # Active cross-session backlog
48
+ │ └── done/ # Completed todos
49
+ └── milestones/ # Archived milestone snapshots
50
+ └── v{version}/
51
+ ```
52
+
53
+ ### STATE.md Format
54
+
55
+ ```markdown
56
+ ---
57
+ current_phase: "01-setup"
58
+ current_plan: "01-01"
59
+ status: "Planning" # Planning | Planned | Building | Built | Verified
60
+ updated: "2025-01-15T10:30:00Z"
61
+ ---
62
+
63
+ ## Current Focus
64
+ Brief description of what's happening now.
65
+
66
+ ## Recently Completed
67
+ - Phase 01, Plan 01: Project scaffolding (Verified)
68
+
69
+ ## Next Steps
70
+ 1. Primary: Start planning phase 02
71
+ 2. Alternative: Review phase 01 verification results
72
+ ```
73
+
74
+ Valid status transitions: Planning → Planned → Building → Built → Verified
75
+
76
+ ---
77
+
78
+ ## Phase Workflow
79
+
80
+ ### Step 1: Planning a Phase
81
+
82
+ Before writing any code for a phase, create a plan file:
83
+
84
+ **`.planning/phases/NN-slug/PLAN.md`**:
85
+
86
+ ```markdown
87
+ ---
88
+ phase: "01-setup"
89
+ plan: "01-01"
90
+ type: "feature"
91
+ files_modified:
92
+ - "src/config.ts"
93
+ - "src/database.ts"
94
+ must_haves:
95
+ truths:
96
+ - "Database connection is established on startup"
97
+ - "Configuration loads from environment variables"
98
+ artifacts:
99
+ - "src/config.ts: >30 lines, exports loadConfig()"
100
+ - "src/database.ts: >40 lines, exports connectDB()"
101
+ ---
102
+
103
+ ## Tasks
104
+
105
+ ### Task 1: Create configuration loader
106
+ - Read environment variables for DB_HOST, DB_PORT, DB_NAME
107
+ - Export a typed config object
108
+ - Throw on missing required variables
109
+
110
+ ### Task 2: Create database connection module
111
+ - Use the config from Task 1
112
+ - Implement connection pooling
113
+ - Export connectDB() and getDB() functions
114
+
115
+ ### Task 3: Add startup integration
116
+ - Call loadConfig() then connectDB() in main entry point
117
+ - Log connection success/failure
118
+ ```
119
+
120
+ **Planning rules:**
121
+ - Define `must_haves` with concrete, verifiable success criteria
122
+ - List all files that will be created or modified
123
+ - Break work into small, independently committable tasks
124
+ - Each task should produce a working, testable increment
125
+
126
+ ### Step 2: Building (Executing the Plan)
127
+
128
+ When executing a plan:
129
+
130
+ 1. **Read the plan first** — Load `.planning/phases/NN-slug/PLAN.md`
131
+ 2. **Update STATE.md** — Set status to "Building"
132
+ 3. **Execute tasks sequentially** — Follow the plan's task order
133
+ 4. **Commit after each task** — One atomic commit per task
134
+ 5. **Write SUMMARY.md** — Document what was actually built
135
+
136
+ **Commit message format:**
137
+
138
+ ```
139
+ {type}({phase}-{plan}): {description}
140
+ ```
141
+
142
+ Examples:
143
+ - `feat(01-01): implement configuration loader`
144
+ - `fix(01-01): handle missing DB_PORT with default value`
145
+ - `test(01-01): add unit tests for config validation`
146
+ - `refactor(02-01): extract auth middleware into separate module`
147
+
148
+ Types: `feat`, `fix`, `refactor`, `test`, `docs`, `chore`
149
+
150
+ **SUMMARY.md format** (written after all tasks complete):
151
+
152
+ ```markdown
153
+ ---
154
+ phase: "01-setup"
155
+ plan: "01-01"
156
+ status: "complete"
157
+ commits:
158
+ - "abc1234: feat(01-01): implement configuration loader"
159
+ - "def5678: feat(01-01): create database connection module"
160
+ key_files:
161
+ - "src/config.ts"
162
+ - "src/database.ts"
163
+ requires:
164
+ - "Node.js 18+"
165
+ - "PostgreSQL 14+"
166
+ deferred:
167
+ - "Connection retry logic (moved to phase 03)"
168
+ ---
169
+
170
+ ## What Was Built
171
+ Brief narrative of what was accomplished and any deviations from the plan.
172
+ ```
173
+
174
+ ### Step 3: Verification
175
+
176
+ After building, verify the work against the plan's `must_haves`:
177
+
178
+ **VERIFICATION.md format:**
179
+
180
+ ```markdown
181
+ ---
182
+ phase: "01-setup"
183
+ plan: "01-01"
184
+ result: "PASS"
185
+ verified_at: "2025-01-15T14:00:00Z"
186
+ ---
187
+
188
+ ## Must-Have Verification
189
+
190
+ | # | Criterion | Status | Evidence |
191
+ |---|-----------|--------|----------|
192
+ | 1 | Database connection established on startup | PASS | `connectDB()` called in `src/index.ts:15` |
193
+ | 2 | Config loads from environment variables | PASS | `loadConfig()` reads DB_HOST, DB_PORT, DB_NAME |
194
+
195
+ ## Artifact Verification
196
+
197
+ | # | Artifact | Status | Evidence |
198
+ |---|----------|--------|----------|
199
+ | 1 | src/config.ts: >30 lines, exports loadConfig() | PASS | 47 lines, exports `loadConfig()` at line 12 |
200
+ | 2 | src/database.ts: >40 lines, exports connectDB() | PASS | 63 lines, exports `connectDB()` at line 28 |
201
+
202
+ ## Deviations
203
+ None — plan executed as written.
204
+ ```
205
+
206
+ ---
207
+
208
+ ## ROADMAP.md Structure
209
+
210
+ The roadmap defines the full project as a sequence of phases:
211
+
212
+ ```markdown
213
+ # Project Roadmap
214
+
215
+ ## Phase 01: Project Setup
216
+ **Goal:** Establish project foundation with configuration and database connectivity.
217
+ **Status:** Verified
218
+ **Depends on:** (none)
219
+
220
+ ## Phase 02: Authentication
221
+ **Goal:** Users can sign in via OAuth and receive a session token.
222
+ **Status:** Planning
223
+ **Depends on:** Phase 01
224
+
225
+ ## Phase 03: Core Features
226
+ **Goal:** Implement the primary user-facing features.
227
+ **Status:** Pending
228
+ **Depends on:** Phase 01, Phase 02
229
+ ```
230
+
231
+ **Rules:**
232
+ - Phases are numbered sequentially (`01`, `02`, `03`, ...)
233
+ - Each phase has a clear, measurable goal
234
+ - Dependencies between phases are explicit
235
+ - Status tracks the highest completed stage for that phase
236
+
237
+ ---
238
+
239
+ ## Enforcement Rules
240
+
241
+ Jules has no hook system, so these rules are self-enforced checkpoints.
242
+ Run through this checklist at every stage transition.
243
+
244
+ ### Gate 1: Commit Format
245
+
246
+ Before any `git commit`, verify the message matches:
247
+
248
+ ```
249
+ {type}({scope}): {description}
250
+ ```
251
+
252
+ - **Valid types**: `feat`, `fix`, `refactor`, `test`, `docs`, `chore`
253
+ - **Valid scopes**: `NN-MM` (phase-plan), `quick-NNN`, `planning`, or a descriptive word
254
+ - **Block the commit** if the format doesn't match — fix the message first
255
+
256
+ ### Gate 2: Plan-Before-Build
257
+
258
+ Before writing any source code for a phase:
259
+
260
+ - Confirm `.planning/phases/NN-slug/PLAN.md` exists
261
+ - Confirm the plan has `must_haves` with at least one truth and one artifact
262
+ - **Never write production code without an approved plan**
263
+
264
+ ### Gate 3: Phase Boundary
265
+
266
+ Only modify `.planning/phases/NN-*/` files for the phase shown in `STATE.md`.
267
+
268
+ - Cross-phase edits require explicit justification in the commit body
269
+ - Don't refactor an old phase while building a new one
270
+
271
+ ### Gate 4: Format Validation
272
+
273
+ After writing any planning artifact, verify required frontmatter fields:
274
+
275
+ | File | Required fields |
276
+ |------|----------------|
277
+ | PLAN.md | `phase`, `plan`, `must_haves` (with `truths` and `artifacts`) |
278
+ | SUMMARY.md | `phase`, `plan`, `status`, `requires`, `key_files`, `deferred` |
279
+ | VERIFICATION.md | `phase`, `plan`, `result` (must be `PASS`, `FAIL`, `BLOCKED`, or `DEFERRED`) |
280
+
281
+ ### Gate 5: State Sync
282
+
283
+ After writing SUMMARY.md or VERIFICATION.md:
284
+
285
+ 1. Update `STATE.md` — set `status` to the new stage, update `updated` timestamp
286
+ 2. Update `ROADMAP.md` — update the phase's `**Status:**` line to match
287
+
288
+ Both files must stay in sync. Stale state causes confusion across sessions.
289
+
290
+ ---
291
+
292
+ ## Stage Transition Checkpoints
293
+
294
+ Use these checklists at each stage boundary.
295
+
296
+ ### Before Planning
297
+
298
+ - [ ] Read `.planning/STATE.md` — confirm current phase and status
299
+ - [ ] Read `.planning/ROADMAP.md` — confirm phase goal and dependencies
300
+ - [ ] Verify dependent phases are "Verified" before starting this phase
301
+ - [ ] Create `.planning/phases/NN-slug/` directory if it doesn't exist
302
+
303
+ ### After Planning (Before Building)
304
+
305
+ - [ ] PLAN.md has valid frontmatter (Gate 4)
306
+ - [ ] `must_haves.truths` are observable facts (not implementation notes)
307
+ - [ ] `must_haves.artifacts` specify file path, minimum size, and key exports
308
+ - [ ] Update STATE.md status to "Planned"
309
+
310
+ ### Before Building
311
+
312
+ - [ ] PLAN.md exists and is readable (Gate 2)
313
+ - [ ] Update STATE.md status to "Building"
314
+ - [ ] Note any pre-existing test failures — don't fix them unless the plan says to
315
+
316
+ ### After Each Commit
317
+
318
+ - [ ] Commit message matches `{type}({scope}): {description}` (Gate 1)
319
+ - [ ] Only files listed in the plan's `files_modified` were staged
320
+ - [ ] The commit represents a single logical change
321
+
322
+ ### After Building
323
+
324
+ - [ ] SUMMARY.md written with all required frontmatter fields (Gate 4)
325
+ - [ ] Every file listed in `key_files` exists on disk
326
+ - [ ] All commits listed in `commits` frontmatter actually exist in git log
327
+ - [ ] Update STATE.md status to "Built"
328
+ - [ ] Check `.planning/todos/pending/` — auto-close any todos satisfied by this work
329
+
330
+ ### After Verification
331
+
332
+ - [ ] VERIFICATION.md written with `result: PASS` or `result: FAIL`
333
+ - [ ] Every must-have has a row in the verification table with evidence
334
+ - [ ] Update STATE.md status to "Verified"
335
+ - [ ] Update ROADMAP.md phase status to "Verified" (Gate 5)
336
+ - [ ] Suggest next phase to the user
337
+
338
+ ---
339
+
340
+ ## Supplementary Workflows
341
+
342
+ ### Quick Tasks
343
+
344
+ For small changes that don't justify the full Plan-Build-Review cycle:
345
+
346
+ **Use quick tasks for:**
347
+ - Single-file changes
348
+ - Bug fixes with obvious solutions
349
+ - Documentation updates
350
+ - Configuration tweaks
351
+
352
+ **Use the full cycle for:**
353
+ - Changes spanning 3+ files
354
+ - New features requiring design decisions
355
+ - Anything that will take more than one commit
356
+
357
+ **Quick task structure:**
358
+
359
+ ```
360
+ .planning/quick/
361
+ └── NNN-slug/
362
+ ├── PLAN.md # Brief: what, why, files
363
+ └── SUMMARY.md # What was done, commit SHA
364
+ ```
365
+
366
+ Commit scope for quick tasks: `quick-NNN` (e.g., `fix(quick-001): correct typo in README`).
367
+
368
+ Quick PLAN.md only needs: one-sentence goal, files to touch, and definition of done.
369
+ Quick SUMMARY.md only needs: what was done and the commit hash.
370
+
371
+ ### Milestones
372
+
373
+ Milestones group phases into versioned releases.
374
+
375
+ **ROADMAP.md milestone syntax:**
376
+
377
+ ```markdown
378
+ ## Milestone v1.0: Initial Release
379
+ **Phases:** 01, 02, 03
380
+ **Status:** In Progress
381
+ ```
382
+
383
+ **Completing a milestone:**
384
+
385
+ 1. Verify all included phases have `status: Verified`
386
+ 2. Create `.planning/milestones/v{version}/`
387
+ 3. Copy (archive) `ROADMAP.md` and phase directories into it
388
+ 4. Create `STATS.md` with completion date, total commits, and phase count
389
+ 5. Collapse the milestone section in active ROADMAP.md to a single "COMPLETED" line
390
+ 6. Tag the commit: `git tag v{version}`
391
+
392
+ Archive structure:
393
+
394
+ ```
395
+ .planning/milestones/v1.0/
396
+ ├── ROADMAP.md # Snapshot of roadmap at completion
397
+ ├── STATS.md # Summary stats
398
+ └── phases/
399
+ ├── 01-setup/
400
+ └── 02-auth/
401
+ ```
402
+
403
+ ### Debug Workflow
404
+
405
+ For bugs requiring systematic investigation across sessions:
406
+
407
+ **Create a debug session:**
408
+
409
+ ```
410
+ .planning/debug/{slug}/
411
+ └── HYPOTHESIS.md
412
+ ```
413
+
414
+ **HYPOTHESIS.md format:**
415
+
416
+ ```markdown
417
+ ---
418
+ bug: "Brief bug description"
419
+ created: "2025-01-15"
420
+ status: "investigating" # investigating | confirmed | resolved
421
+ ---
422
+
423
+ ## Symptoms
424
+ What the user observes. Include error messages, reproduction steps.
425
+
426
+ ## Hypotheses
427
+
428
+ ### H1: [Hypothesis name]
429
+ **Test:** How to confirm or deny this
430
+ **Result:** (fill in after testing)
431
+ **Conclusion:** CONFIRMED / RULED OUT
432
+
433
+ ### H2: [Hypothesis name]
434
+ **Test:** ...
435
+ **Result:** ...
436
+ **Conclusion:** ...
437
+
438
+ ## Root Cause
439
+ (fill in when found)
440
+
441
+ ## Fix Applied
442
+ (fill in after resolution — commit SHA and description)
443
+ ```
444
+
445
+ Update `status` to `resolved` and record the fix. The file persists across sessions
446
+ so you never re-investigate the same root cause.
447
+
448
+ ### Notes System
449
+
450
+ Capture decisions, observations, and ideas between sessions:
451
+
452
+ ```
453
+ .planning/notes/{YYYY-MM-DD}-{slug}.md
454
+ ```
455
+
456
+ **Note frontmatter:**
457
+
458
+ ```markdown
459
+ ---
460
+ date: "2025-01-15"
461
+ promoted: false
462
+ ---
463
+
464
+ The note body goes here. Free-form markdown.
465
+ ```
466
+
467
+ Use `promoted: true` when a note has been acted on (turned into a phase or todo).
468
+ Notes are append-only — add new files rather than editing old ones.
469
+
470
+ ### Todo Management
471
+
472
+ Cross-session task backlog for items that don't yet have a phase:
473
+
474
+ ```
475
+ .planning/todos/pending/{NNN}-{slug}.md # Active
476
+ .planning/todos/done/{NNN}-{slug}.md # Completed
477
+ ```
478
+
479
+ **Todo format:**
480
+
481
+ ```markdown
482
+ ---
483
+ id: "001"
484
+ created: "2025-01-15"
485
+ priority: medium # high | medium | low
486
+ ---
487
+
488
+ What needs to be done and why.
489
+ ```
490
+
491
+ After completing any phase or quick task, check `.planning/todos/pending/` and
492
+ move satisfied todos to `done/` by renaming the file.
493
+
494
+ ### Pause and Resume
495
+
496
+ Jules works asynchronously. Use `.continue-here.md` to preserve context between sessions.
497
+
498
+ **When pausing (write `.planning/.continue-here.md`):**
499
+
500
+ ```markdown
501
+ ---
502
+ paused_at: "2025-01-15T16:00:00Z"
503
+ current_phase: "02-auth"
504
+ current_plan: "02-01"
505
+ ---
506
+
507
+ ## What Was In Progress
508
+ Which task was active, what had been done, what remained.
509
+
510
+ ## Blockers
511
+ Any external dependencies or decisions needed before resuming.
512
+
513
+ ## Next Action
514
+ The single most important thing to do when resuming. Be specific.
515
+
516
+ ## Context Notes
517
+ Anything Jules would need to know that isn't obvious from the files.
518
+ ```
519
+
520
+ **When resuming:**
521
+
522
+ 1. Read `.planning/.continue-here.md` first
523
+ 2. Read `STATE.md` to confirm current position
524
+ 3. Execute the "Next Action" listed
525
+ 4. Delete `.planning/.continue-here.md` once work resumes normally
526
+
527
+ ### Brownfield Onboarding
528
+
529
+ Introducing PBR to an existing project without a `.planning/` directory:
530
+
531
+ 1. **Scan the codebase** — understand the current structure, tech stack, and any existing docs
532
+ 2. **Create `.planning/`** — initialize the directory structure
533
+ 3. **Write ROADMAP.md** — identify logical phases based on what already exists
534
+ - Phase 01 is often "Baseline" — mark it Verified to acknowledge existing work
535
+ - Subsequent phases are planned work
536
+ 4. **Write STATE.md** — set `current_phase` to the first active phase, status "Planning"
537
+ 5. **Create PLAN.md for Phase 01 (if not trivial)** — document what exists as baseline
538
+ 6. **Proceed normally** — the next feature or bug fix becomes Phase 02+
539
+
540
+ Don't try to retroactively document every historical decision. A lightweight ROADMAP.md
541
+ that captures the current state is enough to enable PBR going forward.
542
+
543
+ ---
544
+
545
+ ## Working Rules for Jules
546
+
547
+ ### Before Starting Any Task
548
+
549
+ 1. Check if `.planning/STATE.md` exists — if so, read it to understand current position
550
+ 2. Check if `.planning/ROADMAP.md` exists — if so, read it to understand phase structure
551
+ 3. If the user's request maps to an existing phase, follow the Plan-Build-Review cycle
552
+ 4. If no `.planning/` directory exists and the task is non-trivial, offer to create one
553
+ 5. Check `.planning/.continue-here.md` — if it exists, resume from there
554
+
555
+ ### During Execution
556
+
557
+ - **One task, one commit** — never bundle unrelated changes
558
+ - **Stage specific files** — never use `git add .` or `git add -A`
559
+ - **Follow the plan** — if you need to deviate, document why in SUMMARY.md
560
+ - **Update STATE.md** — keep it current as you transition between stages
561
+ - **Don't over-engineer** — build exactly what the plan specifies, nothing more
562
+
563
+ ### After Completing Work
564
+
565
+ - Write SUMMARY.md documenting what was built
566
+ - Run verification against the plan's must_haves
567
+ - Write VERIFICATION.md with pass/fail results and evidence
568
+ - Update STATE.md status to "Built" or "Verified"
569
+ - Check `.planning/todos/pending/` for any todos to close
570
+ - Suggest the next logical step to the user
571
+
572
+ ---
573
+
574
+ ## Context Management
575
+
576
+ Jules operates asynchronously, so context management is critical:
577
+
578
+ - **Write decisions to disk** — don't rely on conversation memory
579
+ - **STATE.md is the source of truth** — always read it at task start
580
+ - **Plans are contracts** — they define what "done" means
581
+ - **Summaries close the loop** — they record what actually happened
582
+ - **Use `.continue-here.md`** — for deliberate pauses across sessions
583
+
584
+ If a task is complex enough to need multiple Jules sessions, the
585
+ `.planning/` directory ensures continuity between them.
586
+
587
+ ---
588
+
589
+ ## Anti-Patterns to Avoid
590
+
591
+ 1. **Building without a plan** — leads to scope creep and rework
592
+ 2. **Skipping verification** — you don't know if you succeeded
593
+ 3. **Giant commits** — impossible to review or revert
594
+ 4. **Modifying files outside the plan's scope** — creates hidden dependencies
595
+ 5. **Ignoring must_haves** — they exist to define "done" objectively
596
+ 6. **Re-reading entire files when summaries exist** — wastes context
597
+ 7. **Creating artifacts the user didn't approve** — always confirm first
598
+ 8. **Using `git add .`** — stages unintended files; always stage explicitly
599
+ 9. **Skipping STATE.md updates** — stale state causes confusion across sessions
600
+ 10. **Fixing pre-existing bugs while building a phase** — log to todos, stay focused
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pbr",
3
- "version": "2.53.0",
3
+ "version": "2.55.0",
4
4
  "description": "Plan-Build-Run — Structured development workflow for Claude Code. Solves context rot through disciplined subagent delegation, structured planning, atomic execution, and goal-backward verification.",
5
5
  "author": {
6
6
  "name": "SienkLogic",
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: "Interactive onboarding wizard for new Plan-Build-Run projects."
2
+ description: "Reconfigure an existing Plan-Build-Run project (models, features, CLAUDE.md). For new projects, use /pbr:begin."
3
3
  ---
4
4
 
5
5
  This command is provided by the `pbr:setup` skill.
@@ -0,0 +1,5 @@
1
+ ---
2
+ description: "Revert recent PBR-generated commits by phase/plan, safely using git revert."
3
+ ---
4
+
5
+ This command is provided by the `pbr:undo` skill.
@@ -119,7 +119,11 @@
119
119
  "confirm_plan": { "type": "boolean" },
120
120
  "confirm_execute": { "type": "boolean" },
121
121
  "confirm_transition": { "type": "boolean" },
122
- "issues_review": { "type": "boolean" }
122
+ "issues_review": { "type": "boolean" },
123
+ "confirm_research": { "type": "boolean" },
124
+ "confirm_seeds": { "type": "boolean" },
125
+ "confirm_deferred": { "type": "boolean" },
126
+ "confirm_commit_docs": { "type": "boolean" }
123
127
  },
124
128
  "additionalProperties": false
125
129
  },