@rayburst/cc 3.2.1 → 3.2.3
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/.claude-plugin/marketplace.json +2 -2
- package/.claude-plugin/plugin.json +1 -1
- package/README.md +14 -25
- package/hooks/sessionstart.mjs +8 -6
- package/package.json +1 -1
- package/server.bundle.mjs +2 -2
- package/skills/review/SKILL.md +204 -0
|
@@ -6,14 +6,14 @@
|
|
|
6
6
|
},
|
|
7
7
|
"metadata": {
|
|
8
8
|
"description": "Always-on product context for Claude Code — features, acceptance criteria, and board cards injected automatically.",
|
|
9
|
-
"version": "3.2.
|
|
9
|
+
"version": "3.2.3"
|
|
10
10
|
},
|
|
11
11
|
"plugins": [
|
|
12
12
|
{
|
|
13
13
|
"name": "rayburst",
|
|
14
14
|
"source": "./",
|
|
15
15
|
"description": "Always-on product context for Claude Code. Automatically injects your Rayburst Product Requirement Registry (features, Gherkin acceptance criteria, board cards) into every coding session.",
|
|
16
|
-
"version": "3.2.
|
|
16
|
+
"version": "3.2.3",
|
|
17
17
|
"author": {
|
|
18
18
|
"name": "Rayburst"
|
|
19
19
|
},
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rayburst",
|
|
3
|
-
"version": "3.2.
|
|
3
|
+
"version": "3.2.3",
|
|
4
4
|
"description": "Always-on product context for Claude Code. Automatically injects feature atlas and acceptance criteria into every coding session — no slash commands needed.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Rayburst",
|
package/README.md
CHANGED
|
@@ -8,6 +8,20 @@
|
|
|
8
8
|
<img src="claude_code_x_rayburst_prr.png" alt="Claude Code x Rayburst Product Requirement Registry" width="100%">
|
|
9
9
|
</p>
|
|
10
10
|
|
|
11
|
+
## Install
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
claude plugin add Dubwoof/rayburst-cc
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Restart Claude Code, then run `/rb:init`. The setup wizard walks you through three steps:
|
|
18
|
+
|
|
19
|
+
1. **Paste your API key** — grab one from [rayburst.app/profile](https://www.rayburst.app/profile?tab=mcp-agents)
|
|
20
|
+
2. **Pick your projects** — the wizard lists your org's projects, just select by number
|
|
21
|
+
3. **Pick a board** — same thing, select from the list
|
|
22
|
+
|
|
23
|
+
That's it — every session now has your product context automatically.
|
|
24
|
+
|
|
11
25
|
## The Problem
|
|
12
26
|
|
|
13
27
|
You're building a feature. Claude Code writes the code, but has no idea what the feature is supposed to do. It doesn't know the acceptance criteria. It doesn't know which board card it's working on. Every conversation starts from zero — you re-explain the requirements, the edge cases, the definition of done.
|
|
@@ -90,31 +104,6 @@ The server uses a lazy client pattern — it doesn't connect to the API at start
|
|
|
90
104
|
|
|
91
105
|
Claude decides when to call these tools based on the rules injected by the SessionStart hook. The user never needs to invoke them manually.
|
|
92
106
|
|
|
93
|
-
## Install
|
|
94
|
-
|
|
95
|
-
**Prerequisites:** Claude Code v1.0.33+ and a [Rayburst](https://rayburst.app) account with an API key.
|
|
96
|
-
|
|
97
|
-
```bash
|
|
98
|
-
claude plugin add Dubwoof/rayburst-cc
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
Restart Claude Code, then run the one-time setup:
|
|
102
|
-
|
|
103
|
-
```
|
|
104
|
-
/rb:init
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
This prompts for:
|
|
108
|
-
- **Rayburst API key** — get one at [https://www.rayburst.app/profile?tab=mcp-agents](https://www.rayburst.app/profile?tab=mcp-agents) (starts with `rb_user_`)
|
|
109
|
-
- **Project URL** — the base URL of your running app (e.g. `http://localhost:3000`)
|
|
110
|
-
- **Board** — picks from your org's boards via the API
|
|
111
|
-
- **Project IDs** — frontend and backend project UUIDs
|
|
112
|
-
- **User credentials** — username/password for browser-based validation (passwords can reference env vars with `$VAR_NAME`)
|
|
113
|
-
|
|
114
|
-
Config is saved to `.claude/rb-config.md`. **Add this to `.gitignore`** — it contains your API key.
|
|
115
|
-
|
|
116
|
-
That's it. Every Claude Code session in this project now has product context automatically.
|
|
117
|
-
|
|
118
107
|
## How a Session Looks
|
|
119
108
|
|
|
120
109
|
```
|
package/hooks/sessionstart.mjs
CHANGED
|
@@ -185,12 +185,14 @@ ${cardLines}
|
|
|
185
185
|
}
|
|
186
186
|
function buildEmptyAtlasBlock() {
|
|
187
187
|
return `<rayburst_empty_atlas>
|
|
188
|
-
<warning>The Rayburst feature atlas
|
|
189
|
-
<required_action>You MUST NOT write or edit any code this session until you have
|
|
190
|
-
1.
|
|
191
|
-
2.
|
|
192
|
-
3.
|
|
193
|
-
4.
|
|
188
|
+
<warning>The Rayburst feature atlas appears EMPTY \u2014 the session-start fetch returned no features. This may mean no features exist yet, OR that a config/API issue prevented loading them.</warning>
|
|
189
|
+
<required_action>You MUST NOT write or edit any code this session until you have verified the atlas and registered the feature you are implementing.
|
|
190
|
+
1. Call rb_list_features (with an empty or broad search term) to verify the atlas is truly empty \u2014 do NOT skip this step even if the summary says 0 features
|
|
191
|
+
2. If features exist, call rb_get_feature on the best match and work against its criteria
|
|
192
|
+
3. If the atlas is genuinely empty, ask the user what feature or behavior you are about to implement
|
|
193
|
+
4. Call rb_create_feature to register it (with user confirmation first)
|
|
194
|
+
5. Add acceptance criteria via rb_add_criterion
|
|
195
|
+
6. Only then proceed with implementation
|
|
194
196
|
This applies to ALL changes \u2014 bug fixes, refactors, visual tweaks, and new features alike. There are no exceptions.</required_action>
|
|
195
197
|
</rayburst_empty_atlas>`;
|
|
196
198
|
}
|
package/package.json
CHANGED