@rayburst/cc 1.0.26 → 1.0.28
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/discover.md +15 -5
- package/commands/rb/implement.md +16 -40
- package/commands/rb/plan.md +17 -9
- package/commands/rb/validate-card.md +15 -54
- package/commands/rb/validate-feature.md +15 -32
- package/package.json +1 -1
package/commands/rb/discover.md
CHANGED
|
@@ -77,11 +77,13 @@ Print a warning:
|
|
|
77
77
|
|
|
78
78
|
If a feature-atlas key is found, proceed to Step 1 using this derived prefix.
|
|
79
79
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
80
|
+
If no feature-atlas server is found in either `rb-config.md` or `.mcp.json`, stop immediately:
|
|
81
|
+
```
|
|
82
|
+
ERROR: rb:discover requires an MCP server assigned to the `feature-atlas` role.
|
|
83
83
|
|
|
84
|
-
|
|
84
|
+
Run /rb:init to configure MCP server role assignments.
|
|
85
|
+
The feature-atlas role must be mapped to an MCP server in .mcp.json before running discovery.
|
|
86
|
+
```
|
|
85
87
|
|
|
86
88
|
---
|
|
87
89
|
|
|
@@ -94,7 +96,15 @@ Call:
|
|
|
94
96
|
```
|
|
95
97
|
|
|
96
98
|
- **Success** → proceed with MCP tool calls
|
|
97
|
-
- **Failure** →
|
|
99
|
+
- **Failure** → stop immediately:
|
|
100
|
+
```
|
|
101
|
+
ERROR: The MCP server for the feature-atlas role is not loaded in this session.
|
|
102
|
+
|
|
103
|
+
The MCP server '<server-name>' must be available. Try:
|
|
104
|
+
1. Start a new Claude session (MCP servers load at session start)
|
|
105
|
+
2. Verify the server entry exists in .mcp.json
|
|
106
|
+
3. Re-run /rb:init to confirm role assignments
|
|
107
|
+
```
|
|
98
108
|
|
|
99
109
|
---
|
|
100
110
|
|
package/commands/rb/implement.md
CHANGED
|
@@ -57,7 +57,13 @@ Read `.claude/rb-config.md` and parse the `## MCP Role Assignments` table. Find
|
|
|
57
57
|
```
|
|
58
58
|
Example: if the server name is `rayburst-rb-engineer-780086`, then `MCP_PREFIX = mcp__rayburst-rb-engineer-780086__`.
|
|
59
59
|
|
|
60
|
-
- If `.claude/rb-config.md` does not exist or the role is `unassigned`,
|
|
60
|
+
- If `.claude/rb-config.md` does not exist or the role is `unassigned`, stop immediately:
|
|
61
|
+
```
|
|
62
|
+
ERROR: rb:implement requires an MCP server assigned to the `engineer` role.
|
|
63
|
+
|
|
64
|
+
Run /rb:init to configure MCP server role assignments.
|
|
65
|
+
The engineer role must be mapped to an MCP server in .mcp.json before implementing cards.
|
|
66
|
+
```
|
|
61
67
|
|
|
62
68
|
All MCP tool calls below use `<MCP_PREFIX>` as a stand-in for the resolved prefix.
|
|
63
69
|
|
|
@@ -69,7 +75,15 @@ All MCP tool calls below use `<MCP_PREFIX>` as a stand-in for the resolved prefi
|
|
|
69
75
|
<MCP_PREFIX>ping()
|
|
70
76
|
```
|
|
71
77
|
|
|
72
|
-
If ping fails (tool not found
|
|
78
|
+
If ping fails (tool not found or error), stop immediately:
|
|
79
|
+
```
|
|
80
|
+
ERROR: The MCP server for the engineer role is not loaded in this session.
|
|
81
|
+
|
|
82
|
+
The MCP server '<server-name>' must be available. Try:
|
|
83
|
+
1. Start a new Claude session (MCP servers load at session start)
|
|
84
|
+
2. Verify the server entry exists in .mcp.json
|
|
85
|
+
3. Re-run /rb:init to confirm role assignments
|
|
86
|
+
```
|
|
73
87
|
|
|
74
88
|
---
|
|
75
89
|
|
|
@@ -257,44 +271,6 @@ Run `/rb:validate-card <cardId>` to run QA validation.
|
|
|
257
271
|
|
|
258
272
|
---
|
|
259
273
|
|
|
260
|
-
## MCP Curl Fallback
|
|
261
|
-
|
|
262
|
-
When MCP tools are unavailable, use curl JSON-RPC. Read the API key from `.mcp.json` under the server assigned to the `engineer` role (or the first HTTP server entry).
|
|
263
|
-
|
|
264
|
-
```bash
|
|
265
|
-
# Ping
|
|
266
|
-
curl -s -X POST "https://api.rayburst.app/api/v1/mcp" \
|
|
267
|
-
-H "Authorization: Bearer <KEY>" \
|
|
268
|
-
-H "Content-Type: application/json" \
|
|
269
|
-
-H "Accept: application/json, text/event-stream" \
|
|
270
|
-
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"ping","arguments":{}}}'
|
|
271
|
-
|
|
272
|
-
# Get card
|
|
273
|
-
curl -s -X POST "https://api.rayburst.app/api/v1/mcp" \
|
|
274
|
-
-H "Authorization: Bearer <KEY>" \
|
|
275
|
-
-H "Content-Type: application/json" \
|
|
276
|
-
-H "Accept: application/json, text/event-stream" \
|
|
277
|
-
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_card","arguments":{"cardId":"<cardId>"}}}'
|
|
278
|
-
|
|
279
|
-
# Move card
|
|
280
|
-
curl -s -X POST "https://api.rayburst.app/api/v1/mcp" \
|
|
281
|
-
-H "Authorization: Bearer <KEY>" \
|
|
282
|
-
-H "Content-Type: application/json" \
|
|
283
|
-
-H "Accept: application/json, text/event-stream" \
|
|
284
|
-
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"move_card","arguments":{"cardId":"<cardId>","status":"in-progress"}}}'
|
|
285
|
-
|
|
286
|
-
# Add comment
|
|
287
|
-
curl -s -X POST "https://api.rayburst.app/api/v1/mcp" \
|
|
288
|
-
-H "Authorization: Bearer <KEY>" \
|
|
289
|
-
-H "Content-Type: application/json" \
|
|
290
|
-
-H "Accept: application/json, text/event-stream" \
|
|
291
|
-
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"add_comment","arguments":{"cardId":"<cardId>","content":"<comment>"}}}'
|
|
292
|
-
```
|
|
293
|
-
|
|
294
|
-
Parse the `data:` line from the SSE response to extract the JSON result.
|
|
295
|
-
|
|
296
|
-
---
|
|
297
|
-
|
|
298
274
|
## Constraints
|
|
299
275
|
|
|
300
276
|
- **Full UUIDs only** — short hashes return NOT_FOUND
|
package/commands/rb/plan.md
CHANGED
|
@@ -9,6 +9,23 @@ allowed-tools:
|
|
|
9
9
|
|
|
10
10
|
# rb:plan — Task-Driven PM Session
|
|
11
11
|
|
|
12
|
+
> **HARD STOP — READ BEFORE ANYTHING ELSE**
|
|
13
|
+
>
|
|
14
|
+
> This command is **PM-only**. It MUST NOT touch any code or files outside `.claude/rb-config.md`.
|
|
15
|
+
>
|
|
16
|
+
> The following actions are **absolutely forbidden** for the duration of this command:
|
|
17
|
+
> - Writing, editing, or creating any code file (no Edit, no Write, no file changes)
|
|
18
|
+
> - Running build, test, lint, or npm commands
|
|
19
|
+
> - Making git commits or git operations
|
|
20
|
+
> - Suggesting implementation steps or architectural decisions
|
|
21
|
+
> - Moving cards to `in-progress` or `done`
|
|
22
|
+
>
|
|
23
|
+
> If you feel tempted to implement anything — **stop immediately and return to Step 4 (Create Board Card)**.
|
|
24
|
+
>
|
|
25
|
+
> The CLAUDE.md "PM Feature Sync" rule does NOT apply here — skip it entirely. This command IS the PM step.
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
12
29
|
Given a task description, act as a PM to set it up in the feature atlas and on the board. This command **never implements anything** — it only does PM + board setup.
|
|
13
30
|
|
|
14
31
|
## Reference Data
|
|
@@ -165,15 +182,6 @@ Always use the full UUID from the `create_card` response — never a short hash.
|
|
|
165
182
|
|
|
166
183
|
---
|
|
167
184
|
|
|
168
|
-
## What `/rb:plan` Must NOT Do
|
|
169
|
-
|
|
170
|
-
- Never write, edit, or create code files
|
|
171
|
-
- Never run implementation commands (npm, git commits, builds, tests)
|
|
172
|
-
- Never suggest implementation steps or architectural decisions
|
|
173
|
-
- Never move cards to `in-progress` or `done`
|
|
174
|
-
|
|
175
|
-
---
|
|
176
|
-
|
|
177
185
|
## Feature Quality Rules
|
|
178
186
|
|
|
179
187
|
**Titles:**
|
|
@@ -61,7 +61,13 @@ Read `.claude/rb-config.md` and parse the `## MCP Role Assignments` table. Find
|
|
|
61
61
|
```
|
|
62
62
|
Example: if the server name is `rayburst-rb-qa-engineer-55ae0f`, then `MCP_PREFIX = mcp__rayburst-rb-qa-engineer-55ae0f__`.
|
|
63
63
|
|
|
64
|
-
- If `.claude/rb-config.md` does not exist or the role is `unassigned`,
|
|
64
|
+
- If `.claude/rb-config.md` does not exist or the role is `unassigned`, stop immediately:
|
|
65
|
+
```
|
|
66
|
+
ERROR: rb:validate-card requires an MCP server assigned to the `qa-engineer` role.
|
|
67
|
+
|
|
68
|
+
Run /rb:init to configure MCP server role assignments.
|
|
69
|
+
The qa-engineer role must be mapped to an MCP server in .mcp.json before validating cards.
|
|
70
|
+
```
|
|
65
71
|
|
|
66
72
|
All MCP tool calls below use `<MCP_PREFIX>` as a stand-in for the resolved prefix.
|
|
67
73
|
|
|
@@ -73,22 +79,15 @@ All MCP tool calls below use `<MCP_PREFIX>` as a stand-in for the resolved prefi
|
|
|
73
79
|
<MCP_PREFIX>ping()
|
|
74
80
|
```
|
|
75
81
|
|
|
76
|
-
**If the MCP tool is not found** (error: "No such tool available"),
|
|
77
|
-
|
|
78
|
-
```bash
|
|
79
|
-
curl -s -X POST "https://api.rayburst.app/api/v1/mcp" \
|
|
80
|
-
-H "Authorization: Bearer <API_KEY_FROM_.mcp.json>" \
|
|
81
|
-
-H "Content-Type: application/json" \
|
|
82
|
-
-H "Accept: application/json, text/event-stream" \
|
|
83
|
-
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"ping","arguments":{}}}'
|
|
82
|
+
**If the MCP tool is not found** (error: "No such tool available"), stop immediately:
|
|
84
83
|
```
|
|
84
|
+
ERROR: The MCP server for the qa-engineer role is not loaded in this session.
|
|
85
85
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
**Use curl for ALL subsequent MCP calls** (get_card, list_cards, list_card_features, get_feature, add_comment, submit_validation, move_card) whenever MCP tools are unavailable.
|
|
86
|
+
The MCP server '<server-name>' must be available. Try:
|
|
87
|
+
1. Start a new Claude session (MCP servers load at session start)
|
|
88
|
+
2. Verify the server entry exists in .mcp.json
|
|
89
|
+
3. Re-run /rb:init to confirm role assignments
|
|
90
|
+
```
|
|
92
91
|
|
|
93
92
|
### Step 2: Resolve the Card
|
|
94
93
|
|
|
@@ -222,7 +221,7 @@ After testing each criterion, record locally:
|
|
|
222
221
|
})
|
|
223
222
|
```
|
|
224
223
|
|
|
225
|
-
**Comment rules
|
|
224
|
+
**Comment rules:**
|
|
226
225
|
- Keep comments under 500 characters
|
|
227
226
|
- Plain prose only — no backtick code, no raw code snippets, no JSON in comment strings (causes `INTERNAL_ERROR`)
|
|
228
227
|
- Reference files as plain text: "ComponentName.tsx line 79" not a code excerpt
|
|
@@ -281,44 +280,6 @@ Report ID: <report-id>
|
|
|
281
280
|
|
|
282
281
|
---
|
|
283
282
|
|
|
284
|
-
## MCP Curl Fallback
|
|
285
|
-
|
|
286
|
-
When MCP tools are unavailable, use this curl pattern. Read the API key from `.mcp.json` under the server assigned to the `qa-engineer` role (or the first HTTP server entry if config is missing):
|
|
287
|
-
|
|
288
|
-
```bash
|
|
289
|
-
# Get card
|
|
290
|
-
curl -s -X POST "https://api.rayburst.app/api/v1/mcp" \
|
|
291
|
-
-H "Authorization: Bearer <KEY>" \
|
|
292
|
-
-H "Content-Type: application/json" \
|
|
293
|
-
-H "Accept: application/json, text/event-stream" \
|
|
294
|
-
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_card","arguments":{"cardId":"<cardId>"}}}'
|
|
295
|
-
|
|
296
|
-
# List card features
|
|
297
|
-
curl -s -X POST "https://api.rayburst.app/api/v1/mcp" \
|
|
298
|
-
-H "Authorization: Bearer <KEY>" \
|
|
299
|
-
-H "Content-Type: application/json" \
|
|
300
|
-
-H "Accept: application/json, text/event-stream" \
|
|
301
|
-
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"list_card_features","arguments":{"cardId":"<cardId>"}}}'
|
|
302
|
-
|
|
303
|
-
# Submit validation (cardId, not featureId)
|
|
304
|
-
curl -s -X POST "https://api.rayburst.app/api/v1/mcp" \
|
|
305
|
-
-H "Authorization: Bearer <KEY>" \
|
|
306
|
-
-H "Content-Type: application/json" \
|
|
307
|
-
-H "Accept: application/json, text/event-stream" \
|
|
308
|
-
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"submit_validation","arguments":{"cardId":"<cardId>","results":[...],"overallComment":"..."}}}'
|
|
309
|
-
|
|
310
|
-
# Move card to done
|
|
311
|
-
curl -s -X POST "https://api.rayburst.app/api/v1/mcp" \
|
|
312
|
-
-H "Authorization: Bearer <KEY>" \
|
|
313
|
-
-H "Content-Type: application/json" \
|
|
314
|
-
-H "Accept: application/json, text/event-stream" \
|
|
315
|
-
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"move_card","arguments":{"cardId":"<cardId>","status":"done"}}}'
|
|
316
|
-
```
|
|
317
|
-
|
|
318
|
-
Parse the `data:` line from the SSE response to extract the JSON result.
|
|
319
|
-
|
|
320
|
-
---
|
|
321
|
-
|
|
322
283
|
## Constraints
|
|
323
284
|
|
|
324
285
|
- Full UUIDs only
|
|
@@ -61,7 +61,13 @@ Read `.claude/rb-config.md` and parse the `## MCP Role Assignments` table. Find
|
|
|
61
61
|
```
|
|
62
62
|
Example: if the server name is `rayburst-rb-qa-engineer-55ae0f`, then `MCP_PREFIX = mcp__rayburst-rb-qa-engineer-55ae0f__`.
|
|
63
63
|
|
|
64
|
-
- If `.claude/rb-config.md` does not exist or the role is `unassigned`,
|
|
64
|
+
- If `.claude/rb-config.md` does not exist or the role is `unassigned`, stop immediately:
|
|
65
|
+
```
|
|
66
|
+
ERROR: rb:validate-feature requires an MCP server assigned to the `qa-engineer` role.
|
|
67
|
+
|
|
68
|
+
Run /rb:init to configure MCP server role assignments.
|
|
69
|
+
The qa-engineer role must be mapped to an MCP server in .mcp.json before validating features.
|
|
70
|
+
```
|
|
65
71
|
|
|
66
72
|
All MCP tool calls below use `<MCP_PREFIX>` as a stand-in for the resolved prefix.
|
|
67
73
|
|
|
@@ -73,22 +79,15 @@ All MCP tool calls below use `<MCP_PREFIX>` as a stand-in for the resolved prefi
|
|
|
73
79
|
<MCP_PREFIX>ping()
|
|
74
80
|
```
|
|
75
81
|
|
|
76
|
-
**If the MCP tool is not found** (error: "No such tool available"),
|
|
77
|
-
|
|
78
|
-
```bash
|
|
79
|
-
curl -s -X POST "https://api.rayburst.app/api/v1/mcp" \
|
|
80
|
-
-H "Authorization: Bearer <API_KEY_FROM_.mcp.json>" \
|
|
81
|
-
-H "Content-Type: application/json" \
|
|
82
|
-
-H "Accept: application/json, text/event-stream" \
|
|
83
|
-
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"ping","arguments":{}}}'
|
|
82
|
+
**If the MCP tool is not found** (error: "No such tool available"), stop immediately:
|
|
84
83
|
```
|
|
84
|
+
ERROR: The MCP server for the qa-engineer role is not loaded in this session.
|
|
85
85
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
**Use curl for ALL subsequent MCP calls** (get_feature, list_boards, create_card, link_feature, submit_validation, update_feature) whenever MCP tools are unavailable.
|
|
86
|
+
The MCP server '<server-name>' must be available. Try:
|
|
87
|
+
1. Start a new Claude session (MCP servers load at session start)
|
|
88
|
+
2. Verify the server entry exists in .mcp.json
|
|
89
|
+
3. Re-run /rb:init to confirm role assignments
|
|
90
|
+
```
|
|
92
91
|
|
|
93
92
|
### Step 2: Resolve the Feature
|
|
94
93
|
|
|
@@ -222,7 +221,7 @@ Rules:
|
|
|
222
221
|
})
|
|
223
222
|
```
|
|
224
223
|
|
|
225
|
-
**Comment rules
|
|
224
|
+
**Comment rules:**
|
|
226
225
|
- Keep comments under 500 characters
|
|
227
226
|
- Plain prose only — no backtick code, no raw code snippets, no JSON in comment strings (causes `INTERNAL_ERROR`)
|
|
228
227
|
- Reference files as plain text: "ComponentName.tsx line 79" not a code excerpt
|
|
@@ -270,22 +269,6 @@ Submitted via submit_validation (featureId: <id>)
|
|
|
270
269
|
|
|
271
270
|
---
|
|
272
271
|
|
|
273
|
-
## MCP Curl Fallback
|
|
274
|
-
|
|
275
|
-
When MCP tools are unavailable, use this curl pattern. Read the API key from `.mcp.json` under the server assigned to the `qa-engineer` role (or the first HTTP server entry if config is missing):
|
|
276
|
-
|
|
277
|
-
```bash
|
|
278
|
-
curl -s -X POST "https://api.rayburst.app/api/v1/mcp" \
|
|
279
|
-
-H "Authorization: Bearer <KEY>" \
|
|
280
|
-
-H "Content-Type: application/json" \
|
|
281
|
-
-H "Accept: application/json, text/event-stream" \
|
|
282
|
-
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_feature","arguments":{"featureId":"<id>"}}}'
|
|
283
|
-
```
|
|
284
|
-
|
|
285
|
-
Parse the `data:` line from the SSE response to extract the JSON result.
|
|
286
|
-
|
|
287
|
-
---
|
|
288
|
-
|
|
289
272
|
## Constraints
|
|
290
273
|
|
|
291
274
|
- Full UUIDs only
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rayburst/cc",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.28",
|
|
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"
|