specrails-core 5.6.0 → 6.0.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 +27 -145
- package/bin/specrails-core.mjs +12 -554
- package/dist/agent-runtime/capabilities.js +0 -1
- package/dist/agent-runtime/change-scope.d.ts +63 -0
- package/dist/agent-runtime/change-scope.js +297 -0
- package/dist/agent-runtime/cli-executor.d.ts +1 -1
- package/dist/agent-runtime/cli-executor.js +1 -2
- package/dist/agent-runtime/cli-process.js +0 -1
- package/dist/agent-runtime/cli.js +4 -5
- package/dist/agent-runtime/codex-schema.js +0 -1
- package/dist/agent-runtime/compact/architect.d.ts +3 -272
- package/dist/agent-runtime/compact/architect.js +8 -9
- package/dist/agent-runtime/compact/chat-client.d.ts +3 -3
- package/dist/agent-runtime/compact/chat-client.js +1 -2
- package/dist/agent-runtime/compact/developer.d.ts +3 -70
- package/dist/agent-runtime/compact/developer.js +13 -14
- package/dist/agent-runtime/compact/environment.d.ts +16 -5
- package/dist/agent-runtime/compact/environment.js +32 -3
- package/dist/agent-runtime/compact/exit-code-honesty.d.ts +2 -1
- package/dist/agent-runtime/compact/exit-code-honesty.js +0 -1
- package/dist/agent-runtime/compact/guarded-loop.d.ts +2 -18
- package/dist/agent-runtime/compact/guarded-loop.js +7 -8
- package/dist/agent-runtime/compact/prompt-inputs.d.ts +0 -2
- package/dist/agent-runtime/compact/prompt-inputs.js +1 -2
- package/dist/agent-runtime/compact/reviewer.d.ts +0 -13
- package/dist/agent-runtime/compact/reviewer.js +5 -6
- package/dist/agent-runtime/compact/step.d.ts +0 -1
- package/dist/agent-runtime/compact/step.js +1 -2
- package/dist/agent-runtime/compact/test-reachability.js +6 -3
- package/dist/agent-runtime/config.js +0 -1
- package/dist/agent-runtime/core-host.d.ts +2 -2
- package/dist/agent-runtime/core-host.js +2 -3
- package/dist/agent-runtime/durable-store.d.ts +0 -1
- package/dist/agent-runtime/durable-store.js +1 -2
- package/dist/agent-runtime/efficiency-summary.d.ts +2 -2
- package/dist/agent-runtime/efficiency-summary.js +1 -2
- package/dist/agent-runtime/efficiency-types.js +0 -1
- package/dist/agent-runtime/efficiency.js +0 -1
- package/dist/agent-runtime/evaluation-corpus.js +0 -1
- package/dist/agent-runtime/evaluation.d.ts +2 -1
- package/dist/agent-runtime/evaluation.js +1 -2
- package/dist/agent-runtime/executor-types.d.ts +1 -1
- package/dist/agent-runtime/executor-types.js +0 -1
- package/dist/agent-runtime/executors.js +0 -1
- package/dist/agent-runtime/gemini-policy.js +0 -1
- package/dist/agent-runtime/graph/artifacts.d.ts +1 -1
- package/dist/agent-runtime/graph/artifacts.js +5 -3
- package/dist/agent-runtime/graph/convergence.d.ts +26 -0
- package/dist/agent-runtime/graph/convergence.js +62 -0
- package/dist/agent-runtime/graph/nodes.d.ts +1 -1
- package/dist/agent-runtime/graph/nodes.js +170 -24
- package/dist/agent-runtime/graph/review-policy.js +0 -1
- package/dist/agent-runtime/graph/roles.d.ts +2 -5
- package/dist/agent-runtime/graph/roles.js +2 -8
- package/dist/agent-runtime/graph/state.d.ts +6 -1
- package/dist/agent-runtime/graph/state.js +2 -1
- package/dist/agent-runtime/graph-checkpointer.d.ts +2 -1
- package/dist/agent-runtime/graph-checkpointer.js +0 -1
- package/dist/agent-runtime/guardrails.d.ts +3 -3
- package/dist/agent-runtime/guardrails.js +1 -2
- package/dist/agent-runtime/index.d.ts +1 -1
- package/dist/agent-runtime/index.js +1 -2
- package/dist/agent-runtime/kimi-acp.js +1 -2
- package/dist/agent-runtime/kimi-model.d.ts +6 -0
- package/dist/agent-runtime/kimi-model.js +12 -0
- package/dist/agent-runtime/openai-executor.d.ts +0 -9
- package/dist/agent-runtime/openai-executor.js +6 -7
- package/dist/agent-runtime/openspec-tool-server.js +1 -2
- package/dist/agent-runtime/openspec.d.ts +0 -2
- package/dist/agent-runtime/openspec.js +1 -6
- package/dist/agent-runtime/prompts.d.ts +11 -5
- package/dist/agent-runtime/prompts.js +46 -17
- package/dist/agent-runtime/provider-diagnostic.js +1 -2
- package/dist/agent-runtime/recovery.js +1 -2
- package/dist/agent-runtime/repository-context.d.ts +1 -1
- package/dist/agent-runtime/repository-context.js +19 -1
- package/dist/agent-runtime/review-context.d.ts +1 -1
- package/dist/agent-runtime/review-context.js +0 -1
- package/dist/agent-runtime/role-routing.js +0 -1
- package/dist/agent-runtime/role-state.js +0 -1
- package/dist/agent-runtime/runtime-identity.js +1 -2
- package/dist/agent-runtime/tool-event.js +0 -1
- package/dist/agent-runtime/verification-plan.d.ts +5 -4
- package/dist/agent-runtime/verification-plan.js +9 -5
- package/dist/agent-runtime/workflow-types.js +0 -1
- package/dist/agent-runtime/workflow.js +0 -1
- package/dist/agent-runtime/workspace-tools.d.ts +2 -2
- package/dist/agent-runtime/workspace-tools.js +1 -2
- package/dist/installer/cli.d.ts +3 -32
- package/dist/installer/cli.js +26 -101
- package/dist/installer/commands/framework.d.ts +4 -3
- package/dist/installer/commands/framework.js +0 -1
- package/dist/installer/commands/init.d.ts +4 -25
- package/dist/installer/commands/init.js +5 -8
- package/dist/installer/phases/framework-lifecycle.d.ts +3 -17
- package/dist/installer/phases/framework-lifecycle.js +2 -3
- package/dist/installer/phases/install-config.d.ts +7 -8
- package/dist/installer/phases/install-config.js +2 -7
- package/dist/installer/phases/manifest.d.ts +6 -7
- package/dist/installer/phases/manifest.js +2 -7
- package/dist/installer/phases/prereqs.d.ts +6 -7
- package/dist/installer/phases/prereqs.js +4 -6
- package/dist/installer/phases/provider-detect.d.ts +6 -7
- package/dist/installer/phases/provider-detect.js +2 -4
- package/dist/installer/phases/scaffold.d.ts +9 -10
- package/dist/installer/phases/scaffold.js +82 -805
- package/dist/installer/util/errors.js +0 -1
- package/dist/installer/util/exec.d.ts +3 -2
- package/dist/installer/util/exec.js +0 -1
- package/dist/installer/util/fs.d.ts +0 -10
- package/dist/installer/util/fs.js +1 -2
- package/dist/installer/util/git.js +0 -1
- package/dist/installer/util/install-transaction.d.ts +2 -2
- package/dist/installer/util/install-transaction.js +1 -2
- package/dist/installer/util/logger.d.ts +1 -3
- package/dist/installer/util/logger.js +0 -1
- package/dist/installer/util/paths.js +0 -1
- package/dist/installer/util/registry.d.ts +4 -8
- package/dist/installer/util/registry.js +2 -3
- package/dist/{installer/runtime → pipeline}/pipeline-state.d.ts +11 -0
- package/dist/{installer/runtime → pipeline}/pipeline-state.js +56 -5
- package/dist/shared/args.d.ts +18 -0
- package/dist/shared/args.js +53 -0
- package/integration-contract.json +11 -47
- package/package.json +3 -10
- package/templates/agents/sr-architect.md +15 -310
- package/templates/agents/sr-developer.md +15 -269
- package/templates/agents/sr-reviewer.md +13 -367
- package/templates/codex-skills/rails/sr-architect/SKILL.md +14 -308
- package/templates/codex-skills/rails/sr-developer/SKILL.md +14 -201
- package/templates/codex-skills/rails/sr-reviewer/SKILL.md +15 -289
- package/templates/kimi/specrails/run-skill.mjs +91 -2173
- package/bin/tui-installer.mjs +0 -430
- package/commands/doctor.md +0 -62
- package/dist/agent-runtime/capabilities.js.map +0 -1
- package/dist/agent-runtime/cli-executor.js.map +0 -1
- package/dist/agent-runtime/cli-process.js.map +0 -1
- package/dist/agent-runtime/cli.js.map +0 -1
- package/dist/agent-runtime/codex-schema.js.map +0 -1
- package/dist/agent-runtime/compact/architect.js.map +0 -1
- package/dist/agent-runtime/compact/chat-client.js.map +0 -1
- package/dist/agent-runtime/compact/developer.js.map +0 -1
- package/dist/agent-runtime/compact/environment.js.map +0 -1
- package/dist/agent-runtime/compact/exit-code-honesty.js.map +0 -1
- package/dist/agent-runtime/compact/guarded-loop.js.map +0 -1
- package/dist/agent-runtime/compact/prompt-inputs.js.map +0 -1
- package/dist/agent-runtime/compact/reviewer.js.map +0 -1
- package/dist/agent-runtime/compact/step.js.map +0 -1
- package/dist/agent-runtime/compact/test-reachability.js.map +0 -1
- package/dist/agent-runtime/config.js.map +0 -1
- package/dist/agent-runtime/core-host.js.map +0 -1
- package/dist/agent-runtime/durable-store.js.map +0 -1
- package/dist/agent-runtime/efficiency-summary.js.map +0 -1
- package/dist/agent-runtime/efficiency-types.js.map +0 -1
- package/dist/agent-runtime/efficiency.js.map +0 -1
- package/dist/agent-runtime/evaluation-corpus.js.map +0 -1
- package/dist/agent-runtime/evaluation.js.map +0 -1
- package/dist/agent-runtime/executor-types.js.map +0 -1
- package/dist/agent-runtime/executors.js.map +0 -1
- package/dist/agent-runtime/gemini-policy.js.map +0 -1
- package/dist/agent-runtime/graph/artifacts.js.map +0 -1
- package/dist/agent-runtime/graph/nodes.js.map +0 -1
- package/dist/agent-runtime/graph/review-policy.js.map +0 -1
- package/dist/agent-runtime/graph/roles.js.map +0 -1
- package/dist/agent-runtime/graph/state.js.map +0 -1
- package/dist/agent-runtime/graph-checkpointer.js.map +0 -1
- package/dist/agent-runtime/guardrails.js.map +0 -1
- package/dist/agent-runtime/index.js.map +0 -1
- package/dist/agent-runtime/kimi-acp.js.map +0 -1
- package/dist/agent-runtime/openai-executor.js.map +0 -1
- package/dist/agent-runtime/openspec-tool-server.js.map +0 -1
- package/dist/agent-runtime/openspec.js.map +0 -1
- package/dist/agent-runtime/prompts.js.map +0 -1
- package/dist/agent-runtime/provider-diagnostic.js.map +0 -1
- package/dist/agent-runtime/recovery.js.map +0 -1
- package/dist/agent-runtime/repository-context.js.map +0 -1
- package/dist/agent-runtime/review-context.js.map +0 -1
- package/dist/agent-runtime/role-routing.js.map +0 -1
- package/dist/agent-runtime/role-state.js.map +0 -1
- package/dist/agent-runtime/runtime-identity.js.map +0 -1
- package/dist/agent-runtime/tool-event.js.map +0 -1
- package/dist/agent-runtime/verification-plan.js.map +0 -1
- package/dist/agent-runtime/workflow-types.js.map +0 -1
- package/dist/agent-runtime/workflow.js.map +0 -1
- package/dist/agent-runtime/workspace-tools.js.map +0 -1
- package/dist/installer/cli.js.map +0 -1
- package/dist/installer/commands/doctor.d.ts +0 -27
- package/dist/installer/commands/doctor.js +0 -615
- package/dist/installer/commands/doctor.js.map +0 -1
- package/dist/installer/commands/framework.js.map +0 -1
- package/dist/installer/commands/init.js.map +0 -1
- package/dist/installer/commands/update.d.ts +0 -56
- package/dist/installer/commands/update.js +0 -257
- package/dist/installer/commands/update.js.map +0 -1
- package/dist/installer/commands/v5-migration.d.ts +0 -32
- package/dist/installer/commands/v5-migration.js +0 -133
- package/dist/installer/commands/v5-migration.js.map +0 -1
- package/dist/installer/phases/framework-lifecycle.js.map +0 -1
- package/dist/installer/phases/install-config.js.map +0 -1
- package/dist/installer/phases/manifest.js.map +0 -1
- package/dist/installer/phases/prereqs.js.map +0 -1
- package/dist/installer/phases/provider-detect.js.map +0 -1
- package/dist/installer/phases/scaffold.js.map +0 -1
- package/dist/installer/runtime/kimi.d.ts +0 -84
- package/dist/installer/runtime/kimi.js +0 -255
- package/dist/installer/runtime/kimi.js.map +0 -1
- package/dist/installer/runtime/pipeline-state.js.map +0 -1
- package/dist/installer/util/errors.js.map +0 -1
- package/dist/installer/util/exec.js.map +0 -1
- package/dist/installer/util/fs.js.map +0 -1
- package/dist/installer/util/git.js.map +0 -1
- package/dist/installer/util/install-transaction.js.map +0 -1
- package/dist/installer/util/logger.js.map +0 -1
- package/dist/installer/util/paths.js.map +0 -1
- package/dist/installer/util/prompts.d.ts +0 -23
- package/dist/installer/util/prompts.js +0 -49
- package/dist/installer/util/prompts.js.map +0 -1
- package/dist/installer/util/registry.js.map +0 -1
- package/dist/installer/util/template.d.ts +0 -23
- package/dist/installer/util/template.js +0 -60
- package/dist/installer/util/template.js.map +0 -1
- package/docs/README.md +0 -40
- package/docs/agent-runtime-efficiency.md +0 -65
- package/docs/agent-runtime.md +0 -393
- package/docs/agents.md +0 -315
- package/docs/changelog.md +0 -168
- package/docs/ci-cd.md +0 -60
- package/docs/concepts.md +0 -183
- package/docs/customization.md +0 -363
- package/docs/deployment.md +0 -234
- package/docs/getting-started.md +0 -122
- package/docs/installation.md +0 -395
- package/docs/local-tickets.md +0 -191
- package/docs/migration-guide.md +0 -140
- package/docs/playbook-oss-maintainer.md +0 -112
- package/docs/playbook-parallel-dev.md +0 -124
- package/docs/playbook-product-discovery.md +0 -115
- package/docs/plugin-architecture.md +0 -144
- package/docs/research/codex-compatibility-analysis.md +0 -365
- package/docs/research/mcp-feasibility-analysis.md +0 -382
- package/docs/testing/test-matrix-codex.md +0 -130
- package/docs/updating.md +0 -89
- package/docs/user-docs/cli-reference.md +0 -428
- package/docs/user-docs/codex-vs-claude-code.md +0 -23
- package/docs/user-docs/core-updates.md +0 -70
- package/docs/user-docs/faq.md +0 -146
- package/docs/user-docs/getting-started-codex.md +0 -194
- package/docs/user-docs/getting-started-kimi.md +0 -423
- package/docs/user-docs/installation.md +0 -237
- package/docs/user-docs/provider-pipelines.md +0 -96
- package/docs/user-docs/quick-start.md +0 -161
- package/docs/windows.md +0 -78
- package/docs/workflows.md +0 -463
- package/schemas/profile.v1.json +0 -207
- package/templates/claude-md/CLAUDE-quickstart.md +0 -54
- package/templates/claude-md/root.md +0 -50
- package/templates/codex-skills/batch-implement/SKILL.md +0 -38
- package/templates/codex-skills/implement/SKILL.md +0 -38
- package/templates/codex-skills/retry/SKILL.md +0 -16
- package/templates/commands/specrails/compat-check.md +0 -271
- package/templates/commands/specrails/doctor.md +0 -62
- package/templates/commands/specrails/explore-spec.md +0 -173
- package/templates/commands/specrails/health-check.md +0 -527
- package/templates/commands/specrails/memory-inspect.md +0 -261
- package/templates/commands/specrails/opsx-diff.md +0 -419
- package/templates/commands/specrails/propose-spec.md +0 -102
- package/templates/commands/specrails/refactor-recommender.md +0 -169
- package/templates/commands/specrails/telemetry.md +0 -553
- package/templates/commands/specrails/why.md +0 -96
- package/templates/gemini-commands/batch-implement.toml +0 -37
- package/templates/gemini-commands/implement.toml +0 -37
- package/templates/gemini-commands/retry.toml +0 -15
- package/templates/profiles/default.json +0 -14
- package/templates/profiles/kimi-default.json +0 -15
- package/templates/rules/layer.md +0 -8
- package/templates/runtime/provider-pipeline.md +0 -113
- package/templates/security/security-exemptions.yaml +0 -20
- package/templates/settings/confidence-config.json +0 -17
- package/templates/settings/settings.json +0 -15
|
@@ -1,428 +0,0 @@
|
|
|
1
|
-
# CLI Reference
|
|
2
|
-
|
|
3
|
-
SpecRails installs provider-native workflows for Claude Code, Codex CLI,
|
|
4
|
-
Gemini CLI, and Kimi Code. The workflow names and flags are shared, while each
|
|
5
|
-
provider uses its own activation syntax and project directory.
|
|
6
|
-
|
|
7
|
-
**Platform support key used in this reference:**
|
|
8
|
-
|
|
9
|
-
| Badge | Meaning |
|
|
10
|
-
|-------|---------|
|
|
11
|
-
| ✅ Providers | Works in Claude Code, Codex CLI, Gemini CLI, and Kimi Code |
|
|
12
|
-
| 🔵 Claude Code | Claude Code only |
|
|
13
|
-
| ⚠️ Limited | Works, but with known limitations (see notes) |
|
|
14
|
-
|
|
15
|
-
Run commands inside your AI CLI from your project directory:
|
|
16
|
-
|
|
17
|
-
```bash
|
|
18
|
-
claude # Claude Code
|
|
19
|
-
codex # Codex
|
|
20
|
-
gemini # Gemini CLI
|
|
21
|
-
kimi # Kimi Code
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
Claude and Gemini use `/specrails:<command>`. Codex activates the generated
|
|
25
|
-
skill from `.codex/skills/`. Kimi's interactive TUI uses
|
|
26
|
-
`/skill:specrails-<command>`; headless Kimi runs must use the managed
|
|
27
|
-
`.kimi-code/specrails/run-skill.mjs` helper, not a literal `/skill:` prompt.
|
|
28
|
-
|
|
29
|
-
---
|
|
30
|
-
|
|
31
|
-
## Core workflow
|
|
32
|
-
|
|
33
|
-
### `/specrails:implement` ✅ Providers
|
|
34
|
-
|
|
35
|
-
Implement a feature through the full agent pipeline: design → code → tests → docs → review → PR.
|
|
36
|
-
|
|
37
|
-
```
|
|
38
|
-
/specrails:implement #85
|
|
39
|
-
/specrails:implement #85, #71, #63
|
|
40
|
-
/specrails:implement "add a health check endpoint"
|
|
41
|
-
/specrails:implement UI, Analytics
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
**Flags:**
|
|
45
|
-
|
|
46
|
-
| Flag | Effect |
|
|
47
|
-
|------|--------|
|
|
48
|
-
| `--dry-run` / `--preview` | Run the full pipeline without git operations or PR creation |
|
|
49
|
-
| `--apply <name>` | Apply a previously cached dry-run |
|
|
50
|
-
|
|
51
|
-
**Pipeline phases:**
|
|
52
|
-
|
|
53
|
-
| Phase | Agent | What happens |
|
|
54
|
-
|-------|-------|-------------|
|
|
55
|
-
| 3a | Architect | Designs the implementation, creates a task list |
|
|
56
|
-
| 3b | Developer | Writes code across all affected layers |
|
|
57
|
-
| 3c | Test Writer | Generates tests for new code |
|
|
58
|
-
| 3d | Doc Sync | Updates CHANGELOG and relevant docs |
|
|
59
|
-
| 4 | Security Reviewer | Scans for secrets and vulnerabilities |
|
|
60
|
-
| 4b | Reviewer | Runs your CI suite, fixes lint/type errors |
|
|
61
|
-
| 4b-conf | — | Confidence gate: scores implementation across 5 dimensions |
|
|
62
|
-
| 5 | — | Creates a pull request |
|
|
63
|
-
|
|
64
|
-
**Single vs. parallel:**
|
|
65
|
-
|
|
66
|
-
A single issue runs sequentially on the current branch. Multiple issues run in parallel — each gets an isolated git worktree, and results are merged automatically.
|
|
67
|
-
|
|
68
|
-
> **Codex note**: Parallel worktree isolation is limited in Codex CLI beta. For reliable parallel execution use Codex Cloud, or run one issue at a time with Codex CLI.
|
|
69
|
-
|
|
70
|
-
---
|
|
71
|
-
|
|
72
|
-
### `/specrails:telemetry` ✅ Providers
|
|
73
|
-
|
|
74
|
-
Inspect per-agent execution metrics: token usage, estimated API cost, run count, average duration, and success/failure rate.
|
|
75
|
-
|
|
76
|
-
Kimi reads persisted `usage.record` events for real input/output/cache token
|
|
77
|
-
counts and session duration. Its logs do not contain an authoritative USD rate
|
|
78
|
-
or role outcome, so the Kimi dashboard reports cost and success rate as
|
|
79
|
-
unavailable instead of applying another provider's rate card.
|
|
80
|
-
|
|
81
|
-
```
|
|
82
|
-
/specrails:telemetry
|
|
83
|
-
/specrails:telemetry --period today
|
|
84
|
-
/specrails:telemetry --agent sr-developer
|
|
85
|
-
/specrails:telemetry --format json
|
|
86
|
-
/specrails:telemetry --save
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
**Flags:**
|
|
90
|
-
|
|
91
|
-
| Flag | Effect |
|
|
92
|
-
|------|--------|
|
|
93
|
-
| `--period <filter>` | Time window: `today`, `week` (default), or `all` |
|
|
94
|
-
| `--agent <name>` | Focus on a single agent (e.g. `sr-developer`) |
|
|
95
|
-
| `--format <fmt>` | Output format: `markdown` (default) or `json` |
|
|
96
|
-
| `--save` | Write a snapshot under the active provider directory after display |
|
|
97
|
-
|
|
98
|
-
---
|
|
99
|
-
|
|
100
|
-
### `/specrails:merge-resolve` ✅ Providers
|
|
101
|
-
|
|
102
|
-
Resolve git conflict markers using AI-powered context analysis.
|
|
103
|
-
|
|
104
|
-
```
|
|
105
|
-
/specrails:merge-resolve
|
|
106
|
-
/specrails:merge-resolve --files src/api/routes.ts
|
|
107
|
-
/specrails:merge-resolve --context openspec/changes/
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
**Flags:**
|
|
111
|
-
|
|
112
|
-
| Flag | Effect |
|
|
113
|
-
|------|--------|
|
|
114
|
-
| `--files <paths>` | File paths or globs to process (default: auto-detect from working tree) |
|
|
115
|
-
| `--context <dir>` | Directory containing OpenSpec context bundles (default: `openspec/changes/`) |
|
|
116
|
-
| `--threshold <n>` | Minimum confidence to auto-apply a resolution |
|
|
117
|
-
|
|
118
|
-
Reads OpenSpec context bundles from the features that produced each conflict, infers the correct resolution, and writes it in place. Conflicts it cannot safely resolve are left with clean markers for manual review.
|
|
119
|
-
|
|
120
|
-
---
|
|
121
|
-
|
|
122
|
-
### `/specrails:retry` ✅ Providers
|
|
123
|
-
|
|
124
|
-
Resume a failed `/specrails:implement` run from the last successful phase.
|
|
125
|
-
|
|
126
|
-
```
|
|
127
|
-
/specrails:retry <feature-name>
|
|
128
|
-
/specrails:retry --list
|
|
129
|
-
/specrails:retry <feature-name> --from architect
|
|
130
|
-
/specrails:retry <feature-name> --dry-run
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
**Flags:**
|
|
134
|
-
|
|
135
|
-
| Flag | Effect |
|
|
136
|
-
|------|--------|
|
|
137
|
-
| `--list` | List all saved pipeline states |
|
|
138
|
-
| `--from <phase>` | Force resume from a specific phase |
|
|
139
|
-
| `--dry-run` | Resume in preview mode |
|
|
140
|
-
|
|
141
|
-
**Valid `--from` values:** `architect`, `developer`, `test-writer`, `doc-sync`, `reviewer`, `ship`, `ci`
|
|
142
|
-
|
|
143
|
-
Pipeline state is saved under the active provider directory after each phase.
|
|
144
|
-
|
|
145
|
-
---
|
|
146
|
-
|
|
147
|
-
### `/specrails:batch-implement` ⚠️ Limited on Codex
|
|
148
|
-
|
|
149
|
-
Implement multiple independent features in parallel using git worktrees.
|
|
150
|
-
|
|
151
|
-
```
|
|
152
|
-
/specrails:batch-implement #85, #71, #63
|
|
153
|
-
```
|
|
154
|
-
|
|
155
|
-
Each feature gets its own worktree, its own agent pipeline, and its own PR. Use this instead of `/specrails:implement` with multiple issues when you want explicit control over parallel execution.
|
|
156
|
-
|
|
157
|
-
> **Codex note**: Worktree isolation is limited in Codex CLI beta. Prefer Codex Cloud for parallel batch work.
|
|
158
|
-
|
|
159
|
-
---
|
|
160
|
-
|
|
161
|
-
## Product and backlog
|
|
162
|
-
|
|
163
|
-
### `/specrails:get-backlog-specs` ✅ Providers
|
|
164
|
-
|
|
165
|
-
View your prioritized product backlog, ranked by VPC persona fit and estimated effort.
|
|
166
|
-
|
|
167
|
-
```
|
|
168
|
-
/specrails:get-backlog-specs
|
|
169
|
-
/specrails:get-backlog-specs UI, API
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
Reads GitHub Issues labeled `product-driven-backlog`. Produces a ranked table per area, top 3 recommendations, and a safe implementation order based on issue dependencies.
|
|
173
|
-
|
|
174
|
-
---
|
|
175
|
-
|
|
176
|
-
### `/specrails:auto-propose-backlog-specs` ✅ Providers
|
|
177
|
-
|
|
178
|
-
Generate new feature ideas through product discovery and create GitHub Issues.
|
|
179
|
-
|
|
180
|
-
```
|
|
181
|
-
/specrails:auto-propose-backlog-specs
|
|
182
|
-
/specrails:auto-propose-backlog-specs UI, API
|
|
183
|
-
```
|
|
184
|
-
|
|
185
|
-
The Product Manager researches your competitive landscape, generates 2–4 feature ideas per area, and scores each against your user personas. Creates GitHub Issues with full VPC evaluation if write access is available.
|
|
186
|
-
|
|
187
|
-
---
|
|
188
|
-
|
|
189
|
-
## Analysis and inspection
|
|
190
|
-
|
|
191
|
-
### `/specrails:refactor-recommender` ✅ Providers
|
|
192
|
-
|
|
193
|
-
Scan the codebase for refactoring opportunities, ranked by impact/effort ratio.
|
|
194
|
-
|
|
195
|
-
```
|
|
196
|
-
/specrails:refactor-recommender
|
|
197
|
-
```
|
|
198
|
-
|
|
199
|
-
Identifies duplicates, overly long functions, large files, dead code, outdated patterns, and complex logic. Optionally creates GitHub Issues for tracking.
|
|
200
|
-
|
|
201
|
-
---
|
|
202
|
-
|
|
203
|
-
### `/specrails:compat-check` ✅ Providers
|
|
204
|
-
|
|
205
|
-
Analyze the backwards-compatibility impact of a proposed change.
|
|
206
|
-
|
|
207
|
-
```
|
|
208
|
-
/specrails:compat-check #85
|
|
209
|
-
/specrails:compat-check #85 --save
|
|
210
|
-
```
|
|
211
|
-
|
|
212
|
-
Detects removed endpoints, changed method signatures, changed response shapes, and behavioral changes. When breaking changes are found, generates a migration guide.
|
|
213
|
-
|
|
214
|
-
`--save` updates the stored API baseline so future checks compare against the new surface.
|
|
215
|
-
|
|
216
|
-
The Architect runs this automatically as part of every `/specrails:implement` pipeline.
|
|
217
|
-
|
|
218
|
-
---
|
|
219
|
-
|
|
220
|
-
### `/specrails:why` ✅ Providers
|
|
221
|
-
|
|
222
|
-
Search agent explanation records in plain language.
|
|
223
|
-
|
|
224
|
-
```
|
|
225
|
-
/specrails:why "why did we choose this database schema"
|
|
226
|
-
/specrails:why "explain the auth middleware design"
|
|
227
|
-
/specrails:why "why is pagination implemented this way"
|
|
228
|
-
```
|
|
229
|
-
|
|
230
|
-
Agents write decision rationale under the active provider's `agent-memory/`
|
|
231
|
-
directory as they work. `/specrails:why` searches these records semantically.
|
|
232
|
-
Useful for onboarding, code review, and revisiting past decisions.
|
|
233
|
-
|
|
234
|
-
---
|
|
235
|
-
|
|
236
|
-
### `/specrails:vpc-drift` ✅ Providers
|
|
237
|
-
|
|
238
|
-
Detect when your VPC personas have drifted from what your product actually delivers.
|
|
239
|
-
|
|
240
|
-
```
|
|
241
|
-
/specrails:vpc-drift
|
|
242
|
-
/specrails:vpc-drift --persona "Alex,Sara"
|
|
243
|
-
/specrails:vpc-drift --verbose
|
|
244
|
-
/specrails:vpc-drift --format json
|
|
245
|
-
```
|
|
246
|
-
|
|
247
|
-
Compares persona Jobs/Pains/Gains against your backlog, implemented features, and agent memory. Produces a per-persona alignment score and recommendations for updating your VPC.
|
|
248
|
-
|
|
249
|
-
---
|
|
250
|
-
|
|
251
|
-
### `/specrails:memory-inspect` ✅ Providers
|
|
252
|
-
|
|
253
|
-
Inspect and clean up agent memory directories.
|
|
254
|
-
|
|
255
|
-
```
|
|
256
|
-
/specrails:memory-inspect
|
|
257
|
-
/specrails:memory-inspect sr-developer
|
|
258
|
-
/specrails:memory-inspect --stale 14
|
|
259
|
-
/specrails:memory-inspect --prune
|
|
260
|
-
```
|
|
261
|
-
|
|
262
|
-
**Flags:**
|
|
263
|
-
|
|
264
|
-
| Flag | Effect |
|
|
265
|
-
|------|--------|
|
|
266
|
-
| `--stale <days>` | Flag files older than N days |
|
|
267
|
-
| `--prune` | Delete stale files (prompts for confirmation) |
|
|
268
|
-
|
|
269
|
-
Agent memory lives below the provider root:
|
|
270
|
-
|
|
271
|
-
| Provider | Memory root |
|
|
272
|
-
|----------|-------------|
|
|
273
|
-
| Claude Code | `.claude/agent-memory/` |
|
|
274
|
-
| Codex CLI | `.codex/agent-memory/` |
|
|
275
|
-
| Gemini CLI | `.gemini/agent-memory/` |
|
|
276
|
-
| Kimi Code | `.kimi-code/agent-memory/` |
|
|
277
|
-
|
|
278
|
-
---
|
|
279
|
-
|
|
280
|
-
### `/specrails:propose-spec` ✅ Providers
|
|
281
|
-
|
|
282
|
-
Explore a feature idea and produce a structured proposal ready for the OpenSpec pipeline.
|
|
283
|
-
|
|
284
|
-
```
|
|
285
|
-
/specrails:propose-spec "add rate limiting to the API"
|
|
286
|
-
```
|
|
287
|
-
|
|
288
|
-
Produces: problem statement, proposed solution, out-of-scope items, acceptance criteria, technical considerations, and a complexity estimate.
|
|
289
|
-
|
|
290
|
-
---
|
|
291
|
-
|
|
292
|
-
## OpenSpec commands
|
|
293
|
-
|
|
294
|
-
OpenSpec is the structured design-to-code workflow. Use these commands when you want explicit control over each artifact: proposal → design → tasks → implementation.
|
|
295
|
-
|
|
296
|
-
OpenSpec commands are generated for all four providers (✅ Providers).
|
|
297
|
-
|
|
298
|
-
### `/opsx:ff` — Fast Forward
|
|
299
|
-
|
|
300
|
-
Create all OpenSpec artifacts at once (proposal + design + tasks + context bundle), then hand off to the developer.
|
|
301
|
-
|
|
302
|
-
```
|
|
303
|
-
/opsx:ff
|
|
304
|
-
```
|
|
305
|
-
|
|
306
|
-
Use this when you know what you want to build and don't need to review each artifact step by step.
|
|
307
|
-
|
|
308
|
-
---
|
|
309
|
-
|
|
310
|
-
### `/opsx:new` — New Change
|
|
311
|
-
|
|
312
|
-
Start a new change by creating a proposal. Advances through artifacts one at a time.
|
|
313
|
-
|
|
314
|
-
```
|
|
315
|
-
/opsx:new
|
|
316
|
-
```
|
|
317
|
-
|
|
318
|
-
---
|
|
319
|
-
|
|
320
|
-
### `/opsx:continue` — Continue Change
|
|
321
|
-
|
|
322
|
-
Create the next artifact in the sequence for the current in-progress change.
|
|
323
|
-
|
|
324
|
-
```
|
|
325
|
-
/opsx:continue
|
|
326
|
-
```
|
|
327
|
-
|
|
328
|
-
Typical sequence: proposal → design → tasks → context bundle.
|
|
329
|
-
|
|
330
|
-
---
|
|
331
|
-
|
|
332
|
-
### `/opsx:apply` — Apply Change
|
|
333
|
-
|
|
334
|
-
Implement the tasks from a designed change. Hands off to the Developer agent.
|
|
335
|
-
|
|
336
|
-
```
|
|
337
|
-
/opsx:apply
|
|
338
|
-
```
|
|
339
|
-
|
|
340
|
-
---
|
|
341
|
-
|
|
342
|
-
### `/opsx:verify` — Verify Change
|
|
343
|
-
|
|
344
|
-
Validate that the implementation matches the change artifacts before archiving.
|
|
345
|
-
|
|
346
|
-
```
|
|
347
|
-
/opsx:verify
|
|
348
|
-
```
|
|
349
|
-
|
|
350
|
-
---
|
|
351
|
-
|
|
352
|
-
### `/opsx:archive` — Archive Change
|
|
353
|
-
|
|
354
|
-
Finalize and archive a completed change.
|
|
355
|
-
|
|
356
|
-
```
|
|
357
|
-
/opsx:archive
|
|
358
|
-
```
|
|
359
|
-
|
|
360
|
-
---
|
|
361
|
-
|
|
362
|
-
### `/opsx:explore` — Explore
|
|
363
|
-
|
|
364
|
-
Open-ended thinking mode for brainstorming, investigating problems, or clarifying requirements before starting a change.
|
|
365
|
-
|
|
366
|
-
```
|
|
367
|
-
/opsx:explore
|
|
368
|
-
```
|
|
369
|
-
|
|
370
|
-
---
|
|
371
|
-
|
|
372
|
-
### `/specrails:opsx-diff` — Spec Change Diff
|
|
373
|
-
|
|
374
|
-
Visualize the before/after diff of an OpenSpec change.
|
|
375
|
-
|
|
376
|
-
```
|
|
377
|
-
/specrails:opsx-diff <change-name>
|
|
378
|
-
/specrails:opsx-diff my-feature --format json
|
|
379
|
-
/specrails:opsx-diff my-feature --summary-only
|
|
380
|
-
```
|
|
381
|
-
|
|
382
|
-
**Flags:**
|
|
383
|
-
|
|
384
|
-
| Flag | Effect |
|
|
385
|
-
|------|--------|
|
|
386
|
-
| `<change-name>` | Kebab-case name of the change to diff (required) |
|
|
387
|
-
| `--format json` | Structured JSON output |
|
|
388
|
-
| `--summary-only` | File-level summary only, skip inline diff |
|
|
389
|
-
|
|
390
|
-
Compares the current specs against the named change. Use during review to confirm a change matches its design intent before archiving.
|
|
391
|
-
|
|
392
|
-
---
|
|
393
|
-
|
|
394
|
-
### Typical OpenSpec flows
|
|
395
|
-
|
|
396
|
-
**Fast path:**
|
|
397
|
-
```
|
|
398
|
-
/opsx:ff → create all artifacts
|
|
399
|
-
/opsx:apply → implement
|
|
400
|
-
/opsx:verify → validate
|
|
401
|
-
/opsx:archive → finalize
|
|
402
|
-
```
|
|
403
|
-
|
|
404
|
-
**Step by step:**
|
|
405
|
-
```
|
|
406
|
-
/opsx:new → proposal
|
|
407
|
-
/opsx:continue → design
|
|
408
|
-
/opsx:continue → tasks
|
|
409
|
-
/opsx:continue → context bundle
|
|
410
|
-
/opsx:apply → implement
|
|
411
|
-
/opsx:archive → finalize
|
|
412
|
-
```
|
|
413
|
-
|
|
414
|
-
---
|
|
415
|
-
|
|
416
|
-
## Installer flags
|
|
417
|
-
|
|
418
|
-
The `npx specrails-core@latest init` command accepts:
|
|
419
|
-
|
|
420
|
-
| Flag | Effect |
|
|
421
|
-
|------|--------|
|
|
422
|
-
| `--root-dir <path>` | Install into this directory (default: current directory) |
|
|
423
|
-
| `--yes` / `-y` | Skip confirmation prompts |
|
|
424
|
-
| `--provider <claude\|codex\|gemini\|kimi>` | Force a specific AI CLI (default: auto-detect) |
|
|
425
|
-
|
|
426
|
-
---
|
|
427
|
-
|
|
428
|
-
[← Quick Start](quick-start.md) · [FAQ →](faq.md) · [← Installation](installation.md) · [Codex vs Claude Code →](codex-vs-claude-code.md)
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
# Codex and Claude Code execution
|
|
2
|
-
|
|
3
|
-
Both providers support the SpecRails design, implementation, review and archive
|
|
4
|
-
workflow. Their adapters differ; native role APIs and conversation memory are not
|
|
5
|
-
interchangeable.
|
|
6
|
-
|
|
7
|
-
| Concern | Claude Code | Codex |
|
|
8
|
-
|---|---|---|
|
|
9
|
-
| Role definitions | `.claude/agents/sr-*.md` | `.codex/skills/rails/sr-*/SKILL.md` |
|
|
10
|
-
| Workflow entry | `/specrails:implement` | `$implement` |
|
|
11
|
-
| Multiple tickets | Aggregate change and shared journal | Routes directly to `$batch-implement` |
|
|
12
|
-
| Retry | Durable pipeline journal | Same journal, direct role calls; no nested coordinator |
|
|
13
|
-
| Role models | Configured role/profile model | Inherited model on full-history forks; overrides require a compatible native transport |
|
|
14
|
-
| Verification | Scoped development checks and candidate-bound full gate | Same evidence contract |
|
|
15
|
-
| Hosted worktrees/delivery | Owned by the host | Owned by the host |
|
|
16
|
-
|
|
17
|
-
The installed `.specrails/runtime/pipeline.mjs` helper coordinates both providers.
|
|
18
|
-
Its execution context identifies the frozen specs, repositories, shared backlog,
|
|
19
|
-
OpenSpec artifact root and ownership. Skills must not infer those roots from cwd.
|
|
20
|
-
|
|
21
|
-
A completed process is not an implementation verdict. Design confidence, checked
|
|
22
|
-
tasks, semantic review, fresh verification and an authorized archive are required
|
|
23
|
-
before success. See [provider pipeline contracts](provider-pipelines.md).
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
# Core installation and update consistency
|
|
2
|
-
|
|
3
|
-
`specrails-core init` and `specrails-core update` use the version of the package
|
|
4
|
-
that actually provides the CLI. Updating an npm package and updating a workspace
|
|
5
|
-
are separate operations: run the selected CLI's `update --root-dir <repository>`
|
|
6
|
-
to refresh that project's managed artifacts. `--provider` selects the additional
|
|
7
|
-
provider to include; existing managed provider selections are preserved and
|
|
8
|
-
reassembled, including in-repository copies and Windows copy fallbacks. Provider
|
|
9
|
-
inventory is checked against installed Core artifacts; an unrelated directory
|
|
10
|
-
containing only user files is not enrolled automatically.
|
|
11
|
-
|
|
12
|
-
Core 5 installation is deterministic. It installs the baseline roles, commands,
|
|
13
|
-
OpenSpec integration and declared local execution helper without an AI enrichment
|
|
14
|
-
phase. `integration-contract.json` describes the supported lifecycle and providers.
|
|
15
|
-
|
|
16
|
-
## Version and rollback rules
|
|
17
|
-
|
|
18
|
-
A CLI older than the workspace marker or shared active framework refuses ordinary
|
|
19
|
-
init/update. This protects an updated installation from an old global executable.
|
|
20
|
-
Use the intended Core package rather than editing a version marker to bypass the
|
|
21
|
-
check. Low-level explicit pointer changes are administrative rollback operations;
|
|
22
|
-
they do not imply that project copies have been restored.
|
|
23
|
-
|
|
24
|
-
Managed framework bytes are generated in an isolated staging directory, validated
|
|
25
|
-
and stamped before publication. The content/source hashes include the compiled
|
|
26
|
-
pipeline helper, so a same-version development rebuild is repaired when runtime
|
|
27
|
-
bytes change. The previous framework directory is retained as
|
|
28
|
-
`.previous-<version>-<id>` for recovery. A failed generation leaves the active
|
|
29
|
-
framework untouched.
|
|
30
|
-
|
|
31
|
-
Init/update snapshot the managed workspace surfaces and framework pointer. Failure
|
|
32
|
-
restores those snapshots, including symlinks, and does not publish a successful
|
|
33
|
-
workspace version or Core-owned registry version. If restoration itself fails,
|
|
34
|
-
the error identifies the retained backup for recovery. Reserved custom agents
|
|
35
|
-
stay in place during rollback: edits, new custom files and deliberate deletions
|
|
36
|
-
made while OpenSpec runs are preserved. Profiles remain outside the snapshot
|
|
37
|
-
surfaces; provider configuration is restored with the managed workspace snapshot.
|
|
38
|
-
|
|
39
|
-
A separate framework lifecycle lock covers admission, version revalidation,
|
|
40
|
-
snapshots, asynchronous OpenSpec provisioning and final commit or rollback. The
|
|
41
|
-
same lock protects Desktop's low-level install-framework, swap-current and
|
|
42
|
-
assemble commands. A concurrent operation fails immediately with a retry message
|
|
43
|
-
instead of waiting while holding another lock. This prevents a failed installer
|
|
44
|
-
from rolling back a framework that a second installer already reported as ready.
|
|
45
|
-
A positively dead process owner can be recovered; concurrent recovery attempts
|
|
46
|
-
are serialized, and an unidentified or live owner is never taken over.
|
|
47
|
-
|
|
48
|
-
`update --dry-run` reports the intended change without allocating or rewriting
|
|
49
|
-
registry entries. Partial `--only rules` or `--only agents` refreshes do not claim
|
|
50
|
-
that the entire framework has moved to the executing CLI's version. The returned
|
|
51
|
-
`installedVersion` describes the actual workspace marker.
|
|
52
|
-
|
|
53
|
-
The low-level `install-framework --version` command requires the requested label
|
|
54
|
-
to match the package version supplying its bytes. `assemble --version` requires
|
|
55
|
-
the matching complete active framework before recording that version in a project.
|
|
56
|
-
|
|
57
|
-
## Desktop
|
|
58
|
-
|
|
59
|
-
Desktop keeps the selected package and its dependencies after an update. Its
|
|
60
|
-
Settings page reports runtime, framework, bundled and latest-known versions
|
|
61
|
-
separately. Partial workspace migration remains pending across restart and can be
|
|
62
|
-
retried using the retained package offline. A CLI installed outside Desktop can
|
|
63
|
-
also be discovered through PATH; an explicit `SPECRAILS_CORE_BIN` takes precedence.
|
|
64
|
-
|
|
65
|
-
Changes in this branch require a Core package build and distribution before an
|
|
66
|
-
already installed Desktop can consume them. The source changes alone do not
|
|
67
|
-
upgrade any user installation or publish a new package.
|
|
68
|
-
|
|
69
|
-
See [Provider pipeline contracts](provider-pipelines.md) for the resumable
|
|
70
|
-
implementation journal and verification behavior.
|
package/docs/user-docs/faq.md
DELETED
|
@@ -1,146 +0,0 @@
|
|
|
1
|
-
# FAQ
|
|
2
|
-
|
|
3
|
-
## Setup and installation
|
|
4
|
-
|
|
5
|
-
**Do I need a Claude API account to use SpecRails?**
|
|
6
|
-
|
|
7
|
-
Yes. SpecRails runs on top of Claude Code, which requires an Anthropic account. Claude Code handles authentication — SpecRails just orchestrates it. See [Claude Code's installation guide](https://docs.anthropic.com/en/docs/claude-code) for setup.
|
|
8
|
-
|
|
9
|
-
**What does the installer actually do to my project?**
|
|
10
|
-
|
|
11
|
-
The plugin method (`claude plugin install sr`) installs logic into Claude Code's plugin system — nothing is added to your project until you run `/specrails:enrich`. The scaffold method (`npx specrails-core@latest init`) launches a TUI to select agents and model preset, writes `.specrails/install-config.yaml`, then copies templates into `.claude/`. Neither method modifies your source code, creates commits, or pushes anything.
|
|
12
|
-
|
|
13
|
-
**Do I need Node.js if my project is not JavaScript?**
|
|
14
|
-
|
|
15
|
-
Not for the plugin method (`claude plugin install sr`). Node.js 20.19.0+ is only required for the scaffold method (`npx specrails-core@latest init`), because its pinned OpenSpec 1.4.1 CLI uses that runtime floor. Once installed, SpecRails works with any language or framework, on macOS, Linux, or Windows.
|
|
16
|
-
|
|
17
|
-
**Do I need GitHub Issues?**
|
|
18
|
-
|
|
19
|
-
No. SpecRails ships with a built-in local ticket system — no GitHub account required. Local tickets are the default. Commands like `/specrails:implement` accept ticket IDs or plain text:
|
|
20
|
-
|
|
21
|
-
```
|
|
22
|
-
/specrails:implement #1, #4
|
|
23
|
-
/specrails:implement "add rate limiting to the API"
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
You can switch to GitHub Issues or JIRA during `/specrails:enrich` (Phase 3) if you prefer.
|
|
27
|
-
|
|
28
|
-
**How long does /specrails:enrich take?**
|
|
29
|
-
|
|
30
|
-
The full wizard takes about 5 minutes — most of the time is Phase 2 (persona research via web search). For a faster start, use `/specrails:enrich --quick`: three questions, under a minute, no web research.
|
|
31
|
-
|
|
32
|
-
---
|
|
33
|
-
|
|
34
|
-
## Using SpecRails
|
|
35
|
-
|
|
36
|
-
**Can I run SpecRails on an existing project with existing code?**
|
|
37
|
-
|
|
38
|
-
Yes, that's the intended use case. The `/specrails:enrich` wizard analyzes your existing codebase — your tech stack, layers, CI commands, and conventions — and generates agents configured specifically for it.
|
|
39
|
-
|
|
40
|
-
**Does /specrails:implement always create a PR?**
|
|
41
|
-
|
|
42
|
-
By default, yes. If you want to preview the changes first without creating commits or a PR, use dry-run mode:
|
|
43
|
-
|
|
44
|
-
```
|
|
45
|
-
/specrails:implement --dry-run "add dark mode"
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
Then apply the cached result when you're ready:
|
|
49
|
-
|
|
50
|
-
```
|
|
51
|
-
/specrails:implement --apply dark-mode
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
**What happens if the pipeline fails mid-run?**
|
|
55
|
-
|
|
56
|
-
SpecRails saves pipeline state after each phase. If a run fails, use `/specrails:retry` to resume from the last successful phase instead of starting over:
|
|
57
|
-
|
|
58
|
-
```
|
|
59
|
-
/specrails:retry dark-mode
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
**Can I implement multiple features at once?**
|
|
63
|
-
|
|
64
|
-
Yes. Pass multiple issue numbers or descriptions:
|
|
65
|
-
|
|
66
|
-
```
|
|
67
|
-
/specrails:implement #42, #43, #44
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
Each feature gets an isolated git worktree. Pipelines run concurrently and the results are merged automatically at the end.
|
|
71
|
-
|
|
72
|
-
**Can I customize the agents?**
|
|
73
|
-
|
|
74
|
-
Yes. With the plugin method, edit your project data files in `.specrails/` — personas, rules, config. With the scaffold method, agent files in `.claude/agents/` are also directly editable. Changes take effect on the next run.
|
|
75
|
-
|
|
76
|
-
For layer-specific coding conventions, edit `.specrails/rules/*.md` (plugin) or `.claude/rules/*.md` (scaffold).
|
|
77
|
-
|
|
78
|
-
**What is a VPC persona?**
|
|
79
|
-
|
|
80
|
-
VPC stands for Value Proposition Canvas. Personas are structured profiles of your target users with their Jobs (what they're trying to accomplish), Pains (what frustrates them), and Gains (what they want). The Product Manager and Architect use these to make better design decisions. They're generated during `/specrails:enrich` and stored in `.specrails/personas/` (plugin) or `.claude/agents/personas/` (scaffold).
|
|
81
|
-
|
|
82
|
-
---
|
|
83
|
-
|
|
84
|
-
## Project compatibility
|
|
85
|
-
|
|
86
|
-
**Does SpecRails work with monorepos?**
|
|
87
|
-
|
|
88
|
-
Yes. During `/specrails:enrich`, the architect detects your monorepo structure and generates separate layer configurations for each package or service.
|
|
89
|
-
|
|
90
|
-
**Which languages and frameworks are supported?**
|
|
91
|
-
|
|
92
|
-
SpecRails works with any stack. The agents are general-purpose and adapt based on what `/specrails:enrich` detects in your codebase. It's been used with Node.js, Python, Go, Ruby, Rust, and mixed-stack projects.
|
|
93
|
-
|
|
94
|
-
**Does it work with private repositories?**
|
|
95
|
-
|
|
96
|
-
Yes, for code generation. For features that require GitHub integration (PR creation, Issue reading), you need the GitHub CLI authenticated against your private repo.
|
|
97
|
-
|
|
98
|
-
---
|
|
99
|
-
|
|
100
|
-
## Keeping SpecRails up to date
|
|
101
|
-
|
|
102
|
-
**How do I update SpecRails?**
|
|
103
|
-
|
|
104
|
-
Plugin method:
|
|
105
|
-
|
|
106
|
-
```bash
|
|
107
|
-
claude plugin update sr
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
Scaffold method:
|
|
111
|
-
|
|
112
|
-
```bash
|
|
113
|
-
npx specrails-core@latest init --root-dir .
|
|
114
|
-
```
|
|
115
|
-
|
|
116
|
-
Then re-run `/specrails:enrich` to regenerate project data with any new templates. See the [updating guide](../updating.md) for details.
|
|
117
|
-
|
|
118
|
-
**How do I know which version is installed?**
|
|
119
|
-
|
|
120
|
-
```bash
|
|
121
|
-
cat .specrails/specrails-version
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
---
|
|
125
|
-
|
|
126
|
-
## Troubleshooting
|
|
127
|
-
|
|
128
|
-
**The /specrails:enrich command isn't available after installing.**
|
|
129
|
-
|
|
130
|
-
For the plugin method: make sure the plugin is installed (`claude plugin list` should show `sr`). For the scaffold method: Claude Code loads commands from `.claude/commands/` — make sure you opened Claude Code from inside your project directory.
|
|
131
|
-
|
|
132
|
-
**Generated files contain `{{PLACEHOLDER}}` text.**
|
|
133
|
-
|
|
134
|
-
The `/specrails:enrich` wizard did not complete all phases. Re-run `/specrails:enrich` — it will pick up where it left off.
|
|
135
|
-
|
|
136
|
-
**The pipeline created a PR but the CI checks failed.**
|
|
137
|
-
|
|
138
|
-
The reviewer agent runs your CI suite and attempts to fix failures automatically. If it can't fix them within its budget, it creates the PR with a note describing what failed and why. You can fix the remaining issues manually or run `/specrails:retry` to try the reviewer phase again.
|
|
139
|
-
|
|
140
|
-
**I got a "409 Conflict" error during a pipeline run.**
|
|
141
|
-
|
|
142
|
-
This means another agent tried to check out the same issue simultaneously. The pipeline will detect this and stop — re-run the command after the conflicting run finishes.
|
|
143
|
-
|
|
144
|
-
---
|
|
145
|
-
|
|
146
|
-
[← Quick Start](quick-start.md) · [CLI Reference →](cli-reference.md)
|