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.
Files changed (59) hide show
  1. package/README.md +77 -49
  2. package/bin/doctor.sh +2 -2
  3. package/commands/doctor.md +1 -1
  4. package/commands/setup.md +77 -77
  5. package/docs/README.md +3 -2
  6. package/docs/agents.md +15 -15
  7. package/docs/changelog.md +23 -23
  8. package/docs/concepts.md +3 -3
  9. package/docs/customization.md +18 -5
  10. package/docs/deployment.md +20 -5
  11. package/docs/getting-started.md +16 -27
  12. package/docs/installation.md +81 -48
  13. package/docs/local-tickets.md +11 -12
  14. package/docs/migration-guide.md +9 -9
  15. package/docs/playbook-parallel-dev.md +8 -8
  16. package/docs/playbook-product-discovery.md +1 -1
  17. package/docs/plugin-architecture.md +137 -0
  18. package/docs/research/codex-compatibility-analysis.md +13 -13
  19. package/docs/research/mcp-feasibility-analysis.md +7 -7
  20. package/docs/testing/test-matrix-codex.md +1 -1
  21. package/docs/user-docs/cli-reference.md +57 -57
  22. package/docs/user-docs/codex-vs-claude-code.md +7 -7
  23. package/docs/user-docs/faq.md +32 -26
  24. package/docs/user-docs/getting-started-codex.md +7 -7
  25. package/docs/user-docs/installation.md +47 -38
  26. package/docs/user-docs/quick-start.md +20 -26
  27. package/docs/workflows.md +62 -62
  28. package/install.sh +18 -18
  29. package/package.json +1 -1
  30. package/templates/agents/sr-merge-resolver.md +1 -1
  31. package/templates/agents/sr-reviewer.md +1 -1
  32. package/templates/claude-md/CLAUDE-quickstart.md +3 -3
  33. package/templates/commands/{sr → specrails}/batch-implement.md +18 -18
  34. package/templates/commands/specrails/doctor.md +62 -0
  35. package/templates/commands/{sr → specrails}/implement.md +8 -8
  36. package/templates/commands/{sr → specrails}/memory-inspect.md +3 -3
  37. package/templates/commands/{sr → specrails}/merge-resolve.md +1 -1
  38. package/templates/commands/{sr → specrails}/opsx-diff.md +1 -1
  39. package/templates/commands/{sr → specrails}/product-backlog.md +7 -7
  40. package/templates/commands/{sr → specrails}/propose-spec.md +1 -1
  41. package/templates/commands/{sr → specrails}/refactor-recommender.md +3 -3
  42. package/templates/commands/{sr → specrails}/retry.md +13 -13
  43. package/templates/commands/specrails/setup.md +1461 -0
  44. package/templates/commands/{sr → specrails}/team-debug.md +5 -5
  45. package/templates/commands/{sr → specrails}/team-review.md +4 -4
  46. package/templates/commands/{sr → specrails}/telemetry.md +2 -2
  47. package/templates/commands/{sr → specrails}/update-product-driven-backlog.md +2 -2
  48. package/templates/commands/{sr → specrails}/vpc-drift.md +5 -5
  49. package/templates/commands/{sr → specrails}/why.md +5 -5
  50. package/templates/commands/test.md +2 -2
  51. package/templates/skills/sr-batch-implement/SKILL.md +18 -18
  52. package/templates/skills/sr-implement/SKILL.md +8 -8
  53. package/templates/skills/sr-product-backlog/SKILL.md +7 -7
  54. package/templates/skills/sr-refactor-recommender/SKILL.md +3 -3
  55. package/templates/skills/sr-update-backlog/SKILL.md +2 -2
  56. package/templates/skills/sr-why/SKILL.md +5 -5
  57. package/update.sh +15 -15
  58. /package/templates/commands/{sr → specrails}/compat-check.md +0 -0
  59. /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
