@rayburst/cc 1.0.31 → 1.0.32
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 +16 -8
- package/package.json +1 -1
package/commands/rb/discover.md
CHANGED
|
@@ -202,10 +202,10 @@ Initialize:
|
|
|
202
202
|
|
|
203
203
|
3. From the accessibility tree, record:
|
|
204
204
|
- **Page name** — derive from `<title>` tag or the main heading visible (e.g. "Board View", "Settings > Integrations", "Card Detail")
|
|
205
|
-
- **Behaviors** — list of interactive elements (buttons, forms, modals, sidebars) and their apparent purpose, expressed as
|
|
206
|
-
- "
|
|
207
|
-
- "
|
|
208
|
-
- "
|
|
205
|
+
- **Behaviors** — list of interactive elements (buttons, forms, modals, sidebars) and their apparent purpose, expressed as Gherkin scenarios:
|
|
206
|
+
- "Given the user is on the board page\nWhen the user clicks the + button\nThen a new card creation form appears"
|
|
207
|
+
- "Given cards exist on the board\nWhen the user selects a label filter\nThen only cards with that label are visible"
|
|
208
|
+
- "Given a card is in one column\nWhen the user drags the card to another column\nThen the card moves to the target column"
|
|
209
209
|
- **Links** — all `<a href>` values and navigation elements pointing to internal pages
|
|
210
210
|
|
|
211
211
|
4. For any clearly interactive element that opens a modal or panel (e.g. "+ New Card", "Settings", "Detail view"):
|
|
@@ -256,17 +256,25 @@ For each `new_candidate`, create a feature:
|
|
|
256
256
|
})
|
|
257
257
|
```
|
|
258
258
|
|
|
259
|
-
Immediately after `create_feature`, add 4–8 acceptance criteria in batches of 4–5. Each criterion must describe a
|
|
259
|
+
Immediately after `create_feature`, add 4–8 acceptance criteria in batches of 4–5. Each criterion must be written in **Gherkin syntax** (Given/When/Then) to describe a testable, user-facing behavior:
|
|
260
260
|
|
|
261
261
|
```
|
|
262
262
|
<MCP_PREFIX>add_criterion({
|
|
263
263
|
featureId: "<new feature ID>",
|
|
264
|
-
description: "<
|
|
264
|
+
description: "<Gherkin scenario — e.g. 'Given a card exists in a column\\nWhen the user clicks the × icon on a dependency\\nThen the dependency is removed from the card'>",
|
|
265
265
|
status: "pass",
|
|
266
266
|
tagIds: ["<tag IDs from Step 2 cache or newly created tags>"]
|
|
267
267
|
})
|
|
268
268
|
```
|
|
269
269
|
|
|
270
|
+
**Gherkin format rules:**
|
|
271
|
+
- Always use `Given / When / Then` structure, with optional `And` for additional steps
|
|
272
|
+
- `Given` — the precondition or starting state (e.g. "Given the user is on the board page")
|
|
273
|
+
- `When` — the user action or system event (e.g. "When the user clicks + New Card")
|
|
274
|
+
- `Then` — the observable outcome (e.g. "Then a new card appears in the first column")
|
|
275
|
+
- Keep each scenario focused on one behavior — one Given/When/Then block per criterion
|
|
276
|
+
- Use `\n` to separate Given/When/Then lines within the description string
|
|
277
|
+
|
|
270
278
|
**After creating a feature's criteria**, search for related already-tracked features (both from the existing atlas loaded in Step 2 and from features created earlier in this same discovery run) and link them:
|
|
271
279
|
|
|
272
280
|
```
|
|
@@ -326,7 +334,7 @@ For each `existing_feature` with observed behaviors not yet tracked as criteria:
|
|
|
326
334
|
```
|
|
327
335
|
<MCP_PREFIX>add_criterion({
|
|
328
336
|
featureId: "<existing feature ID>",
|
|
329
|
-
description: "<
|
|
337
|
+
description: "<Gherkin scenario — Given [precondition]\\nWhen [action]\\nThen [outcome]>",
|
|
330
338
|
status: "pass",
|
|
331
339
|
tagIds: ["<relevant tag IDs>"]
|
|
332
340
|
})
|
|
@@ -399,6 +407,6 @@ New tags:
|
|
|
399
407
|
5. **Batch MCP calls** in groups of 4–5 to stay within the 60 req/min rate limit.
|
|
400
408
|
6. **Do not create tags for every page** — reuse existing tags aggressively; create new ones only for genuinely new UI contexts.
|
|
401
409
|
7. **Feature titles = Noun Phrases** (e.g. "Card Label Management", "GitHub OAuth Integration", "Swimlane Board View") — not verb phrases or sentences.
|
|
402
|
-
8. **Criteria =
|
|
410
|
+
8. **Criteria = Gherkin scenarios** — write in `Given / When / Then` format. Each criterion must have exactly one Given (precondition), one When (action), and one Then (observable outcome). Use `And` for additional steps. Avoid implementation details — focus on observable user-facing behavior.
|
|
403
411
|
9. **Login only once** — after Step 4, reuse the authenticated browser session for all navigation in Step 5.
|
|
404
412
|
10. **Depth limit = 30 pages** — prioritize pages reachable from the main navigation over deeply nested sub-pages.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rayburst/cc",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.32",
|
|
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"
|