specrails-core 3.3.1 → 3.4.1
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/README.md +77 -49
- package/bin/doctor.sh +2 -2
- package/commands/doctor.md +1 -1
- package/commands/setup.md +77 -77
- package/docs/README.md +3 -2
- package/docs/agents.md +15 -15
- package/docs/changelog.md +23 -23
- package/docs/concepts.md +3 -3
- package/docs/customization.md +18 -5
- package/docs/deployment.md +20 -5
- package/docs/getting-started.md +16 -27
- package/docs/installation.md +81 -48
- package/docs/local-tickets.md +11 -12
- package/docs/migration-guide.md +9 -9
- package/docs/playbook-parallel-dev.md +8 -8
- package/docs/playbook-product-discovery.md +1 -1
- package/docs/plugin-architecture.md +137 -0
- package/docs/research/codex-compatibility-analysis.md +13 -13
- package/docs/research/mcp-feasibility-analysis.md +7 -7
- package/docs/testing/test-matrix-codex.md +1 -1
- package/docs/user-docs/cli-reference.md +57 -57
- package/docs/user-docs/codex-vs-claude-code.md +7 -7
- package/docs/user-docs/faq.md +32 -26
- package/docs/user-docs/getting-started-codex.md +7 -7
- package/docs/user-docs/installation.md +47 -38
- package/docs/user-docs/quick-start.md +20 -26
- package/docs/workflows.md +62 -62
- package/install.sh +18 -18
- package/package.json +1 -1
- package/templates/agents/sr-merge-resolver.md +1 -1
- package/templates/agents/sr-reviewer.md +1 -1
- package/templates/claude-md/CLAUDE-quickstart.md +3 -3
- package/templates/commands/{sr → specrails}/batch-implement.md +18 -18
- package/templates/commands/specrails/doctor.md +62 -0
- package/templates/commands/{sr → specrails}/implement.md +8 -8
- package/templates/commands/{sr → specrails}/memory-inspect.md +3 -3
- package/templates/commands/{sr → specrails}/merge-resolve.md +1 -1
- package/templates/commands/{sr → specrails}/opsx-diff.md +1 -1
- package/templates/commands/{sr → specrails}/product-backlog.md +7 -7
- package/templates/commands/{sr → specrails}/propose-spec.md +1 -1
- package/templates/commands/{sr → specrails}/refactor-recommender.md +3 -3
- package/templates/commands/{sr → specrails}/retry.md +13 -13
- package/templates/commands/specrails/setup.md +1461 -0
- package/templates/commands/{sr → specrails}/team-debug.md +5 -5
- package/templates/commands/{sr → specrails}/team-review.md +4 -4
- package/templates/commands/{sr → specrails}/telemetry.md +2 -2
- package/templates/commands/{sr → specrails}/update-product-driven-backlog.md +2 -2
- package/templates/commands/{sr → specrails}/vpc-drift.md +5 -5
- package/templates/commands/{sr → specrails}/why.md +5 -5
- package/templates/commands/test.md +2 -2
- package/templates/skills/sr-batch-implement/SKILL.md +18 -18
- package/templates/skills/sr-implement/SKILL.md +8 -8
- package/templates/skills/sr-product-backlog/SKILL.md +7 -7
- package/templates/skills/sr-refactor-recommender/SKILL.md +3 -3
- package/templates/skills/sr-update-backlog/SKILL.md +2 -2
- package/templates/skills/sr-why/SKILL.md +5 -5
- package/update.sh +15 -15
- /package/templates/commands/{sr → specrails}/compat-check.md +0 -0
- /package/templates/commands/{sr → specrails}/health-check.md +0 -0
package/README.md
CHANGED
|
@@ -12,10 +12,11 @@
|
|
|
12
12
|
One command gives your repo a full team of specialized AI agents: architect, developer, reviewer, product manager — all working together through a structured pipeline, fully adapted to your codebase.
|
|
13
13
|
|
|
14
14
|
```bash
|
|
15
|
-
|
|
15
|
+
claude plugin install sr # Claude Code plugin (recommended)
|
|
16
|
+
/specrails:setup # configure for your project
|
|
16
17
|
```
|
|
17
18
|
|
|
18
|
-
> **Requirements:** [Claude Code](https://docs.anthropic.com/en/docs/claude-code) or [Codex CLI](https://github.com/openai/codex) (choose one),
|
|
19
|
+
> **Requirements:** [Claude Code](https://docs.anthropic.com/en/docs/claude-code) or [Codex CLI](https://github.com/openai/codex) (choose one), git
|
|
19
20
|
|
|
20
21
|
---
|
|
21
22
|
|
|
@@ -26,7 +27,7 @@ Idea → Architecture → Implementation → Review → PR
|
|
|
26
27
|
(sr-architect) (sr-developer) (sr-reviewer)
|
|
27
28
|
```
|
|
28
29
|
|
|
29
|
-
Run `/
|
|
30
|
+
Run `/specrails:implement "add dark mode"` — the pipeline designs, builds, reviews, and ships a pull request. No hand-holding required.
|
|
30
31
|
|
|
31
32
|
Every artifact (agents, rules, personas) is generated **specifically for your project** by analyzing your actual codebase, tech stack, and CI setup. Not generic templates.
|
|
32
33
|
|
|
@@ -34,44 +35,69 @@ Every artifact (agents, rules, personas) is generated **specifically for your pr
|
|
|
34
35
|
|
|
35
36
|
## Quick start
|
|
36
37
|
|
|
37
|
-
|
|
38
|
+
### Claude Code plugin (recommended)
|
|
38
39
|
|
|
39
40
|
```bash
|
|
40
|
-
|
|
41
|
+
claude plugin install sr # install the sr plugin
|
|
42
|
+
/specrails:setup # run the 5-phase wizard (~5 min)
|
|
41
43
|
```
|
|
42
44
|
|
|
43
|
-
|
|
45
|
+
Updates automatically: `claude plugin update sr`
|
|
46
|
+
|
|
47
|
+
### Scaffold method (alternative)
|
|
44
48
|
|
|
45
49
|
```bash
|
|
46
|
-
|
|
47
|
-
#
|
|
48
|
-
codex # OpenAI Codex (beta)
|
|
49
|
-
> /setup # run the 5-phase wizard (~5 min)
|
|
50
|
+
npx specrails-core@latest init --root-dir . # copy project files
|
|
51
|
+
/specrails:setup # run the wizard
|
|
50
52
|
```
|
|
51
53
|
|
|
52
|
-
|
|
54
|
+
### Start building
|
|
53
55
|
|
|
54
56
|
```bash
|
|
55
|
-
> /
|
|
56
|
-
> /
|
|
57
|
-
> /
|
|
58
|
-
> /
|
|
57
|
+
> /specrails:implement "add user authentication"
|
|
58
|
+
> /specrails:implement #1, #2 # from local tickets (default)
|
|
59
|
+
> /specrails:implement #42, #43 # from GitHub Issues (if configured)
|
|
60
|
+
> /specrails:update-product-driven-backlog # discover new features with AI
|
|
59
61
|
```
|
|
60
62
|
|
|
61
63
|
That's it. The pipeline takes over.
|
|
62
64
|
|
|
63
65
|
---
|
|
64
66
|
|
|
67
|
+
## Plugin vs scaffold
|
|
68
|
+
|
|
69
|
+
| | Plugin | Scaffold |
|
|
70
|
+
|--|--------|---------|
|
|
71
|
+
| **What it contains** | Agents, skills, hooks, references | Nothing — project data only |
|
|
72
|
+
| **Install** | `claude plugin install sr` | `npx specrails-core@latest init` |
|
|
73
|
+
| **Updates** | `claude plugin update sr` | Re-run npx |
|
|
74
|
+
| **Project data** | Generated by `/specrails:setup` into `.specrails/` | Same |
|
|
75
|
+
| **Use case** | Recommended for most projects | When you need full offline control |
|
|
76
|
+
|
|
77
|
+
The plugin contains the logic (agent prompts, skills, commands). Running `/specrails:setup` generates the project-specific data files (~8–10 files in `.specrails/`) — config, personas, memory, pipeline state. These are yours to edit and commit.
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
65
81
|
## What gets installed
|
|
66
82
|
|
|
83
|
+
### Plugin (logic — auto-updated via `claude plugin update sr`)
|
|
84
|
+
|
|
85
|
+
| Category | Location | Purpose |
|
|
86
|
+
|----------|----------|---------|
|
|
87
|
+
| **Agents** | Plugin | 14 specialized AI agents |
|
|
88
|
+
| **Commands** | Plugin | 17 workflow commands: `/specrails:implement`, `/specrails:product-backlog`, `/specrails:why`, and more |
|
|
89
|
+
| **Skills** | Plugin | OpenSpec skills (`/opsx:*`) included |
|
|
90
|
+
| **Hooks & References** | Plugin | Agent hooks, reference docs |
|
|
91
|
+
|
|
92
|
+
### Project data (generated by `/specrails:setup` — lives in your repo)
|
|
93
|
+
|
|
67
94
|
| Category | Files | Purpose |
|
|
68
95
|
|----------|-------|---------|
|
|
69
|
-
| **
|
|
70
|
-
| **Personas** | `.
|
|
71
|
-
| **
|
|
72
|
-
| **
|
|
73
|
-
| **
|
|
74
|
-
| **Config** | `.claude/settings.json`, `CLAUDE.md` | Permissions, architecture reference |
|
|
96
|
+
| **Config** | `.specrails/config.yaml` | Stack, CI commands, git workflow |
|
|
97
|
+
| **Personas** | `.specrails/personas/*.md` | VPC user profiles, generated from your users |
|
|
98
|
+
| **Rules** | `.specrails/rules/*.md` | Per-layer coding conventions |
|
|
99
|
+
| **Memory** | `.specrails/agent-memory/` | Persistent knowledge — agents learn across sessions |
|
|
100
|
+
| **Pipeline state** | `.specrails/pipeline/` | In-flight feature state for parallel builds |
|
|
75
101
|
|
|
76
102
|
---
|
|
77
103
|
|
|
@@ -113,12 +139,12 @@ SpecRails is not a chat interface. It's a **development pipeline** that coordina
|
|
|
113
139
|
|
|
114
140
|
## Commands
|
|
115
141
|
|
|
116
|
-
### `/
|
|
142
|
+
### `/specrails:implement` — Build features
|
|
117
143
|
|
|
118
144
|
```bash
|
|
119
|
-
/
|
|
120
|
-
/
|
|
121
|
-
/
|
|
145
|
+
/specrails:implement "add dark mode" # from a description
|
|
146
|
+
/specrails:implement #85, #71 # from GitHub Issues
|
|
147
|
+
/specrails:implement UI, Analytics # explore areas, pick the best ideas
|
|
122
148
|
```
|
|
123
149
|
|
|
124
150
|
Architect designs → developer builds → reviewer validates → PR created. Multiple features run in parallel with git worktrees.
|
|
@@ -128,8 +154,8 @@ Architect designs → developer builds → reviewer validates → PR created. Mu
|
|
|
128
154
|
Not ready to commit? Run the full pipeline without touching git or GitHub:
|
|
129
155
|
|
|
130
156
|
```bash
|
|
131
|
-
/
|
|
132
|
-
/
|
|
157
|
+
/specrails:implement "add dark mode" --dry-run
|
|
158
|
+
/specrails:implement #85 --preview # --preview is an alias for --dry-run
|
|
133
159
|
```
|
|
134
160
|
|
|
135
161
|
All agents run normally. Generated files land in `.claude/.dry-run/<feature-name>/` instead of your working tree. No branches, commits, PRs, or issue updates are created.
|
|
@@ -137,7 +163,7 @@ All agents run normally. Generated files land in `.claude/.dry-run/<feature-name
|
|
|
137
163
|
When you're happy with the preview, apply the cached output:
|
|
138
164
|
|
|
139
165
|
```bash
|
|
140
|
-
/
|
|
166
|
+
/specrails:implement --apply add-dark-mode # copies files to real paths, then ships
|
|
141
167
|
```
|
|
142
168
|
|
|
143
169
|
To discard without applying:
|
|
@@ -146,20 +172,20 @@ To discard without applying:
|
|
|
146
172
|
rm -rf .claude/.dry-run/add-dark-mode/
|
|
147
173
|
```
|
|
148
174
|
|
|
149
|
-
### `/
|
|
175
|
+
### `/specrails:product-backlog` — View prioritized backlog
|
|
150
176
|
|
|
151
177
|
```bash
|
|
152
|
-
/
|
|
153
|
-
/
|
|
178
|
+
/specrails:product-backlog # show all areas
|
|
179
|
+
/specrails:product-backlog UI, Decks # filter by area
|
|
154
180
|
```
|
|
155
181
|
|
|
156
182
|
Reads your tickets (local or GitHub Issues), scores by VPC persona match, recommends top 3 for next sprint.
|
|
157
183
|
|
|
158
|
-
### `/
|
|
184
|
+
### `/specrails:update-product-driven-backlog` — Discover features
|
|
159
185
|
|
|
160
186
|
```bash
|
|
161
|
-
/
|
|
162
|
-
/
|
|
187
|
+
/specrails:update-product-driven-backlog # explore all areas
|
|
188
|
+
/specrails:update-product-driven-backlog Analytics # focus on one area
|
|
163
189
|
```
|
|
164
190
|
|
|
165
191
|
AI product discovery using your personas. Evaluates ideas, creates tickets (local or GitHub Issues) for the best ones.
|
|
@@ -172,13 +198,13 @@ specrails-core ships with a built-in ticket system — no GitHub account or exte
|
|
|
172
198
|
|
|
173
199
|
Tickets live in `.claude/local-tickets.json` alongside your code. They're plain JSON and git-friendly.
|
|
174
200
|
|
|
175
|
-
**Local tickets are the default.** The `/setup` wizard defaults to local tickets and skips GitHub/JIRA credential setup unless you opt in.
|
|
201
|
+
**Local tickets are the default.** The `/specrails:setup` wizard defaults to local tickets and skips GitHub/JIRA credential setup unless you opt in.
|
|
176
202
|
|
|
177
203
|
```bash
|
|
178
|
-
/
|
|
179
|
-
/
|
|
180
|
-
/
|
|
181
|
-
/
|
|
204
|
+
/specrails:implement #1, #4 # implement by ticket ID
|
|
205
|
+
/specrails:product-backlog # view prioritized backlog
|
|
206
|
+
/specrails:update-product-driven-backlog # discover and create tickets with AI
|
|
207
|
+
/specrails:propose-spec # create a ticket from a spec proposal
|
|
182
208
|
```
|
|
183
209
|
|
|
184
210
|
See [docs/local-tickets.md](./docs/local-tickets.md) for the full schema reference, concurrency model, and command integration details.
|
|
@@ -210,18 +236,17 @@ Each persona scores features 0-5. Features are ranked by score/effort ratio. No
|
|
|
210
236
|
|------|----------|---------|
|
|
211
237
|
| **Claude Code** | Yes | AI agent runtime — [install](https://docs.anthropic.com/en/docs/claude-code) |
|
|
212
238
|
| **git** | Yes | Repository detection |
|
|
213
|
-
| **npm / Node 18+** |
|
|
214
|
-
| **OpenSpec CLI** | Recommended | Structured design artifacts for `/sr:implement` |
|
|
239
|
+
| **npm / Node 18+** | For scaffold method only | Needed for `npx specrails-core@latest init` |
|
|
215
240
|
| **GitHub CLI** (`gh`) | Optional | Backlog sync to GitHub Issues, PR creation. Not needed with local tickets. |
|
|
216
241
|
| **JIRA CLI** (`jira`) | Optional | Backlog sync to JIRA. Not needed with local tickets. |
|
|
217
242
|
|
|
218
|
-
The
|
|
243
|
+
The plugin method has no Node.js requirement. The scaffold method checks for prerequisites and offers to install missing ones.
|
|
219
244
|
|
|
220
245
|
---
|
|
221
246
|
|
|
222
247
|
## Supported stacks
|
|
223
248
|
|
|
224
|
-
Stack-agnostic. The `/setup` wizard detects and adapts to whatever you're running:
|
|
249
|
+
Stack-agnostic. The `/specrails:setup` wizard detects and adapts to whatever you're running:
|
|
225
250
|
|
|
226
251
|
**Backend:** Python/FastAPI, Node/Express, Go/Gin, Rust/Actix, Java/Spring, Ruby/Rails, .NET
|
|
227
252
|
**Frontend:** React, Vue, Angular, Svelte, Next.js, Nuxt
|
|
@@ -245,26 +270,29 @@ Stack-agnostic. The `/setup` wizard detects and adapts to whatever you're runnin
|
|
|
245
270
|
## FAQ
|
|
246
271
|
|
|
247
272
|
**Can I customize the agents after installation?**
|
|
248
|
-
|
|
273
|
+
With the plugin method, project data files in `.specrails/` are yours to edit — personas, rules, config. With the scaffold method, `.claude/` agent files are also editable. To update plugin logic, run `claude plugin update sr`.
|
|
249
274
|
|
|
250
275
|
**Can I re-run setup?**
|
|
251
|
-
Run `
|
|
276
|
+
Run `/specrails:setup` again at any time to regenerate or update project data files.
|
|
252
277
|
|
|
253
|
-
**
|
|
254
|
-
|
|
278
|
+
**Plugin vs scaffold — which should I use?**
|
|
279
|
+
Plugin is recommended: it has no Node.js requirement, updates automatically, and separates logic from project data. Use scaffold if you need full offline control or want to version the agent prompts themselves.
|
|
255
280
|
|
|
256
281
|
**Does this work without GitHub CLI?**
|
|
257
|
-
Yes. Local tickets are the default and need no external tools. `/
|
|
282
|
+
Yes. Local tickets are the default and need no external tools. `/specrails:implement "description"` also works without `gh` — it just skips automated PR creation.
|
|
258
283
|
|
|
259
284
|
**Can I use local tickets and GitHub Issues together?**
|
|
260
285
|
Not simultaneously for the same project — backlog commands use one active provider at a time. You can migrate from GitHub Issues to local tickets using the [migration guide](./docs/migration-guide.md).
|
|
261
286
|
|
|
262
287
|
**How much does it cost to run?**
|
|
263
|
-
A full `/
|
|
288
|
+
A full `/specrails:implement` cycle for one feature typically costs a few dollars in Claude API usage. The sr-product-manager uses Opus; all other agents use Sonnet or Haiku.
|
|
264
289
|
|
|
265
290
|
**Does it work with private repos?**
|
|
266
291
|
Yes. Everything runs locally through Claude Code. No external services beyond the Claude API.
|
|
267
292
|
|
|
293
|
+
**How do I use SpecRails with Codex?**
|
|
294
|
+
Codex uses the scaffold method: `npx specrails-core@latest init --root-dir .`. See [docs/user-docs/getting-started-codex.md](./docs/user-docs/getting-started-codex.md).
|
|
295
|
+
|
|
268
296
|
---
|
|
269
297
|
|
|
270
298
|
## Also in the SpecRails ecosystem
|
package/bin/doctor.sh
CHANGED
|
@@ -76,7 +76,7 @@ fi
|
|
|
76
76
|
if [[ -f "${PROJECT_ROOT}/CLAUDE.md" ]]; then
|
|
77
77
|
pass "CLAUDE.md: present"
|
|
78
78
|
else
|
|
79
|
-
fail "CLAUDE.md: missing" "Run /setup inside Claude Code to regenerate"
|
|
79
|
+
fail "CLAUDE.md: missing" "Run /specrails:setup inside Claude Code to regenerate"
|
|
80
80
|
fi
|
|
81
81
|
|
|
82
82
|
# ─────────────────────────────────────────────
|
|
@@ -108,7 +108,7 @@ echo ""
|
|
|
108
108
|
|
|
109
109
|
if [[ "${FAIL}" -eq 0 ]]; then
|
|
110
110
|
TOTAL=$((PASS + FAIL))
|
|
111
|
-
echo -e "All ${TOTAL} checks passed. Run ${BOLD}/
|
|
111
|
+
echo -e "All ${TOTAL} checks passed. Run ${BOLD}/specrails:product-backlog${NC} to get started."
|
|
112
112
|
else
|
|
113
113
|
echo "${FAIL} check(s) failed."
|
|
114
114
|
fi
|
package/commands/doctor.md
CHANGED
|
@@ -35,7 +35,7 @@ Each check is displayed as ✅ (pass) or ❌ (fail with fix instruction).
|
|
|
35
35
|
|
|
36
36
|
On all checks passed:
|
|
37
37
|
```
|
|
38
|
-
All 6 checks passed. Run /
|
|
38
|
+
All 6 checks passed. Run /specrails:product-backlog to get started.
|
|
39
39
|
```
|
|
40
40
|
|
|
41
41
|
On failure:
|