- npx specrails-core@latest init --root-dir .
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), Node 18+, git
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 `/sr:implement "add dark mode"` — the pipeline designs, builds, reviews, and ships a pull request. No hand-holding required.
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
- **1. Install**
38
+ ### Claude Code plugin (recommended)
38
39
 
39
40
  ```bash
40
- npx specrails-core@latest init --root-dir .
41
+ claude plugin install sr # install the sr plugin
42
+ /specrails:setup # run the 5-phase wizard (~5 min)
41
43
  ```
42
44
 
43
- **2. Run setup inside your AI CLI**
45
+ Updates automatically: `claude plugin update sr`
46
+
47
+ ### Scaffold method (alternative)
44
48
 
45
49
  ```bash
46
- claude # Claude Code
47
- # or
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
- **3. Start building**
54
+ ### Start building
53
55
 
54
56
  ```bash
55
- > /sr:implement "add user authentication"
56
- > /sr:implement #1, #2 # from local tickets (default)
57
- > /sr:implement #42, #43 # from GitHub Issues (if configured)
58
- > /sr:update-product-driven-backlog # discover new features with AI
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
- | **Agents** | `.claude/agents/*.md` | 14 specialized AI agents |
70
- | **Personas** | `.claude/agents/personas/*.md` | VPC user profiles, generated from your users |
71
- | **Commands** | `.claude/commands/sr/*.md` | 17 workflow commands: `/sr:implement`, `/sr:product-backlog`, `/sr:why`, and more |
72
- | **Rules** | `.claude/rules/*.md` | Per-layer coding conventions, loaded by file path |
73
- | **Memory** | `.claude/agent-memory/` | Persistent knowledge agents learn across sessions |
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
- ### `/sr:implement` — Build features
142
+ ### `/specrails:implement` — Build features
117
143
 
118
144
  ```bash
119
- /sr:implement "add dark mode" # from a description
120
- /sr:implement #85, #71 # from GitHub Issues
121
- /sr:implement UI, Analytics # explore areas, pick the best ideas
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
- /sr:implement "add dark mode" --dry-run
132
- /sr:implement #85 --preview # --preview is an alias for --dry-run
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
- /sr:implement --apply add-dark-mode # copies files to real paths, then ships
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
- ### `/sr:product-backlog` — View prioritized backlog
175
+ ### `/specrails:product-backlog` — View prioritized backlog
150
176
 
151
177
  ```bash
152
- /sr:product-backlog # show all areas
153
- /sr:product-backlog UI, Decks # filter by area
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
- ### `/sr:update-product-driven-backlog` — Discover features
184
+ ### `/specrails:update-product-driven-backlog` — Discover features
159
185
 
160
186
  ```bash
161
- /sr:update-product-driven-backlog # explore all areas
162
- /sr:update-product-driven-backlog Analytics # focus on one area
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
- /sr:implement #1, #4 # implement by ticket ID
179
- /sr:product-backlog # view prioritized backlog
180
- /sr:update-product-driven-backlog # discover and create tickets with AI
181
- /sr:propose-spec # create a ticket from a spec proposal
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+** | Recommended | Needed for npx install and OpenSpec CLI |
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 installer checks for each tool and offers to install missing ones.
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
- Yes. The generated files in `.claude/` are yours to edit — plain markdown. Edit agent personalities, adjust CI commands, add rules, create personas.
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 `npx specrails-core@latest init --root-dir <path>` again to re-scaffold, then `/setup`.
276
+ Run `/specrails:setup` again at any time to regenerate or update project data files.
252
277
 
253
- **Does this work without OpenSpec?**
254
- Partially. Product discovery commands and individual agents work. `/sr:implement` and sr-architect rely on OpenSpec for structured design artifacts.
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. `/sr:implement "description"` also works without `gh` — it just skips automated PR creation.
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 `/sr: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.
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}/sr:product-backlog${NC} to get started."
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
@@ -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 /sr:product-backlog to get started.
38
+ All 6 checks passed. Run /specrails:product-backlog to get started.
39
39
  ```
40
40
 
41
41
  On failure: