@rayburst/cc 1.0.24 → 1.0.25
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.
- package/commands/rb/implement.md +2 -140
- package/package.json +1 -1
package/commands/rb/implement.md
CHANGED
|
@@ -48,21 +48,6 @@ Examples:
|
|
|
48
48
|
|
|
49
49
|
## Workflow
|
|
50
50
|
|
|
51
|
-
### Step 0: Check for Resume State
|
|
52
|
-
|
|
53
|
-
Before anything else, check if a previous `rb:implement` session was interrupted:
|
|
54
|
-
|
|
55
|
-
1. Run `ls .claude/rb-sessions/*.md 2>/dev/null` (via Bash).
|
|
56
|
-
2. **If a `cardId` was passed as input**, check for `.claude/rb-sessions/<cardId>.md` specifically:
|
|
57
|
-
- If it exists, read it and follow the `## Resume Instructions` section exactly.
|
|
58
|
-
- If it does not exist but other session files are present, proceed normally from Step 1 (start fresh for this card).
|
|
59
|
-
3. **If no `cardId` was passed** and session files exist:
|
|
60
|
-
- If exactly one file: read it and follow its `## Resume Instructions` exactly.
|
|
61
|
-
- If multiple files: read each to get `sessionTitle` and `cardId`, list them to the user, and ask which to resume.
|
|
62
|
-
4. If no session files exist, proceed normally from Step 1.
|
|
63
|
-
|
|
64
|
-
---
|
|
65
|
-
|
|
66
51
|
### Step 0b: Resolve MCP Prefix
|
|
67
52
|
|
|
68
53
|
Read `.claude/rb-config.md` and parse the `## MCP Role Assignments` table. Find the row where `Role` is `engineer` and read its `MCP Server Name`.
|
|
@@ -175,7 +160,7 @@ Then in Step 6 (Enter Plan Mode), prepend a **"Fixing QA Failures"** section to
|
|
|
175
160
|
|
|
176
161
|
If no prior failure comment or validation report is found, proceed normally.
|
|
177
162
|
|
|
178
|
-
### Step 4: Move Card to `in-progress`
|
|
163
|
+
### Step 4: Move Card to `in-progress`
|
|
179
164
|
|
|
180
165
|
Before entering plan mode, move the card so the board reflects active work:
|
|
181
166
|
|
|
@@ -183,45 +168,6 @@ Before entering plan mode, move the card so the board reflects active work:
|
|
|
183
168
|
<MCP_PREFIX>move_card({ cardId: "<cardId>", status: "in-progress" })
|
|
184
169
|
```
|
|
185
170
|
|
|
186
|
-
Then **immediately** write an early session file so the card ID and intent survive a `/clear` or context compaction that might happen during plan approval:
|
|
187
|
-
|
|
188
|
-
```bash
|
|
189
|
-
mkdir -p .claude/rb-sessions
|
|
190
|
-
cat > .claude/rb-sessions/<cardId>.md << 'RBEOF'
|
|
191
|
-
# rb:implement Session
|
|
192
|
-
|
|
193
|
-
## Session Info
|
|
194
|
-
- **sessionTitle:** rb:implement — <card title>
|
|
195
|
-
- **cardId:** <cardId>
|
|
196
|
-
- **cardTitle:** <card title>
|
|
197
|
-
- **startedAt:** <ISO timestamp>
|
|
198
|
-
- **currentPhase:** Plan mode — plan not yet approved; re-enter plan mode and present it to the user
|
|
199
|
-
|
|
200
|
-
## MCP Prefix
|
|
201
|
-
`<MCP_PREFIX>`
|
|
202
|
-
|
|
203
|
-
## Acceptance Criteria
|
|
204
|
-
<list each criterion: - [criterionId] title — description>
|
|
205
|
-
|
|
206
|
-
## Implementation Todos (in order)
|
|
207
|
-
<list each todo item from the card's todo list, with checkbox: - [ ] todo text>
|
|
208
|
-
|
|
209
|
-
## Resume Instructions
|
|
210
|
-
|
|
211
|
-
IMPORTANT: You are resuming an interrupted `rb:implement` session. Context was cleared or compacted during plan approval. The card is already `in-progress`. Do NOT start over from Step 0. Execute the following immediately:
|
|
212
|
-
|
|
213
|
-
1. Re-read the acceptance criteria and todos listed above.
|
|
214
|
-
2. Enter plan mode (`EnterPlanMode`) and present the implementation plan to the user for approval.
|
|
215
|
-
3. After user approves, post the plan as a card comment, then implement all todos in order.
|
|
216
|
-
4. After ALL todos are complete and code is written, run:
|
|
217
|
-
`<MCP_PREFIX>move_card({ cardId: "<cardId>", status: "validation" })`
|
|
218
|
-
5. Post an implementation summary comment:
|
|
219
|
-
`<MCP_PREFIX>add_comment({ cardId: "<cardId>", content: "## Implementation Complete\n\nReady for QA validation.\n\n### What was built\n<brief summary>\n\n### Files changed\n- <file>\n\n### Criteria coverage\n- <criterion>: satisfied via <explanation>" })`
|
|
220
|
-
6. Delete this session file: `rm .claude/rb-sessions/<cardId>.md`
|
|
221
|
-
7. Print: "## Implementation Complete: <card title>\n\nCard ID: <cardId>\nStatus: → validation\n\nRun /rb:validate-card <cardId> to run QA validation."
|
|
222
|
-
RBEOF
|
|
223
|
-
```
|
|
224
|
-
|
|
225
171
|
### Step 5: Conflict Detection
|
|
226
172
|
|
|
227
173
|
Before planning, detect criteria in *other* active features that this implementation might break.
|
|
@@ -295,46 +241,6 @@ After the user approves the plan (via `ExitPlanMode`), post a concise summary to
|
|
|
295
241
|
|
|
296
242
|
Keep the comment under 5000 characters. Use plain markdown prose — no raw code snippets or code fences with actual code (describe the approach, don't paste it).
|
|
297
243
|
|
|
298
|
-
**Immediately after posting the plan comment**, update the session file — BEFORE writing any code. The early session file from Step 4 already exists; overwrite it now with the post-approval state so the resume instructions reflect that the plan is approved:
|
|
299
|
-
|
|
300
|
-
Overwrite `.claude/rb-sessions/<cardId>.md` with the execution context:
|
|
301
|
-
|
|
302
|
-
```bash
|
|
303
|
-
cat > .claude/rb-sessions/<cardId>.md << 'RBEOF'
|
|
304
|
-
# rb:implement Session
|
|
305
|
-
|
|
306
|
-
## Session Info
|
|
307
|
-
- **sessionTitle:** rb:implement — <card title>
|
|
308
|
-
- **cardId:** <cardId>
|
|
309
|
-
- **cardTitle:** <card title>
|
|
310
|
-
- **startedAt:** <ISO timestamp>
|
|
311
|
-
- **currentPhase:** Execute Implementation — plan approved, starting first todo item
|
|
312
|
-
|
|
313
|
-
## MCP Prefix
|
|
314
|
-
`<MCP_PREFIX>` (e.g. `mcp__rayburst-rb-engineer-780086__`)
|
|
315
|
-
|
|
316
|
-
## Acceptance Criteria
|
|
317
|
-
<list each criterion: - [criterionId] title — description>
|
|
318
|
-
|
|
319
|
-
## Implementation Todos (in order)
|
|
320
|
-
<list each todo item from the card's todo list, with checkbox: - [ ] todo text>
|
|
321
|
-
|
|
322
|
-
## Resume Instructions
|
|
323
|
-
|
|
324
|
-
IMPORTANT: You are resuming an interrupted `rb:implement` session. The plan was already approved and posted as a card comment. Do NOT re-enter plan mode. Do NOT ask the user what to do. Execute the following steps immediately:
|
|
325
|
-
|
|
326
|
-
1. Run `<MCP_PREFIX>get_card({ cardId: "<cardId>" })` to get current card state.
|
|
327
|
-
2. Check which todos are still incomplete. Continue from the first incomplete todo.
|
|
328
|
-
3. Implement each remaining todo item in order — write the actual code changes.
|
|
329
|
-
4. After ALL todos are complete and code is written, run:
|
|
330
|
-
`<MCP_PREFIX>move_card({ cardId: "<cardId>", status: "validation" })`
|
|
331
|
-
5. Post an implementation summary comment:
|
|
332
|
-
`<MCP_PREFIX>add_comment({ cardId: "<cardId>", content: "## Implementation Complete\n\nReady for QA validation.\n\n### What was built\n<brief summary>\n\n### Files changed\n- <file>\n\n### Criteria coverage\n- <criterion>: satisfied via <explanation>" })`
|
|
333
|
-
6. Delete this session file: `rm .claude/rb-sessions/<cardId>.md`
|
|
334
|
-
7. Print: "## Implementation Complete: <card title>\n\nCard ID: <cardId>\nStatus: → validation\n\nRun /rb:validate-card <cardId> to run QA validation."
|
|
335
|
-
RBEOF
|
|
336
|
-
```
|
|
337
|
-
|
|
338
244
|
### Step 8: Execute Implementation
|
|
339
245
|
|
|
340
246
|
Switch to execute mode. Work through the implementation:
|
|
@@ -352,45 +258,6 @@ Switch to execute mode. Work through the implementation:
|
|
|
352
258
|
cd rayburst-api && npm run check
|
|
353
259
|
```
|
|
354
260
|
|
|
355
|
-
**At each major phase boundary** (e.g., after backend is complete, before starting frontend), rewrite `.claude/rb-sessions/<cardId>.md` with an updated `currentPhase` that contains the exact next action. Do NOT just sed one line — rewrite the whole file so the Resume Instructions stay complete. The `currentPhase` value should be precise enough that after compaction you know exactly what code to write next. Examples:
|
|
356
|
-
- `Frontend phase — implement /legacy route in src/routes/legacy/index.tsx`
|
|
357
|
-
- `Wrap-up — all todos done, next: move card to validation and post summary comment`
|
|
358
|
-
|
|
359
|
-
```bash
|
|
360
|
-
cat > .claude/rb-sessions/<cardId>.md << 'RBEOF'
|
|
361
|
-
# rb:implement Session
|
|
362
|
-
|
|
363
|
-
## Session Info
|
|
364
|
-
- **sessionTitle:** rb:implement — <card title>
|
|
365
|
-
- **cardId:** <cardId>
|
|
366
|
-
- **cardTitle:** <card title>
|
|
367
|
-
- **startedAt:** <ISO timestamp>
|
|
368
|
-
- **currentPhase:** <precise description of exact next action>
|
|
369
|
-
|
|
370
|
-
## MCP Prefix
|
|
371
|
-
`<MCP_PREFIX>`
|
|
372
|
-
|
|
373
|
-
## Acceptance Criteria
|
|
374
|
-
<list each criterion: - [criterionId] title — description>
|
|
375
|
-
|
|
376
|
-
## Remaining Todos
|
|
377
|
-
<list only the NOT YET COMPLETE todos: - [ ] todo text>
|
|
378
|
-
|
|
379
|
-
## Resume Instructions
|
|
380
|
-
|
|
381
|
-
IMPORTANT: You are resuming an interrupted `rb:implement` session. Context was compacted and you lost track of the workflow. The plan was already approved. Do NOT re-enter plan mode. Do NOT ask the user what to do. Execute the following steps immediately:
|
|
382
|
-
|
|
383
|
-
1. Your exact next action is: **<currentPhase>**
|
|
384
|
-
2. Complete that action, then work through any remaining todos above in order.
|
|
385
|
-
3. After ALL todos are done and code is written, run:
|
|
386
|
-
`<MCP_PREFIX>move_card({ cardId: "<cardId>", status: "validation" })`
|
|
387
|
-
4. Post an implementation summary comment:
|
|
388
|
-
`<MCP_PREFIX>add_comment({ cardId: "<cardId>", content: "## Implementation Complete\n\nReady for QA validation.\n\n### What was built\n<brief summary>\n\n### Files changed\n- <file>\n\n### Criteria coverage\n- <criterion>: satisfied via <explanation>" })`
|
|
389
|
-
5. Delete this session file: `rm .claude/rb-sessions/<cardId>.md`
|
|
390
|
-
6. Print: "## Implementation Complete: <card title>\n\nCard ID: <cardId>\nStatus: → validation\n\nRun /rb:validate-card <cardId> to run QA validation."
|
|
391
|
-
RBEOF
|
|
392
|
-
```
|
|
393
|
-
|
|
394
261
|
**At-risk criteria preservation**: If Step 5 flagged criteria from other features, verify after each relevant change that the behavior described in those criteria is still correct.
|
|
395
262
|
|
|
396
263
|
### Step 9: Verify Criteria
|
|
@@ -406,16 +273,12 @@ If any criterion is clearly not satisfied, loop back to Step 8 and fix it before
|
|
|
406
273
|
|
|
407
274
|
### Step 10: Move Card to `validation` and Print Summary
|
|
408
275
|
|
|
409
|
-
Move the card to `validation` status
|
|
276
|
+
Move the card to `validation` status:
|
|
410
277
|
|
|
411
278
|
```
|
|
412
279
|
<MCP_PREFIX>move_card({ cardId: "<cardId>", status: "validation" })
|
|
413
280
|
```
|
|
414
281
|
|
|
415
|
-
```bash
|
|
416
|
-
rm -f .claude/rb-sessions/<cardId>.md
|
|
417
|
-
```
|
|
418
|
-
|
|
419
282
|
Post a brief implementation summary comment:
|
|
420
283
|
|
|
421
284
|
```
|
|
@@ -515,7 +378,6 @@ Parse the `data:` line from the SSE response to extract the JSON result.
|
|
|
515
378
|
- **Do NOT fix failing criteria during QA** — report them, return the card, and stop
|
|
516
379
|
- **If conflict detection finds at-risk criteria, STOP and prompt** — do not silently proceed
|
|
517
380
|
- **If user cancels after conflict detection, move card back to `ready`** before stopping
|
|
518
|
-
- **Context auto-clean** — compact or delegate to subagent after each major implementation phase
|
|
519
381
|
- **Implementation comments under 5000 characters** — no raw code in comment content
|
|
520
382
|
- **Validation criterion comments under 500 characters** — plain prose only, no backticks
|
|
521
383
|
- **Run `/rb:init` first** if `.claude/rb-config.md` is missing
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rayburst/cc",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.25",
|
|
4
4
|
"description": "Rayburst slash commands for Claude Code — /rb:init, /rb:plan, /rb:sync, /rb:status, /rb:validate-feature, /rb:validate-card, /rb:implement, /rb:discover",
|
|
5
5
|
"bin": {
|
|
6
6
|
"rayburst-cc": "bin/install.js"
|