specrails-core 5.5.1 → 6.0.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.
Files changed (276) hide show
  1. package/README.md +27 -145
  2. package/bin/specrails-core.mjs +12 -554
  3. package/dist/agent-runtime/capabilities.js +0 -1
  4. package/dist/agent-runtime/cli-executor.d.ts +1 -1
  5. package/dist/agent-runtime/cli-executor.js +4 -3
  6. package/dist/agent-runtime/cli-process.js +0 -1
  7. package/dist/agent-runtime/cli.d.ts +8 -0
  8. package/dist/agent-runtime/cli.js +31 -5
  9. package/dist/agent-runtime/codex-schema.js +0 -1
  10. package/dist/agent-runtime/compact/architect.d.ts +3 -272
  11. package/dist/agent-runtime/compact/architect.js +8 -9
  12. package/dist/agent-runtime/compact/chat-client.d.ts +3 -3
  13. package/dist/agent-runtime/compact/chat-client.js +1 -2
  14. package/dist/agent-runtime/compact/developer.d.ts +3 -70
  15. package/dist/agent-runtime/compact/developer.js +13 -14
  16. package/dist/agent-runtime/compact/environment.d.ts +4 -5
  17. package/dist/agent-runtime/compact/environment.js +1 -2
  18. package/dist/agent-runtime/compact/exit-code-honesty.d.ts +2 -1
  19. package/dist/agent-runtime/compact/exit-code-honesty.js +0 -1
  20. package/dist/agent-runtime/compact/guarded-loop.d.ts +2 -18
  21. package/dist/agent-runtime/compact/guarded-loop.js +7 -8
  22. package/dist/agent-runtime/compact/prompt-inputs.d.ts +0 -2
  23. package/dist/agent-runtime/compact/prompt-inputs.js +1 -2
  24. package/dist/agent-runtime/compact/reviewer.d.ts +0 -13
  25. package/dist/agent-runtime/compact/reviewer.js +5 -6
  26. package/dist/agent-runtime/compact/step.d.ts +0 -1
  27. package/dist/agent-runtime/compact/step.js +1 -2
  28. package/dist/agent-runtime/compact/test-reachability.js +0 -1
  29. package/dist/agent-runtime/config.js +0 -1
  30. package/dist/agent-runtime/core-host.d.ts +1 -1
  31. package/dist/agent-runtime/core-host.js +5 -3
  32. package/dist/agent-runtime/durable-store.d.ts +0 -1
  33. package/dist/agent-runtime/durable-store.js +1 -2
  34. package/dist/agent-runtime/efficiency-summary.d.ts +2 -2
  35. package/dist/agent-runtime/efficiency-summary.js +1 -2
  36. package/dist/agent-runtime/efficiency-types.js +0 -1
  37. package/dist/agent-runtime/efficiency.js +0 -1
  38. package/dist/agent-runtime/evaluation-corpus.js +0 -1
  39. package/dist/agent-runtime/evaluation.d.ts +2 -1
  40. package/dist/agent-runtime/evaluation.js +1 -2
  41. package/dist/agent-runtime/executor-types.d.ts +1 -1
  42. package/dist/agent-runtime/executor-types.js +0 -1
  43. package/dist/agent-runtime/executors.js +0 -1
  44. package/dist/agent-runtime/gemini-policy.js +0 -1
  45. package/dist/agent-runtime/graph/artifacts.d.ts +1 -1
  46. package/dist/agent-runtime/graph/artifacts.js +11 -5
  47. package/dist/agent-runtime/graph/nodes.d.ts +1 -1
  48. package/dist/agent-runtime/graph/nodes.js +1 -2
  49. package/dist/agent-runtime/graph/review-policy.js +0 -1
  50. package/dist/agent-runtime/graph/roles.d.ts +2 -5
  51. package/dist/agent-runtime/graph/roles.js +2 -8
  52. package/dist/agent-runtime/graph/state.d.ts +1 -1
  53. package/dist/agent-runtime/graph/state.js +0 -1
  54. package/dist/agent-runtime/graph-checkpointer.d.ts +2 -1
  55. package/dist/agent-runtime/graph-checkpointer.js +0 -1
  56. package/dist/agent-runtime/guardrails.d.ts +3 -3
  57. package/dist/agent-runtime/guardrails.js +1 -2
  58. package/dist/agent-runtime/index.d.ts +2 -1
  59. package/dist/agent-runtime/index.js +2 -2
  60. package/dist/agent-runtime/kimi-acp.js +1 -2
  61. package/dist/agent-runtime/kimi-model.d.ts +6 -0
  62. package/dist/agent-runtime/kimi-model.js +12 -0
  63. package/dist/agent-runtime/openai-executor.d.ts +0 -9
  64. package/dist/agent-runtime/openai-executor.js +6 -7
  65. package/dist/agent-runtime/openspec-tool-server.js +1 -2
  66. package/dist/agent-runtime/openspec.d.ts +0 -2
  67. package/dist/agent-runtime/openspec.js +3 -7
  68. package/dist/agent-runtime/prompts.d.ts +4 -3
  69. package/dist/agent-runtime/prompts.js +0 -1
  70. package/dist/agent-runtime/provider-diagnostic.js +1 -2
  71. package/dist/agent-runtime/recovery.d.ts +46 -0
  72. package/dist/agent-runtime/recovery.js +169 -0
  73. package/dist/agent-runtime/repository-context.d.ts +1 -1
  74. package/dist/agent-runtime/repository-context.js +0 -1
  75. package/dist/agent-runtime/review-context.d.ts +1 -1
  76. package/dist/agent-runtime/review-context.js +0 -1
  77. package/dist/agent-runtime/role-routing.js +0 -1
  78. package/dist/agent-runtime/role-state.js +0 -1
  79. package/dist/agent-runtime/runtime-identity.js +1 -2
  80. package/dist/agent-runtime/tool-event.js +0 -1
  81. package/dist/agent-runtime/verification-plan.d.ts +5 -4
  82. package/dist/agent-runtime/verification-plan.js +1 -2
  83. package/dist/agent-runtime/workflow-types.js +0 -1
  84. package/dist/agent-runtime/workflow.js +0 -1
  85. package/dist/agent-runtime/workspace-tools.d.ts +2 -2
  86. package/dist/agent-runtime/workspace-tools.js +1 -2
  87. package/dist/installer/cli.d.ts +3 -32
  88. package/dist/installer/cli.js +26 -101
  89. package/dist/installer/commands/framework.d.ts +4 -3
  90. package/dist/installer/commands/framework.js +0 -1
  91. package/dist/installer/commands/init.d.ts +4 -25
  92. package/dist/installer/commands/init.js +5 -8
  93. package/dist/installer/phases/framework-lifecycle.d.ts +3 -17
  94. package/dist/installer/phases/framework-lifecycle.js +2 -3
  95. package/dist/installer/phases/install-config.d.ts +7 -8
  96. package/dist/installer/phases/install-config.js +2 -7
  97. package/dist/installer/phases/manifest.d.ts +6 -7
  98. package/dist/installer/phases/manifest.js +2 -7
  99. package/dist/installer/phases/prereqs.d.ts +6 -7
  100. package/dist/installer/phases/prereqs.js +4 -6
  101. package/dist/installer/phases/provider-detect.d.ts +6 -7
  102. package/dist/installer/phases/provider-detect.js +2 -4
  103. package/dist/installer/phases/scaffold.d.ts +9 -10
  104. package/dist/installer/phases/scaffold.js +82 -805
  105. package/dist/installer/util/errors.js +0 -1
  106. package/dist/installer/util/exec.d.ts +3 -2
  107. package/dist/installer/util/exec.js +0 -1
  108. package/dist/installer/util/fs.d.ts +0 -10
  109. package/dist/installer/util/fs.js +1 -2
  110. package/dist/installer/util/git.js +0 -1
  111. package/dist/installer/util/install-transaction.d.ts +2 -2
  112. package/dist/installer/util/install-transaction.js +1 -2
  113. package/dist/installer/util/logger.d.ts +1 -3
  114. package/dist/installer/util/logger.js +0 -1
  115. package/dist/installer/util/paths.js +0 -1
  116. package/dist/installer/util/registry.d.ts +4 -8
  117. package/dist/installer/util/registry.js +2 -3
  118. package/dist/{installer/runtime → pipeline}/pipeline-state.js +0 -3
  119. package/dist/shared/args.d.ts +18 -0
  120. package/dist/shared/args.js +53 -0
  121. package/integration-contract.json +10 -46
  122. package/package.json +3 -10
  123. package/templates/agents/sr-architect.md +15 -310
  124. package/templates/agents/sr-developer.md +15 -269
  125. package/templates/agents/sr-reviewer.md +13 -367
  126. package/templates/codex-skills/rails/sr-architect/SKILL.md +14 -308
  127. package/templates/codex-skills/rails/sr-developer/SKILL.md +14 -201
  128. package/templates/codex-skills/rails/sr-reviewer/SKILL.md +15 -289
  129. package/templates/kimi/specrails/run-skill.mjs +91 -2173
  130. package/bin/tui-installer.mjs +0 -430
  131. package/commands/doctor.md +0 -62
  132. package/dist/agent-runtime/capabilities.js.map +0 -1
  133. package/dist/agent-runtime/cli-executor.js.map +0 -1
  134. package/dist/agent-runtime/cli-process.js.map +0 -1
  135. package/dist/agent-runtime/cli.js.map +0 -1
  136. package/dist/agent-runtime/codex-schema.js.map +0 -1
  137. package/dist/agent-runtime/compact/architect.js.map +0 -1
  138. package/dist/agent-runtime/compact/chat-client.js.map +0 -1
  139. package/dist/agent-runtime/compact/developer.js.map +0 -1
  140. package/dist/agent-runtime/compact/environment.js.map +0 -1
  141. package/dist/agent-runtime/compact/exit-code-honesty.js.map +0 -1
  142. package/dist/agent-runtime/compact/guarded-loop.js.map +0 -1
  143. package/dist/agent-runtime/compact/prompt-inputs.js.map +0 -1
  144. package/dist/agent-runtime/compact/reviewer.js.map +0 -1
  145. package/dist/agent-runtime/compact/step.js.map +0 -1
  146. package/dist/agent-runtime/compact/test-reachability.js.map +0 -1
  147. package/dist/agent-runtime/config.js.map +0 -1
  148. package/dist/agent-runtime/core-host.js.map +0 -1
  149. package/dist/agent-runtime/durable-store.js.map +0 -1
  150. package/dist/agent-runtime/efficiency-summary.js.map +0 -1
  151. package/dist/agent-runtime/efficiency-types.js.map +0 -1
  152. package/dist/agent-runtime/efficiency.js.map +0 -1
  153. package/dist/agent-runtime/evaluation-corpus.js.map +0 -1
  154. package/dist/agent-runtime/evaluation.js.map +0 -1
  155. package/dist/agent-runtime/executor-types.js.map +0 -1
  156. package/dist/agent-runtime/executors.js.map +0 -1
  157. package/dist/agent-runtime/gemini-policy.js.map +0 -1
  158. package/dist/agent-runtime/graph/artifacts.js.map +0 -1
  159. package/dist/agent-runtime/graph/nodes.js.map +0 -1
  160. package/dist/agent-runtime/graph/review-policy.js.map +0 -1
  161. package/dist/agent-runtime/graph/roles.js.map +0 -1
  162. package/dist/agent-runtime/graph/state.js.map +0 -1
  163. package/dist/agent-runtime/graph-checkpointer.js.map +0 -1
  164. package/dist/agent-runtime/guardrails.js.map +0 -1
  165. package/dist/agent-runtime/index.js.map +0 -1
  166. package/dist/agent-runtime/kimi-acp.js.map +0 -1
  167. package/dist/agent-runtime/openai-executor.js.map +0 -1
  168. package/dist/agent-runtime/openspec-tool-server.js.map +0 -1
  169. package/dist/agent-runtime/openspec.js.map +0 -1
  170. package/dist/agent-runtime/prompts.js.map +0 -1
  171. package/dist/agent-runtime/provider-diagnostic.js.map +0 -1
  172. package/dist/agent-runtime/repository-context.js.map +0 -1
  173. package/dist/agent-runtime/review-context.js.map +0 -1
  174. package/dist/agent-runtime/role-routing.js.map +0 -1
  175. package/dist/agent-runtime/role-state.js.map +0 -1
  176. package/dist/agent-runtime/runtime-identity.js.map +0 -1
  177. package/dist/agent-runtime/tool-event.js.map +0 -1
  178. package/dist/agent-runtime/verification-plan.js.map +0 -1
  179. package/dist/agent-runtime/workflow-types.js.map +0 -1
  180. package/dist/agent-runtime/workflow.js.map +0 -1
  181. package/dist/agent-runtime/workspace-tools.js.map +0 -1
  182. package/dist/installer/cli.js.map +0 -1
  183. package/dist/installer/commands/doctor.d.ts +0 -27
  184. package/dist/installer/commands/doctor.js +0 -615
  185. package/dist/installer/commands/doctor.js.map +0 -1
  186. package/dist/installer/commands/framework.js.map +0 -1
  187. package/dist/installer/commands/init.js.map +0 -1
  188. package/dist/installer/commands/update.d.ts +0 -56
  189. package/dist/installer/commands/update.js +0 -257
  190. package/dist/installer/commands/update.js.map +0 -1
  191. package/dist/installer/commands/v5-migration.d.ts +0 -32
  192. package/dist/installer/commands/v5-migration.js +0 -133
  193. package/dist/installer/commands/v5-migration.js.map +0 -1
  194. package/dist/installer/phases/framework-lifecycle.js.map +0 -1
  195. package/dist/installer/phases/install-config.js.map +0 -1
  196. package/dist/installer/phases/manifest.js.map +0 -1
  197. package/dist/installer/phases/prereqs.js.map +0 -1
  198. package/dist/installer/phases/provider-detect.js.map +0 -1
  199. package/dist/installer/phases/scaffold.js.map +0 -1
  200. package/dist/installer/runtime/kimi.d.ts +0 -84
  201. package/dist/installer/runtime/kimi.js +0 -255
  202. package/dist/installer/runtime/kimi.js.map +0 -1
  203. package/dist/installer/runtime/pipeline-state.js.map +0 -1
  204. package/dist/installer/util/errors.js.map +0 -1
  205. package/dist/installer/util/exec.js.map +0 -1
  206. package/dist/installer/util/fs.js.map +0 -1
  207. package/dist/installer/util/git.js.map +0 -1
  208. package/dist/installer/util/install-transaction.js.map +0 -1
  209. package/dist/installer/util/logger.js.map +0 -1
  210. package/dist/installer/util/paths.js.map +0 -1
  211. package/dist/installer/util/prompts.d.ts +0 -23
  212. package/dist/installer/util/prompts.js +0 -49
  213. package/dist/installer/util/prompts.js.map +0 -1
  214. package/dist/installer/util/registry.js.map +0 -1
  215. package/dist/installer/util/template.d.ts +0 -23
  216. package/dist/installer/util/template.js +0 -60
  217. package/dist/installer/util/template.js.map +0 -1
  218. package/docs/README.md +0 -40
  219. package/docs/agent-runtime-efficiency.md +0 -65
  220. package/docs/agent-runtime.md +0 -347
  221. package/docs/agents.md +0 -315
  222. package/docs/changelog.md +0 -168
  223. package/docs/ci-cd.md +0 -60
  224. package/docs/concepts.md +0 -183
  225. package/docs/customization.md +0 -363
  226. package/docs/deployment.md +0 -234
  227. package/docs/getting-started.md +0 -122
  228. package/docs/installation.md +0 -395
  229. package/docs/local-tickets.md +0 -191
  230. package/docs/migration-guide.md +0 -140
  231. package/docs/playbook-oss-maintainer.md +0 -112
  232. package/docs/playbook-parallel-dev.md +0 -124
  233. package/docs/playbook-product-discovery.md +0 -115
  234. package/docs/plugin-architecture.md +0 -144
  235. package/docs/research/codex-compatibility-analysis.md +0 -365
  236. package/docs/research/mcp-feasibility-analysis.md +0 -382
  237. package/docs/testing/test-matrix-codex.md +0 -130
  238. package/docs/updating.md +0 -89
  239. package/docs/user-docs/cli-reference.md +0 -428
  240. package/docs/user-docs/codex-vs-claude-code.md +0 -23
  241. package/docs/user-docs/core-updates.md +0 -70
  242. package/docs/user-docs/faq.md +0 -146
  243. package/docs/user-docs/getting-started-codex.md +0 -194
  244. package/docs/user-docs/getting-started-kimi.md +0 -423
  245. package/docs/user-docs/installation.md +0 -237
  246. package/docs/user-docs/provider-pipelines.md +0 -96
  247. package/docs/user-docs/quick-start.md +0 -161
  248. package/docs/windows.md +0 -78
  249. package/docs/workflows.md +0 -463
  250. package/schemas/profile.v1.json +0 -207
  251. package/templates/claude-md/CLAUDE-quickstart.md +0 -54
  252. package/templates/claude-md/root.md +0 -50
  253. package/templates/codex-skills/batch-implement/SKILL.md +0 -38
  254. package/templates/codex-skills/implement/SKILL.md +0 -38
  255. package/templates/codex-skills/retry/SKILL.md +0 -16
  256. package/templates/commands/specrails/compat-check.md +0 -271
  257. package/templates/commands/specrails/doctor.md +0 -62
  258. package/templates/commands/specrails/explore-spec.md +0 -173
  259. package/templates/commands/specrails/health-check.md +0 -527
  260. package/templates/commands/specrails/memory-inspect.md +0 -261
  261. package/templates/commands/specrails/opsx-diff.md +0 -419
  262. package/templates/commands/specrails/propose-spec.md +0 -102
  263. package/templates/commands/specrails/refactor-recommender.md +0 -169
  264. package/templates/commands/specrails/telemetry.md +0 -552
  265. package/templates/commands/specrails/why.md +0 -96
  266. package/templates/gemini-commands/batch-implement.toml +0 -37
  267. package/templates/gemini-commands/implement.toml +0 -37
  268. package/templates/gemini-commands/retry.toml +0 -15
  269. package/templates/profiles/default.json +0 -14
  270. package/templates/profiles/kimi-default.json +0 -15
  271. package/templates/rules/layer.md +0 -8
  272. package/templates/runtime/provider-pipeline.md +0 -113
  273. package/templates/security/security-exemptions.yaml +0 -20
  274. package/templates/settings/confidence-config.json +0 -17
  275. package/templates/settings/settings.json +0 -15
  276. /package/dist/{installer/runtime → pipeline}/pipeline-state.d.ts +0 -0
@@ -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.
@@ -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)