specrails-core 3.3.0 → 3.4.0
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 -63
- package/VERSION +1 -1
- package/bin/doctor.sh +1 -1
- package/bin/perf-check.sh +21 -0
- package/bin/specrails-core.js +7 -4
- package/commands/doctor.md +1 -1
- package/commands/setup.md +72 -79
- package/docs/README.md +3 -2
- package/docs/agents.md +15 -15
- package/docs/changelog.md +20 -20
- package/docs/concepts.md +3 -3
- package/docs/customization.md +18 -5
- package/docs/deployment.md +24 -9
- package/docs/getting-started.md +20 -27
- package/docs/installation.md +81 -72
- package/docs/local-tickets.md +14 -41
- package/docs/migration-guide.md +9 -10
- 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 +11 -11
- package/docs/research/mcp-feasibility-analysis.md +5 -5
- package/docs/testing/test-matrix-codex.md +1 -2
- package/docs/user-docs/cli-reference.md +57 -69
- package/docs/user-docs/codex-vs-claude-code.md +7 -8
- package/docs/user-docs/faq.md +32 -26
- package/docs/user-docs/getting-started-codex.md +7 -7
- package/docs/user-docs/installation.md +50 -40
- package/docs/user-docs/quick-start.md +21 -27
- package/docs/workflows.md +62 -74
- package/install.sh +3 -3
- package/package.json +1 -1
- package/templates/agents/sr-merge-resolver.md +1 -1
- package/templates/claude-md/CLAUDE-quickstart.md +2 -2
- package/templates/commands/{sr → specrails}/batch-implement.md +18 -18
- 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 +1 -1
- package/templates/commands/{sr → specrails}/retry.md +13 -13
- 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 +4 -4
- 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 +1 -1
- package/templates/skills/sr-update-backlog/SKILL.md +2 -2
- package/templates/skills/sr-why/SKILL.md +5 -5
- package/update.sh +2 -3
- package/docs/api-reference.md +0 -266
- package/integration-contract.json +0 -45
- package/templates/local-tickets-schema.json +0 -7
- package/templates/skills/sr-health-check/SKILL.md +0 -531
- package/templates/web-manager/package-lock.json +0 -3740
- package/templates/web-manager/server/queue-manager.test.ts +0 -607
- package/templates/web-manager/server/queue-manager.ts +0 -565
- /package/templates/commands/{sr → specrails}/compat-check.md +0 -0
- /package/templates/commands/{sr → specrails}/health-check.md +0 -0
package/commands/setup.md
CHANGED
|
@@ -52,11 +52,11 @@ Read the following files to understand the current installation state:
|
|
|
52
52
|
```
|
|
53
53
|
Template files are named with `sr-` prefix (e.g., `sr-architect.md`, `sr-developer.md`).
|
|
54
54
|
|
|
55
|
-
5. List all template files in `$SPECRAILS_DIR/setup-templates/commands/
|
|
55
|
+
5. List all template files in `$SPECRAILS_DIR/setup-templates/commands/specrails/` — these are the NEW command templates from the update:
|
|
56
56
|
```bash
|
|
57
|
-
ls $SPECRAILS_DIR/setup-templates/commands/
|
|
57
|
+
ls $SPECRAILS_DIR/setup-templates/commands/specrails/
|
|
58
58
|
```
|
|
59
|
-
Command template files include `implement.md`, `batch-implement.md`, `
|
|
59
|
+
Command template files include `implement.md`, `batch-implement.md`, `compat-check.md`, `refactor-recommender.md`, `why.md`, `product-backlog.md`, `update-product-driven-backlog.md`.
|
|
60
60
|
If this directory does not exist, skip command template checking for this update.
|
|
61
61
|
|
|
62
62
|
6. Read `$SPECRAILS_DIR/backlog-config.json` if it exists — contains stored provider configuration needed for command placeholder substitution.
|
|
@@ -94,16 +94,16 @@ Build three lists for agents:
|
|
|
94
94
|
2. **New agents**: template file exists in `.claude/setup-templates/agents/` but the agent name is NOT in the manifest → mark for evaluation
|
|
95
95
|
3. **Unchanged agents**: agent name exists in manifest AND checksum matches → skip
|
|
96
96
|
|
|
97
|
-
**Command templates:** If `.claude/setup-templates/commands/
|
|
97
|
+
**Command templates:** If `.claude/setup-templates/commands/specrails/` exists, for each command template file, find its entry in the manifest's `artifacts` map (keyed as `templates/commands/specrails/<name>.md`). Compute the SHA-256 checksum of the corresponding file in `.claude/setup-templates/commands/specrails/`:
|
|
98
98
|
|
|
99
99
|
```bash
|
|
100
|
-
sha256sum .claude/setup-templates/commands/
|
|
100
|
+
sha256sum .claude/setup-templates/commands/specrails/<name>.md
|
|
101
101
|
```
|
|
102
102
|
|
|
103
103
|
Build three lists for commands:
|
|
104
104
|
|
|
105
105
|
1. **Changed commands**: command name exists in manifest AND the current template checksum differs from the manifest checksum → mark for update
|
|
106
|
-
2. **New commands**: template file exists in `.claude/setup-templates/commands/
|
|
106
|
+
2. **New commands**: template file exists in `.claude/setup-templates/commands/specrails/` but the command name is NOT in the manifest → mark for evaluation
|
|
107
107
|
3. **Unchanged commands**: command name exists in manifest AND checksum matches → skip
|
|
108
108
|
|
|
109
109
|
Display the combined analysis to the user:
|
|
@@ -130,7 +130,6 @@ Display the combined analysis to the user:
|
|
|
130
130
|
- refactor-recommender.md
|
|
131
131
|
|
|
132
132
|
### Commands — Unchanged (keeping current)
|
|
133
|
-
- health-check.md
|
|
134
133
|
- compat-check.md
|
|
135
134
|
- why.md
|
|
136
135
|
```
|
|
@@ -177,7 +176,7 @@ grep -r '{{[A-Z_]*}}' .codex/agents/sr-*.toml 2>/dev/null || echo "OK: no broken
|
|
|
177
176
|
For each command in the "changed commands" list from Phase U3:
|
|
178
177
|
|
|
179
178
|
1. Read the NEW template:
|
|
180
|
-
- If `cli_provider == "claude"`: from `$SPECRAILS_DIR/setup-templates/commands/
|
|
179
|
+
- If `cli_provider == "claude"`: from `$SPECRAILS_DIR/setup-templates/commands/specrails/<name>.md`
|
|
181
180
|
- If `cli_provider == "codex"`: from `$SPECRAILS_DIR/setup-templates/skills/sr-<name>/SKILL.md`
|
|
182
181
|
2. Read stored backlog configuration from `$SPECRAILS_DIR/backlog-config.json` (if it exists) to resolve provider-specific placeholders:
|
|
183
182
|
- `BACKLOG_PROVIDER` → `provider` field (`github`, `jira`, or `none`)
|
|
@@ -195,16 +194,16 @@ For each command in the "changed commands" list from Phase U3:
|
|
|
195
194
|
- `{{BACKLOG_PREFLIGHT}}` → provider-specific preflight check from backlog config
|
|
196
195
|
- Any other `{{PLACEHOLDER}}` values → use Phase U2 analysis data
|
|
197
196
|
4. Write the updated file:
|
|
198
|
-
- If `cli_provider == "claude"`: to `.claude/commands/
|
|
197
|
+
- If `cli_provider == "claude"`: to `.claude/commands/specrails/<name>.md`
|
|
199
198
|
- If `cli_provider == "codex"`: to `.agents/skills/sr-<name>/SKILL.md`
|
|
200
199
|
5. Show:
|
|
201
|
-
- If `cli_provider == "claude"`: `✓ Updated /
|
|
200
|
+
- If `cli_provider == "claude"`: `✓ Updated /specrails:<name>`
|
|
202
201
|
- If `cli_provider == "codex"`: `✓ Updated $sr-<name>`
|
|
203
202
|
|
|
204
203
|
After updating all changed commands/skills, verify no unresolved placeholders remain:
|
|
205
204
|
```bash
|
|
206
205
|
# If cli_provider == "claude":
|
|
207
|
-
grep -l '{{[A-Z_]*}}' .claude/commands/
|
|
206
|
+
grep -l '{{[A-Z_]*}}' .claude/commands/specrails/*.md 2>/dev/null || echo "OK: no broken placeholders"
|
|
208
207
|
# If cli_provider == "codex":
|
|
209
208
|
grep -rl '{{[A-Z_]*}}' .agents/skills/sr-*/SKILL.md 2>/dev/null || echo "OK: no broken placeholders"
|
|
210
209
|
```
|
|
@@ -231,17 +230,17 @@ For each agent in the "new" list:
|
|
|
231
230
|
For each command in the "new commands" list from Phase U3:
|
|
232
231
|
|
|
233
232
|
1. Read the template:
|
|
234
|
-
- If `cli_provider == "claude"`: from `$SPECRAILS_DIR/setup-templates/commands/
|
|
233
|
+
- If `cli_provider == "claude"`: from `$SPECRAILS_DIR/setup-templates/commands/specrails/<name>.md`
|
|
235
234
|
- If `cli_provider == "codex"`: from `$SPECRAILS_DIR/setup-templates/skills/sr-<name>/SKILL.md`
|
|
236
235
|
2. Prompt the user:
|
|
237
|
-
- If `cli_provider == "claude"`: `"New command available: /
|
|
236
|
+
- If `cli_provider == "claude"`: `"New command available: /specrails:<name> — [one-line description]. Install it? [Y/n]"`
|
|
238
237
|
- If `cli_provider == "codex"`: `"New skill available: $sr-<name> — [one-line description]. Install it? [Y/n]"`
|
|
239
238
|
3. If the user accepts (or presses Enter):
|
|
240
239
|
- Apply placeholder substitution using the same rules as Phase U4b (backlog config + codebase analysis)
|
|
241
|
-
- If `cli_provider == "claude"`: write to `.claude/commands/
|
|
240
|
+
- If `cli_provider == "claude"`: write to `.claude/commands/specrails/<name>.md` — show `✓ Added /specrails:<name>`
|
|
242
241
|
- If `cli_provider == "codex"`: write to `.agents/skills/sr-<name>/SKILL.md` — show `✓ Added $sr-<name>`
|
|
243
242
|
4. If the user declines:
|
|
244
|
-
- If `cli_provider == "claude"`: show `→ Skipped /
|
|
243
|
+
- If `cli_provider == "claude"`: show `→ Skipped /specrails:<name>`
|
|
245
244
|
- If `cli_provider == "codex"`: show `→ Skipped $sr-<name>`
|
|
246
245
|
|
|
247
246
|
### Phase U6: Update Workflow Commands
|
|
@@ -249,12 +248,12 @@ For each command in the "new commands" list from Phase U3:
|
|
|
249
248
|
If any new agents were added in Phase U5:
|
|
250
249
|
|
|
251
250
|
1. Read the implement command/skill:
|
|
252
|
-
- If `cli_provider == "claude"`: `.claude/commands/
|
|
251
|
+
- If `cli_provider == "claude"`: `.claude/commands/specrails/implement.md`
|
|
253
252
|
- If `cli_provider == "codex"`: `.agents/skills/sr-implement/SKILL.md`
|
|
254
253
|
2. Check if the file references agent names in its orchestration steps (look for `sr-architect`, `sr-developer`, `sr-reviewer` etc.)
|
|
255
254
|
3. If newly added agents belong in the implementation pipeline (i.e., they are layer-specific developers such as `sr-frontend-developer` or `sr-backend-developer`), add them to the appropriate step in the implement command — specifically where parallel developer agents are launched
|
|
256
255
|
4. Write the updated file if any changes were made:
|
|
257
|
-
- If `cli_provider == "claude"`: `.claude/commands/
|
|
256
|
+
- If `cli_provider == "claude"`: `.claude/commands/specrails/implement.md`
|
|
258
257
|
- If `cli_provider == "codex"`: `.agents/skills/sr-implement/SKILL.md`
|
|
259
258
|
5. Show which commands were updated, or "No command updates needed" if nothing changed
|
|
260
259
|
|
|
@@ -302,7 +301,7 @@ All agents and commands are now up to date.
|
|
|
302
301
|
Update `.specrails-manifest.json` to reflect the new checksums for all regenerated/updated and added agents and commands:
|
|
303
302
|
- For each regenerated agent: update its checksum entry to the new template's checksum (keyed as `templates/agents/sr-<name>.md`)
|
|
304
303
|
- For each added agent: add a new entry with its checksum
|
|
305
|
-
- For each updated command: update its checksum entry to the new template's checksum (keyed as `templates/commands/
|
|
304
|
+
- For each updated command: update its checksum entry to the new template's checksum (keyed as `templates/commands/specrails/<name>.md`)
|
|
306
305
|
- For each added command: add a new entry with its checksum
|
|
307
306
|
- Update the `version` field to the version read from `.specrails-version`
|
|
308
307
|
|
|
@@ -352,9 +351,9 @@ Store as `QS_IS_EXISTING_CODEBASE=true/false`.
|
|
|
352
351
|
Before generating files, check if this is a re-run:
|
|
353
352
|
|
|
354
353
|
1. Check if commands/skills already exist:
|
|
355
|
-
- If `cli_provider == "claude"`: check if `.claude/commands/
|
|
354
|
+
- If `cli_provider == "claude"`: check if `.claude/commands/specrails/` directory exists with any `.md` files:
|
|
356
355
|
```bash
|
|
357
|
-
ls .claude/commands/
|
|
356
|
+
ls .claude/commands/specrails/*.md 2>/dev/null
|
|
358
357
|
```
|
|
359
358
|
- If `cli_provider == "codex"`: check if `.agents/skills/sr-*/SKILL.md` files exist:
|
|
360
359
|
```bash
|
|
@@ -365,13 +364,13 @@ Before generating files, check if this is a re-run:
|
|
|
365
364
|
|
|
366
365
|
In re-run mode, QS3 executes in **gap-fill mode** for command/skill files:
|
|
367
366
|
- For each command in the list, check if it already exists:
|
|
368
|
-
- If `cli_provider == "claude"`: at `.claude/commands/
|
|
367
|
+
- If `cli_provider == "claude"`: at `.claude/commands/specrails/<name>.md`
|
|
369
368
|
- If `cli_provider == "codex"`: at `.agents/skills/sr-<name>/SKILL.md`
|
|
370
369
|
- If it exists: skip it and show:
|
|
371
|
-
- Claude: `✓ Already installed: /
|
|
370
|
+
- Claude: `✓ Already installed: /specrails:<name>`
|
|
372
371
|
- Codex: `✓ Already installed: $sr-<name>`
|
|
373
372
|
- If it does NOT exist: install it and show:
|
|
374
|
-
- Claude: `✓ Added /
|
|
373
|
+
- Claude: `✓ Added /specrails:<name> (was missing)`
|
|
375
374
|
- Codex: `✓ Added $sr-<name> (was missing)`
|
|
376
375
|
- Do NOT prompt the user for confirmation on missing files — install them automatically
|
|
377
376
|
|
|
@@ -419,7 +418,6 @@ Core commands (always install if missing):
|
|
|
419
418
|
- `implement.md`
|
|
420
419
|
- `batch-implement.md`
|
|
421
420
|
- `propose-spec.md`
|
|
422
|
-
- `health-check.md`
|
|
423
421
|
- `compat-check.md`
|
|
424
422
|
- `why.md`
|
|
425
423
|
- `product-backlog.md`
|
|
@@ -438,11 +436,11 @@ Core commands (always install if missing):
|
|
|
438
436
|
|
|
439
437
|
**If `cli_provider == "claude"`:**
|
|
440
438
|
|
|
441
|
-
If `QS_IS_RERUN=false` (fresh install): for each core command, read the template from `$SPECRAILS_DIR/setup-templates/commands/
|
|
439
|
+
If `QS_IS_RERUN=false` (fresh install): for each core command, read the template from `$SPECRAILS_DIR/setup-templates/commands/specrails/<name>.md`, substitute the backlog placeholders with local values (using the same table as Phase 4.3 "Local Tickets"), stub all persona placeholders with `(Lite Mode — run /setup to configure personas)`, then write to `.claude/commands/specrails/<name>.md`.
|
|
442
440
|
|
|
443
|
-
If `QS_IS_RERUN=true` (gap-fill mode): for each command in the list above, check if `.claude/commands/
|
|
444
|
-
- If it exists: skip it — show `✓ Already installed: /
|
|
445
|
-
- If it does NOT exist: read template, substitute placeholders as above, write to `.claude/commands/
|
|
441
|
+
If `QS_IS_RERUN=true` (gap-fill mode): for each command in the list above, check if `.claude/commands/specrails/<name>.md` already exists:
|
|
442
|
+
- If it exists: skip it — show `✓ Already installed: /specrails:<name>`
|
|
443
|
+
- If it does NOT exist: read template, substitute placeholders as above, write to `.claude/commands/specrails/<name>.md` — show `✓ Added /specrails:<name> (was missing)`
|
|
446
444
|
|
|
447
445
|
**If `cli_provider == "codex"`:**
|
|
448
446
|
|
|
@@ -463,25 +461,25 @@ Remove `commands/setup.md` from `.claude/commands/` if it was copied there by th
|
|
|
463
461
|
After generating all files, display the setup complete message.
|
|
464
462
|
|
|
465
463
|
Then, based on `QS_IS_EXISTING_CODEBASE`:
|
|
466
|
-
- **Existing codebase** (`true`): recommend `/
|
|
467
|
-
- **New project** (`false`): recommend `/
|
|
464
|
+
- **Existing codebase** (`true`): recommend `/specrails:refactor-recommender`
|
|
465
|
+
- **New project** (`false`): recommend `/specrails:product-backlog`
|
|
468
466
|
|
|
469
467
|
If `QS_IS_RERUN=false`, display:
|
|
470
468
|
```
|
|
471
469
|
✅ Setup complete.
|
|
472
470
|
|
|
473
471
|
Try your first command:
|
|
474
|
-
> /
|
|
472
|
+
> /specrails:product-backlog
|
|
475
473
|
```
|
|
476
|
-
(Replace `/
|
|
474
|
+
(Replace `/specrails:product-backlog` with `/specrails:refactor-recommender` for existing codebases.)
|
|
477
475
|
|
|
478
476
|
If `QS_IS_RERUN=true`, display the gap-fill summary and stop:
|
|
479
477
|
```
|
|
480
478
|
✅ Re-run complete.
|
|
481
479
|
|
|
482
480
|
Commands status:
|
|
483
|
-
✓ Already installed: /
|
|
484
|
-
✓ Added /
|
|
481
|
+
✓ Already installed: /specrails:<name>
|
|
482
|
+
✓ Added /specrails:<name> (was missing)
|
|
485
483
|
[... one line per command ...]
|
|
486
484
|
|
|
487
485
|
All commands are up to date.
|
|
@@ -915,8 +913,8 @@ Store the full configuration in `.claude/backlog-config.json`:
|
|
|
915
913
|
|
|
916
914
|
#### If None
|
|
917
915
|
|
|
918
|
-
- Skip `/
|
|
919
|
-
- The `/
|
|
916
|
+
- Skip `/specrails:product-backlog` and `/specrails:update-product-driven-backlog` commands.
|
|
917
|
+
- The `/specrails:implement` command will still work with text descriptions.
|
|
920
918
|
|
|
921
919
|
### 3.3 Git & shipping workflow
|
|
922
920
|
|
|
@@ -945,15 +943,14 @@ If automatic, also check if `gh` is authenticated (for PR creation). If not, war
|
|
|
945
943
|
|
|
946
944
|
| Command | Purpose | Requires |
|
|
947
945
|
|---------|---------|----------|
|
|
948
|
-
| /
|
|
949
|
-
| /
|
|
950
|
-
| /
|
|
951
|
-
| /
|
|
952
|
-
| /
|
|
953
|
-
| /
|
|
954
|
-
| /
|
|
955
|
-
| /
|
|
956
|
-
| /sr:why | Search past architectural decisions from agent memory | None |
|
|
946
|
+
| /specrails:implement | Full pipeline: sr-architect → sr-developer → sr-reviewer → ship | sr-architect + sr-developer + sr-reviewer |
|
|
947
|
+
| /specrails:batch-implement | Orchestrate multiple features in dependency-aware waves | sr-architect + sr-developer + sr-reviewer |
|
|
948
|
+
| /specrails:propose-spec | Interactively propose and refine a feature spec, then create a GitHub issue | GitHub CLI |
|
|
949
|
+
| /specrails:product-backlog | View prioritized backlog with VPC scores | sr-product-analyst + Backlog provider |
|
|
950
|
+
| /specrails:update-product-driven-backlog | Generate new feature ideas via product discovery | sr-product-manager + Backlog provider |
|
|
951
|
+
| /specrails:compat-check | Snapshot API surface and detect breaking changes | None |
|
|
952
|
+
| /specrails:refactor-recommender | Scan for refactoring opportunities ranked by impact/effort | None |
|
|
953
|
+
| /specrails:why | Search past architectural decisions from agent memory | None |
|
|
957
954
|
|
|
958
955
|
[All] [Custom selection]
|
|
959
956
|
```
|
|
@@ -1081,23 +1078,21 @@ Write each persona to `$SPECRAILS_DIR/agents/personas/`:
|
|
|
1081
1078
|
For each selected command, read the template and adapt.
|
|
1082
1079
|
|
|
1083
1080
|
**If `cli_provider == "claude"` (default):**
|
|
1084
|
-
- `setup-templates/commands/
|
|
1085
|
-
- `setup-templates/commands/
|
|
1086
|
-
- `setup-templates/commands/
|
|
1087
|
-
- `setup-templates/commands/
|
|
1088
|
-
- `setup-templates/commands/
|
|
1089
|
-
- `setup-templates/commands/
|
|
1090
|
-
- `setup-templates/commands/
|
|
1091
|
-
- `setup-templates/commands/
|
|
1092
|
-
- `setup-templates/commands/sr/why.md` → `.claude/commands/sr/why.md`
|
|
1081
|
+
- `setup-templates/commands/specrails/implement.md` → `.claude/commands/specrails/implement.md`
|
|
1082
|
+
- `setup-templates/commands/specrails/batch-implement.md` → `.claude/commands/specrails/batch-implement.md`
|
|
1083
|
+
- `setup-templates/commands/specrails/propose-spec.md` → `.claude/commands/specrails/propose-spec.md`
|
|
1084
|
+
- `setup-templates/commands/specrails/product-backlog.md` → `.claude/commands/specrails/product-backlog.md` (if `BACKLOG_PROVIDER != none`)
|
|
1085
|
+
- `setup-templates/commands/specrails/update-product-driven-backlog.md` → `.claude/commands/specrails/update-product-driven-backlog.md` (if `BACKLOG_PROVIDER != none`)
|
|
1086
|
+
- `setup-templates/commands/specrails/compat-check.md` → `.claude/commands/specrails/compat-check.md`
|
|
1087
|
+
- `setup-templates/commands/specrails/refactor-recommender.md` → `.claude/commands/specrails/refactor-recommender.md`
|
|
1088
|
+
- `setup-templates/commands/specrails/why.md` → `.claude/commands/specrails/why.md`
|
|
1093
1089
|
|
|
1094
1090
|
**If `cli_provider == "codex"`:**
|
|
1095
1091
|
- `setup-templates/skills/sr-implement/SKILL.md` → `.agents/skills/sr-implement/SKILL.md`
|
|
1096
1092
|
- `setup-templates/skills/sr-batch-implement/SKILL.md` → `.agents/skills/sr-batch-implement/SKILL.md`
|
|
1097
|
-
- `setup-templates/commands/
|
|
1098
|
-
- `setup-templates/commands/
|
|
1099
|
-
- `setup-templates/commands/
|
|
1100
|
-
- `setup-templates/skills/sr-health-check/SKILL.md` → `.agents/skills/sr-health-check/SKILL.md`
|
|
1093
|
+
- `setup-templates/commands/specrails/propose-spec.md` → `.agents/skills/sr-propose-spec/SKILL.md` (wrap with YAML frontmatter if no skill template exists)
|
|
1094
|
+
- `setup-templates/commands/specrails/product-backlog.md` → `.agents/skills/sr-product-backlog/SKILL.md` (if `BACKLOG_PROVIDER != none`; wrap with frontmatter)
|
|
1095
|
+
- `setup-templates/commands/specrails/update-product-driven-backlog.md` → `.agents/skills/sr-update-product-driven-backlog/SKILL.md` (if `BACKLOG_PROVIDER != none`; wrap with frontmatter)
|
|
1101
1096
|
- `setup-templates/skills/sr-compat-check/SKILL.md` → `.agents/skills/sr-compat-check/SKILL.md`
|
|
1102
1097
|
- `setup-templates/skills/sr-refactor-recommender/SKILL.md` → `.agents/skills/sr-refactor-recommender/SKILL.md`
|
|
1103
1098
|
- `setup-templates/skills/sr-why/SKILL.md` → `.agents/skills/sr-why/SKILL.md`
|
|
@@ -1115,7 +1110,7 @@ metadata:
|
|
|
1115
1110
|
---
|
|
1116
1111
|
```
|
|
1117
1112
|
|
|
1118
|
-
For both providers, create the output directory before writing (`mkdir -p` for `.claude/commands/
|
|
1113
|
+
For both providers, create the output directory before writing (`mkdir -p` for `.claude/commands/specrails/` or `.agents/skills/sr-<name>/`).
|
|
1119
1114
|
|
|
1120
1115
|
Adapt:
|
|
1121
1116
|
- CI commands to match detected stack
|
|
@@ -1320,7 +1315,7 @@ After cleanup, verify that only the intended files remain:
|
|
|
1320
1315
|
# If cli_provider == "claude":
|
|
1321
1316
|
ls .claude/agents/sr-*.md
|
|
1322
1317
|
ls .claude/agents/personas/*.md
|
|
1323
|
-
ls .claude/commands/
|
|
1318
|
+
ls .claude/commands/specrails/*.md
|
|
1324
1319
|
ls .claude/rules/*.md
|
|
1325
1320
|
ls .claude/agent-memory/
|
|
1326
1321
|
|
|
@@ -1376,15 +1371,14 @@ Display the complete installation summary:
|
|
|
1376
1371
|
[If cli_provider == "claude":]
|
|
1377
1372
|
| Command | File |
|
|
1378
1373
|
|---------|------|
|
|
1379
|
-
| /
|
|
1380
|
-
| /
|
|
1381
|
-
| /
|
|
1382
|
-
| /
|
|
1383
|
-
| /
|
|
1384
|
-
| /
|
|
1385
|
-
| /
|
|
1386
|
-
| /
|
|
1387
|
-
| /sr:why | .claude/commands/sr/why.md |
|
|
1374
|
+
| /specrails:implement | .claude/commands/specrails/implement.md |
|
|
1375
|
+
| /specrails:batch-implement | .claude/commands/specrails/batch-implement.md |
|
|
1376
|
+
| /specrails:propose-spec | .claude/commands/specrails/propose-spec.md |
|
|
1377
|
+
| /specrails:product-backlog | .claude/commands/specrails/product-backlog.md |
|
|
1378
|
+
| /specrails:update-product-driven-backlog | .claude/commands/specrails/update-product-driven-backlog.md |
|
|
1379
|
+
| /specrails:compat-check | .claude/commands/specrails/compat-check.md |
|
|
1380
|
+
| /specrails:refactor-recommender | .claude/commands/specrails/refactor-recommender.md |
|
|
1381
|
+
| /specrails:why | .claude/commands/specrails/why.md |
|
|
1388
1382
|
[If cli_provider == "codex":]
|
|
1389
1383
|
| Skill | File |
|
|
1390
1384
|
|-------|------|
|
|
@@ -1393,7 +1387,6 @@ Display the complete installation summary:
|
|
|
1393
1387
|
| $sr-propose-spec | .agents/skills/sr-propose-spec/SKILL.md |
|
|
1394
1388
|
| $sr-product-backlog | .agents/skills/sr-product-backlog/SKILL.md |
|
|
1395
1389
|
| $sr-update-product-driven-backlog | .agents/skills/sr-update-product-driven-backlog/SKILL.md |
|
|
1396
|
-
| $sr-health-check | .agents/skills/sr-health-check/SKILL.md |
|
|
1397
1390
|
| $sr-compat-check | .agents/skills/sr-compat-check/SKILL.md |
|
|
1398
1391
|
| $sr-refactor-recommender | .agents/skills/sr-refactor-recommender/SKILL.md |
|
|
1399
1392
|
| $sr-why | .agents/skills/sr-why/SKILL.md |
|
|
@@ -1417,9 +1410,9 @@ Note: Only commands/skills selected during setup are shown. Backlog commands are
|
|
|
1417
1410
|
### Next Steps
|
|
1418
1411
|
[If cli_provider == "claude":]
|
|
1419
1412
|
1. Review the generated files in .claude/
|
|
1420
|
-
2. Run `/
|
|
1421
|
-
3. Run `/
|
|
1422
|
-
4. Run `/
|
|
1413
|
+
2. Run `/specrails:product-backlog` to see your backlog (if GitHub Issues exist)
|
|
1414
|
+
3. Run `/specrails:update-product-driven-backlog` to generate feature ideas
|
|
1415
|
+
4. Run `/specrails:implement #issue-number` to implement a feature
|
|
1423
1416
|
5. Commit the .claude/ directory to version control
|
|
1424
1417
|
[If cli_provider == "codex":]
|
|
1425
1418
|
1. Review the generated files in .codex/ and .agents/skills/
|
|
@@ -1430,9 +1423,9 @@ Note: Only commands/skills selected during setup are shown. Backlog commands are
|
|
|
1430
1423
|
|
|
1431
1424
|
### Quick Start
|
|
1432
1425
|
[If cli_provider == "claude":]
|
|
1433
|
-
- `/
|
|
1434
|
-
- `/
|
|
1435
|
-
- `/
|
|
1426
|
+
- `/specrails:implement "describe a feature"` — implement something right now
|
|
1427
|
+
- `/specrails:product-backlog` — see prioritized feature ideas
|
|
1428
|
+
- `/specrails:update-product-driven-backlog` — discover new features using VPC
|
|
1436
1429
|
[If cli_provider == "codex":]
|
|
1437
1430
|
- `$sr-implement "describe a feature"` — implement something right now
|
|
1438
1431
|
- `$sr-product-backlog` — see prioritized feature ideas
|
|
@@ -1449,7 +1442,7 @@ After displaying the setup complete summary above, detect the project type and o
|
|
|
1449
1442
|
|
|
1450
1443
|
Try your first spec:
|
|
1451
1444
|
[If cli_provider == "claude":]
|
|
1452
|
-
> /
|
|
1445
|
+
> /specrails:product-backlog
|
|
1453
1446
|
[If cli_provider == "codex":]
|
|
1454
1447
|
> $sr-product-backlog
|
|
1455
1448
|
```
|
|
@@ -1460,9 +1453,9 @@ Try your first spec:
|
|
|
1460
1453
|
|
|
1461
1454
|
Try your first spec:
|
|
1462
1455
|
[If cli_provider == "claude":]
|
|
1463
|
-
> /
|
|
1456
|
+
> /specrails:refactor-recommender
|
|
1464
1457
|
[If cli_provider == "codex":]
|
|
1465
|
-
> $sr-
|
|
1458
|
+
> $sr-refactor-recommender
|
|
1466
1459
|
```
|
|
1467
1460
|
|
|
1468
1461
|
Then stop.
|
package/docs/README.md
CHANGED
|
@@ -13,9 +13,10 @@ Welcome to the SpecRails docs. This guide will take you from zero to a fully aut
|
|
|
13
13
|
|
|
14
14
|
| Guide | What it covers |
|
|
15
15
|
|-------|----------------|
|
|
16
|
-
| [Installation & Setup](installation.md) | Detailed setup, prerequisites, the `/setup` wizard |
|
|
16
|
+
| [Installation & Setup](installation.md) | Detailed setup, prerequisites, the `/specrails:setup` wizard |
|
|
17
|
+
| [Plugin Architecture](plugin-architecture.md) | Plugin vs scaffold, what lives where, how updates work |
|
|
17
18
|
| [Agents](agents.md) | Every agent explained — role, when it runs, why it exists |
|
|
18
|
-
| [Workflows & Commands](workflows.md) | How to use `/
|
|
19
|
+
| [Workflows & Commands](workflows.md) | How to use `/specrails:implement`, `/specrails:product-backlog`, and more |
|
|
19
20
|
| [Customization](customization.md) | Adapt agents, rules, personas, and conventions to your project |
|
|
20
21
|
| [Updating](updating.md) | Keep SpecRails up to date without losing your customizations |
|
|
21
22
|
|
package/docs/agents.md
CHANGED
|
@@ -21,7 +21,7 @@ The result: better quality at every stage, with clear accountability.
|
|
|
21
21
|
|-|-|
|
|
22
22
|
| **Color** | Blue |
|
|
23
23
|
| **Model** | Opus (creative reasoning) |
|
|
24
|
-
| **Trigger** | `/opsx:explore`, `/
|
|
24
|
+
| **Trigger** | `/opsx:explore`, `/specrails:update-product-driven-backlog` |
|
|
25
25
|
| **Role** | Feature ideation and product strategy |
|
|
26
26
|
|
|
27
27
|
The Product Manager is the **starting point** of the pipeline. It researches your competitive landscape (via web search), evaluates ideas against your user personas using the VPC framework, and produces prioritized feature recommendations.
|
|
@@ -42,7 +42,7 @@ The Product Manager is the **starting point** of the pipeline. It researches you
|
|
|
42
42
|
|-|-|
|
|
43
43
|
| **Color** | Cyan |
|
|
44
44
|
| **Model** | Haiku (fast, read-only) |
|
|
45
|
-
| **Trigger** | `/
|
|
45
|
+
| **Trigger** | `/specrails:product-backlog` |
|
|
46
46
|
| **Role** | Backlog analysis and reporting |
|
|
47
47
|
|
|
48
48
|
The Product Analyst is a **read-only** agent. It reads your backlog, specs, and archived changes to produce structured reports. It never writes code or makes decisions — it just gives you the data.
|
|
@@ -62,7 +62,7 @@ The Product Analyst is a **read-only** agent. It reads your backlog, specs, and
|
|
|
62
62
|
|-|-|
|
|
63
63
|
| **Color** | Green |
|
|
64
64
|
| **Model** | Sonnet |
|
|
65
|
-
| **Trigger** | `/opsx:ff`, `/opsx:continue`, `/
|
|
65
|
+
| **Trigger** | `/opsx:ff`, `/opsx:continue`, `/specrails:implement` (Phase 3a) |
|
|
66
66
|
| **Role** | System design and task breakdown |
|
|
67
67
|
|
|
68
68
|
The Architect translates **what to build** into **how to build it**. It reads the relevant specs, analyzes the codebase, and produces a detailed implementation design with ordered tasks.
|
|
@@ -76,7 +76,7 @@ The Architect translates **what to build** into **how to build it**. It reads th
|
|
|
76
76
|
- Risks and considerations
|
|
77
77
|
- Backwards compatibility impact report (Phase 6 auto-check against API surface)
|
|
78
78
|
|
|
79
|
-
The Architect also records decision rationale in `.claude/agent-memory/explanations/` — queryable later with `/
|
|
79
|
+
The Architect also records decision rationale in `.claude/agent-memory/explanations/` — queryable later with `/specrails:why`.
|
|
80
80
|
|
|
81
81
|
---
|
|
82
82
|
|
|
@@ -86,7 +86,7 @@ The Architect also records decision rationale in `.claude/agent-memory/explanati
|
|
|
86
86
|
|-|-|
|
|
87
87
|
| **Color** | Purple |
|
|
88
88
|
| **Model** | Sonnet |
|
|
89
|
-
| **Trigger** | `/opsx:apply`, `/
|
|
89
|
+
| **Trigger** | `/opsx:apply`, `/specrails:implement` (Phase 3b) |
|
|
90
90
|
| **Role** | Full-stack implementation |
|
|
91
91
|
|
|
92
92
|
The Developer is the **workhorse**. It reads the Architect's design, loads the relevant layer conventions, and writes production-quality code across all layers. It follows a strict process: understand, plan, implement, verify.
|
|
@@ -106,7 +106,7 @@ Before starting implementation, the Developer reads any **failure records** from
|
|
|
106
106
|
|-|-|
|
|
107
107
|
| **Colors** | Purple (backend), Blue (frontend) |
|
|
108
108
|
| **Model** | Sonnet |
|
|
109
|
-
| **Trigger** | `/
|
|
109
|
+
| **Trigger** | `/specrails:implement` with parallel pipeline |
|
|
110
110
|
| **Role** | Layer-specific implementation |
|
|
111
111
|
|
|
112
112
|
For large full-stack features, SpecRails can split work between **Backend Developer** and **Frontend Developer** running in **parallel git worktrees**. Each has a lighter prompt focused on their stack and runs only the relevant CI checks.
|
|
@@ -121,7 +121,7 @@ For large full-stack features, SpecRails can split work between **Backend Develo
|
|
|
121
121
|
|-|-|
|
|
122
122
|
| **Color** | Cyan |
|
|
123
123
|
| **Model** | Sonnet |
|
|
124
|
-
| **Trigger** | `/
|
|
124
|
+
| **Trigger** | `/specrails:implement` (Phase 3c) |
|
|
125
125
|
| **Role** | Automated test generation |
|
|
126
126
|
|
|
127
127
|
After the Developer finishes, the Test Writer generates comprehensive tests for the new code. It auto-detects your test framework, reads 3 existing tests to learn your patterns, and targets >80% coverage of new code.
|
|
@@ -143,7 +143,7 @@ After the Developer finishes, the Test Writer generates comprehensive tests for
|
|
|
143
143
|
|-|-|
|
|
144
144
|
| **Color** | Yellow |
|
|
145
145
|
| **Model** | Sonnet |
|
|
146
|
-
| **Trigger** | `/
|
|
146
|
+
| **Trigger** | `/specrails:implement` (Phase 3d) |
|
|
147
147
|
| **Role** | Keep documentation in sync with code |
|
|
148
148
|
|
|
149
149
|
Doc Sync detects and updates your project's documentation after implementation:
|
|
@@ -162,7 +162,7 @@ Doc Sync detects and updates your project's documentation after implementation:
|
|
|
162
162
|
|-|-|
|
|
163
163
|
| **Color** | Cyan |
|
|
164
164
|
| **Model** | Sonnet |
|
|
165
|
-
| **Trigger** | `/
|
|
165
|
+
| **Trigger** | `/specrails:implement` (Phase 4b, parallel) |
|
|
166
166
|
| **Role** | Frontend-specific quality audit |
|
|
167
167
|
|
|
168
168
|
The Frontend Reviewer runs in parallel with the Backend Reviewer during Phase 4b, specializing in client-side concerns that a generalist reviewer might miss.
|
|
@@ -180,7 +180,7 @@ The Frontend Reviewer runs in parallel with the Backend Reviewer during Phase 4b
|
|
|
180
180
|
|-|-|
|
|
181
181
|
| **Color** | Cyan |
|
|
182
182
|
| **Model** | Sonnet |
|
|
183
|
-
| **Trigger** | `/
|
|
183
|
+
| **Trigger** | `/specrails:implement` (Phase 4b, parallel) |
|
|
184
184
|
| **Role** | Backend-specific quality audit |
|
|
185
185
|
|
|
186
186
|
The Backend Reviewer runs in parallel with the Frontend Reviewer during Phase 4b, specializing in server-side concerns.
|
|
@@ -199,7 +199,7 @@ The Backend Reviewer runs in parallel with the Frontend Reviewer during Phase 4b
|
|
|
199
199
|
|-|-|
|
|
200
200
|
| **Color** | Orange |
|
|
201
201
|
| **Model** | Sonnet |
|
|
202
|
-
| **Trigger** | `/
|
|
202
|
+
| **Trigger** | `/specrails:implement` (Phase 4) |
|
|
203
203
|
| **Role** | Security audit |
|
|
204
204
|
|
|
205
205
|
The Security Reviewer scans new code for:
|
|
@@ -221,7 +221,7 @@ You can suppress known false positives via `.claude/security-exemptions.yaml`.
|
|
|
221
221
|
|-|-|
|
|
222
222
|
| **Color** | Red |
|
|
223
223
|
| **Model** | Sonnet |
|
|
224
|
-
| **Trigger** | `/
|
|
224
|
+
| **Trigger** | `/specrails:implement` (Phase 4b), after all developers complete |
|
|
225
225
|
| **Role** | Final quality gate |
|
|
226
226
|
|
|
227
227
|
The Reviewer is the **last agent before ship**. It:
|
|
@@ -251,7 +251,7 @@ The Reviewer is the **last agent before ship**. It:
|
|
|
251
251
|
|-|-|
|
|
252
252
|
| **Color** | Yellow |
|
|
253
253
|
| **Model** | Sonnet |
|
|
254
|
-
| **Trigger** | `/
|
|
254
|
+
| **Trigger** | `/specrails:merge-resolve`, `/specrails:implement` (Phase 4a, after worktree merge) |
|
|
255
255
|
| **Role** | AI-powered merge conflict resolution |
|
|
256
256
|
|
|
257
257
|
When a multi-feature pipeline merges worktrees and produces conflict markers, the Merge Resolver analyzes each conflict block using the OpenSpec context bundles from both features. It applies resolutions where confidence is high enough and leaves clean markers for the conflicts it cannot safely resolve.
|
|
@@ -273,7 +273,7 @@ When a multi-feature pipeline merges worktrees and produces conflict markers, th
|
|
|
273
273
|
|-|-|
|
|
274
274
|
| **Color** | Yellow |
|
|
275
275
|
| **Model** | Sonnet |
|
|
276
|
-
| **Trigger** | `/
|
|
276
|
+
| **Trigger** | `/specrails:implement` (Phase 4, after Security Reviewer) |
|
|
277
277
|
| **Role** | Performance regression detection |
|
|
278
278
|
|
|
279
279
|
The Performance Reviewer benchmarks modified code paths after implementation, compares metrics against configured thresholds, and outputs a structured report. It never fixes code — findings above the threshold trigger the Developer to address them before the pipeline continues.
|
|
@@ -301,7 +301,7 @@ Every agent stores observations in `.claude/agent-memory/<agent>/MEMORY.md`. Thi
|
|
|
301
301
|
└── ...
|
|
302
302
|
```
|
|
303
303
|
|
|
304
|
-
Memory is automatic — you don't need to manage it. Agents read relevant memories at the start of each task and write new observations as they work. Use `/
|
|
304
|
+
Memory is automatic — you don't need to manage it. Agents read relevant memories at the start of each task and write new observations as they work. Use `/specrails:why` to search the explanations directory in plain language.
|
|
305
305
|
|
|
306
306
|
## What's next?
|
|
307
307
|
|
package/docs/changelog.md
CHANGED
|
@@ -8,8 +8,8 @@ All notable changes to SpecRails are listed here, newest first.
|
|
|
8
8
|
|
|
9
9
|
### New commands
|
|
10
10
|
|
|
11
|
-
- **`/
|
|
12
|
-
- **`/
|
|
11
|
+
- **`/specrails:merge-conflict`** — Smart merge conflict resolver. Analyzes conflict context, understands intent of both sides, and proposes the correct resolution with an explanation.
|
|
12
|
+
- **`/specrails:refactor-recommender` (enhanced)** — Now includes VPC context-aware scoring: debt items are ranked against persona Jobs/Pains/Gains for product-aligned prioritization.
|
|
13
13
|
|
|
14
14
|
### Agents
|
|
15
15
|
|
|
@@ -41,8 +41,8 @@ All notable changes to SpecRails are listed here, newest first.
|
|
|
41
41
|
|
|
42
42
|
### New commands
|
|
43
43
|
|
|
44
|
-
- **`/
|
|
45
|
-
- **`/
|
|
44
|
+
- **`/specrails:opsx-diff`** — Change diff visualizer. Shows a structured, human-readable diff of what changed between two points in time across agents, commands, and templates.
|
|
45
|
+
- **`/specrails:telemetry`** — Agent telemetry and cost tracking. Reports per-agent token usage, run counts, and cost estimates with trend analysis.
|
|
46
46
|
|
|
47
47
|
### Agents
|
|
48
48
|
|
|
@@ -54,8 +54,8 @@ All notable changes to SpecRails are listed here, newest first.
|
|
|
54
54
|
|
|
55
55
|
### New commands
|
|
56
56
|
|
|
57
|
-
- **`/
|
|
58
|
-
- **`/
|
|
57
|
+
- **`/specrails:vpc-drift`** — Detects when your VPC personas have drifted from what your product actually delivers. Compares persona Jobs/Pains/Gains against the backlog and agent memory; produces per-persona alignment scores and concrete update recommendations.
|
|
58
|
+
- **`/specrails:memory-inspect`** — Inspect and manage agent memory directories. Shows per-agent stats, recent entries, and stale file detection with optional pruning.
|
|
59
59
|
|
|
60
60
|
---
|
|
61
61
|
|
|
@@ -63,7 +63,7 @@ All notable changes to SpecRails are listed here, newest first.
|
|
|
63
63
|
|
|
64
64
|
### New commands
|
|
65
65
|
|
|
66
|
-
- **`/
|
|
66
|
+
- **`/specrails:retry`** — Smart failure recovery. Resumes a failed `/specrails:implement` pipeline from the last successful phase without restarting from scratch. Reads saved pipeline state to identify what completed, then re-executes only the remaining phases.
|
|
67
67
|
|
|
68
68
|
### Agents
|
|
69
69
|
|
|
@@ -75,7 +75,7 @@ All notable changes to SpecRails are listed here, newest first.
|
|
|
75
75
|
|
|
76
76
|
### Improvements
|
|
77
77
|
|
|
78
|
-
- **`/
|
|
78
|
+
- **`/specrails:health-check` extended with static code analysis** — Now includes complexity metrics, dead code detection, and architectural pattern analysis in addition to test coverage and dependency health.
|
|
79
79
|
|
|
80
80
|
---
|
|
81
81
|
|
|
@@ -107,7 +107,7 @@ Initial stable release.
|
|
|
107
107
|
|
|
108
108
|
### ⚠ Breaking changes
|
|
109
109
|
|
|
110
|
-
All commands renamed from `/<name>` to `/
|
|
110
|
+
All commands renamed from `/<name>` to `/specrails:<name>`. All agent files renamed from `<name>.md` to `sr-<name>.md`. Existing installations are auto-migrated by `update.sh`.
|
|
111
111
|
|
|
112
112
|
### What shipped in 1.0
|
|
113
113
|
|
|
@@ -117,17 +117,17 @@ All commands renamed from `/<name>` to `/sr:<name>`. All agent files renamed fro
|
|
|
117
117
|
- Security Reviewer, Doc Sync, Product Analyst
|
|
118
118
|
|
|
119
119
|
**11 commands**
|
|
120
|
-
- `/
|
|
121
|
-
- `/
|
|
122
|
-
- `/
|
|
123
|
-
- `/
|
|
124
|
-
- `/
|
|
125
|
-
- `/
|
|
126
|
-
- `/
|
|
127
|
-
- `/
|
|
128
|
-
- `/
|
|
129
|
-
- `/
|
|
130
|
-
- `/
|
|
120
|
+
- `/specrails:implement` — full 8-phase pipeline (architecture → code → tests → docs → review → PR)
|
|
121
|
+
- `/specrails:batch-implement` — parallel multi-feature orchestrator using git worktrees
|
|
122
|
+
- `/specrails:health-check` — codebase quality dashboard with regression detection
|
|
123
|
+
- `/specrails:compat-check` — backwards compatibility analyzer and migration guide generator
|
|
124
|
+
- `/specrails:product-backlog` — VPC-scored backlog view with safe implementation ordering
|
|
125
|
+
- `/specrails:update-product-driven-backlog` — AI-powered product discovery via personas
|
|
126
|
+
- `/specrails:refactor-recommender` — tech debt scanner ranked by impact/effort
|
|
127
|
+
- `/specrails:why` — semantic search over agent decision records
|
|
128
|
+
- `/specrails:retry` — smart failure recovery (added in 1.3)
|
|
129
|
+
- `/specrails:vpc-drift` — persona drift detection (added in 1.4)
|
|
130
|
+
- `/specrails:propose-spec` — structured feature proposal generator
|
|
131
131
|
|
|
132
132
|
**Pipeline Monitor (web-manager)**
|
|
133
133
|
- Real-time job queue dashboard
|
package/docs/concepts.md
CHANGED
|
@@ -153,17 +153,17 @@ Before starting implementation, the Developer reads matching failure records as
|
|
|
153
153
|
|
|
154
154
|
The Architect, Developer, and Reviewer record **decision rationale** in `.claude/agent-memory/explanations/` as they work. These records capture the "why" behind implementation choices — which library was chosen and why, which trade-off was accepted, which alternative was rejected.
|
|
155
155
|
|
|
156
|
-
Use `/
|
|
156
|
+
Use `/specrails:why` to search this memory in plain language:
|
|
157
157
|
|
|
158
158
|
```
|
|
159
|
-
/
|
|
159
|
+
/specrails:why "why did we switch to event sourcing"
|
|
160
160
|
```
|
|
161
161
|
|
|
162
162
|
This gives you an audit trail from product decision to implementation choice, without digging through git history or asking the original author.
|
|
163
163
|
|
|
164
164
|
## Dependency-Aware Ordering
|
|
165
165
|
|
|
166
|
-
When `/
|
|
166
|
+
When `/specrails:product-backlog` is run, the Product Analyst parses `Prerequisites:` fields from GitHub Issue bodies and builds a **dependency DAG** (directed acyclic graph). It then:
|
|
167
167
|
|
|
168
168
|
1. Detects cycles and reports them as errors (circular dependencies block ordering)
|
|
169
169
|
2. Computes a safe implementation order via topological sort
|