specrails-core 4.11.3 → 5.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 (108) hide show
  1. package/README.md +96 -89
  2. package/bin/specrails-core.mjs +282 -39
  3. package/bin/tui-installer.mjs +117 -149
  4. package/commands/doctor.md +1 -1
  5. package/dist/installer/cli.js +13 -3
  6. package/dist/installer/cli.js.map +1 -1
  7. package/dist/installer/commands/doctor.js +487 -27
  8. package/dist/installer/commands/doctor.js.map +1 -1
  9. package/dist/installer/commands/framework.js +49 -7
  10. package/dist/installer/commands/framework.js.map +1 -1
  11. package/dist/installer/commands/init.js +443 -41
  12. package/dist/installer/commands/init.js.map +1 -1
  13. package/dist/installer/commands/update.js +51 -23
  14. package/dist/installer/commands/update.js.map +1 -1
  15. package/dist/installer/commands/v5-migration.js +119 -0
  16. package/dist/installer/commands/v5-migration.js.map +1 -0
  17. package/dist/installer/phases/framework-lifecycle.js +125 -0
  18. package/dist/installer/phases/framework-lifecycle.js.map +1 -0
  19. package/dist/installer/phases/install-config.js +160 -11
  20. package/dist/installer/phases/install-config.js.map +1 -1
  21. package/dist/installer/phases/manifest.js +29 -8
  22. package/dist/installer/phases/manifest.js.map +1 -1
  23. package/dist/installer/phases/prereqs.js +57 -3
  24. package/dist/installer/phases/prereqs.js.map +1 -1
  25. package/dist/installer/phases/provider-detect.js +116 -6
  26. package/dist/installer/phases/provider-detect.js.map +1 -1
  27. package/dist/installer/phases/scaffold.js +1217 -117
  28. package/dist/installer/phases/scaffold.js.map +1 -1
  29. package/dist/installer/runtime/kimi.js +255 -0
  30. package/dist/installer/runtime/kimi.js.map +1 -0
  31. package/dist/installer/util/paths.js +12 -0
  32. package/dist/installer/util/paths.js.map +1 -1
  33. package/dist/installer/util/registry.js +234 -14
  34. package/dist/installer/util/registry.js.map +1 -1
  35. package/docs/README.md +1 -0
  36. package/docs/deployment.md +6 -7
  37. package/docs/getting-started.md +11 -7
  38. package/docs/installation.md +34 -16
  39. package/docs/plugin-architecture.md +11 -8
  40. package/docs/updating.md +21 -3
  41. package/docs/user-docs/cli-reference.md +43 -22
  42. package/docs/user-docs/codex-vs-claude-code.md +11 -9
  43. package/docs/user-docs/faq.md +1 -1
  44. package/docs/user-docs/getting-started-codex.md +5 -8
  45. package/docs/user-docs/getting-started-kimi.md +423 -0
  46. package/docs/user-docs/installation.md +49 -14
  47. package/docs/user-docs/quick-start.md +11 -8
  48. package/docs/windows.md +29 -4
  49. package/integration-contract.json +85 -13
  50. package/package.json +9 -5
  51. package/schemas/profile.v1.json +68 -6
  52. package/templates/agents/sr-architect.md +30 -0
  53. package/templates/agents/sr-developer.md +21 -8
  54. package/templates/agents/sr-reviewer.md +44 -31
  55. package/templates/codex-skills/batch-implement/SKILL.md +9 -32
  56. package/templates/codex-skills/implement/SKILL.md +61 -143
  57. package/templates/codex-skills/rails/sr-architect/SKILL.md +38 -20
  58. package/templates/codex-skills/rails/sr-developer/SKILL.md +29 -10
  59. package/templates/codex-skills/rails/sr-reviewer/SKILL.md +21 -10
  60. package/templates/commands/specrails/doctor.md +1 -1
  61. package/templates/commands/specrails/implement.md +117 -288
  62. package/templates/commands/specrails/memory-inspect.md +6 -4
  63. package/templates/commands/specrails/propose-spec.md +1 -1
  64. package/templates/commands/specrails/refactor-recommender.md +8 -51
  65. package/templates/commands/specrails/retry.md +12 -48
  66. package/templates/commands/specrails/telemetry.md +1 -1
  67. package/templates/gemini-commands/implement.toml +9 -0
  68. package/templates/kimi/specrails/run-skill.mjs +3005 -0
  69. package/templates/kimi/specrails/vendor/js-yaml/LICENSE +21 -0
  70. package/templates/kimi/specrails/vendor/js-yaml/NOTICE.md +16 -0
  71. package/templates/kimi/specrails/vendor/js-yaml/js-yaml.mjs +3856 -0
  72. package/templates/profiles/default.json +5 -18
  73. package/templates/profiles/kimi-default.json +15 -0
  74. package/commands/enrich.md +0 -1456
  75. package/templates/agents/sr-backend-developer.md +0 -91
  76. package/templates/agents/sr-backend-reviewer.md +0 -152
  77. package/templates/agents/sr-doc-sync.md +0 -247
  78. package/templates/agents/sr-frontend-developer.md +0 -85
  79. package/templates/agents/sr-frontend-reviewer.md +0 -145
  80. package/templates/agents/sr-merge-resolver.md +0 -195
  81. package/templates/agents/sr-performance-reviewer.md +0 -186
  82. package/templates/agents/sr-product-analyst.md +0 -36
  83. package/templates/agents/sr-product-manager.md +0 -148
  84. package/templates/agents/sr-security-reviewer.md +0 -191
  85. package/templates/agents/sr-test-writer.md +0 -176
  86. package/templates/codex-skills/enrich/SKILL.md +0 -191
  87. package/templates/codex-skills/merge-resolve/SKILL.md +0 -88
  88. package/templates/codex-skills/rails/sr-backend-developer/SKILL.md +0 -93
  89. package/templates/codex-skills/rails/sr-backend-reviewer/SKILL.md +0 -120
  90. package/templates/codex-skills/rails/sr-doc-sync/SKILL.md +0 -124
  91. package/templates/codex-skills/rails/sr-frontend-developer/SKILL.md +0 -106
  92. package/templates/codex-skills/rails/sr-frontend-reviewer/SKILL.md +0 -111
  93. package/templates/codex-skills/rails/sr-merge-resolver/SKILL.md +0 -156
  94. package/templates/codex-skills/rails/sr-performance-reviewer/SKILL.md +0 -109
  95. package/templates/codex-skills/rails/sr-product-analyst/SKILL.md +0 -85
  96. package/templates/codex-skills/rails/sr-product-manager/SKILL.md +0 -131
  97. package/templates/codex-skills/rails/sr-security-reviewer/SKILL.md +0 -121
  98. package/templates/codex-skills/rails/sr-test-writer/SKILL.md +0 -115
  99. package/templates/commands/specrails/auto-propose-backlog-specs.md +0 -312
  100. package/templates/commands/specrails/enrich.md +0 -1456
  101. package/templates/commands/specrails/get-backlog-specs.md +0 -226
  102. package/templates/commands/specrails/merge-resolve.md +0 -172
  103. package/templates/commands/specrails/reconfig.md +0 -80
  104. package/templates/commands/specrails/vpc-drift.md +0 -405
  105. package/templates/commands/test.md +0 -58
  106. package/templates/personas/persona.md +0 -43
  107. package/templates/personas/the-maintainer.md +0 -98
  108. package/templates/settings/perf-thresholds.yml +0 -25
package/README.md CHANGED
@@ -4,21 +4,19 @@
4
4
  [![GitHub Stars](https://img.shields.io/github/stars/fjpulidop/specrails-core?style=social)](https://github.com/fjpulidop/specrails-core)
5
5
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
6
6
  [![npm downloads](https://img.shields.io/npm/dw/specrails-core.svg)](https://www.npmjs.com/package/specrails-core)
7
- [![Claude Code](https://img.shields.io/badge/Built%20for-Claude%20Code-blueviolet)](https://docs.anthropic.com/en/docs/claude-code)
8
- [![Codex — Coming Soon](https://img.shields.io/badge/OpenAI%20Codex-Coming%20Soon%20(in%20lab)-lightgrey)](https://github.com/openai/codex)
7
+ [![AI providers](https://img.shields.io/badge/providers-Claude%20%7C%20Codex%20%7C%20Gemini%20%7C%20Kimi-6f42c1)](#provider-support)
9
8
 
10
9
  **Your agentic development team. From idea to production code.**
11
10
 
12
- One command turns your repo into a spec-driven pipeline with a team of specialized AI agents — architect, developers, reviewers, product manager — all adapted to your codebase.
11
+ One command turns your repo into a spec-driven pipeline with three specialized AI agents working together through OpenSpec — architect, developer, reviewer — all adapted to your codebase. Need more specialists? Add your own via a profile.
13
12
 
14
13
  ```bash
15
- npx specrails-core@latest init # install into the current repo
16
- /specrails:enrich # optional: deep codebase analysis
14
+ npx specrails-core@latest init # install into the current repo — ready to use immediately
17
15
  ```
18
16
 
19
- > **Requirements:** [Claude Code](https://docs.anthropic.com/en/docs/claude-code), git, Node 20+. Cross-platform: macOS, Linux, Windows.
20
- >
21
- > **🧪 Codex (OpenAI) support — Coming Soon:** We are testing Codex integration in our lab. Installation is disabled for now, but the feature will be available shortly. Follow the repo for updates.
17
+ > **Requirements:** one supported AI CLI, git, and Node 20.19.0+. Cross-platform:
18
+ > macOS, Linux, and Windows. Use `--provider claude|codex|gemini|kimi` to
19
+ > override auto-detection.
22
20
 
23
21
  ---
24
22
 
@@ -31,50 +29,59 @@ Idea → Architecture → Implementation → Review → PR
31
29
 
32
30
  Run `/specrails:implement "add dark mode"` — the pipeline designs, builds, reviews, and ships a pull request. No hand-holding.
33
31
 
34
- Every artifact (agents, rules, personas) is generated **specifically for your project** by analysing your actual codebase, tech stack, and CI setup. Not generic templates.
32
+ The three core agents are adapted to your project's stack and conventions at install time, and the per-layer rules carry your codebase's patterns. Extend the trio with your own specialists through a [profile](#agent-profiles).
35
33
 
36
34
  ---
37
35
 
38
36
  ## Quick start
39
37
 
40
38
  ```bash
41
- # 1. Install into the current repo
39
+ # 1. Install into the current repo — one pass, no follow-up step
42
40
  npx specrails-core@latest init
43
- ```
44
-
45
- The TUI asks you to pick a tier:
46
-
47
- - **Quick** (default) — agents and commands installed straight to `.claude/`, ready to use immediately. No AI interaction.
48
- - **Full** — same as Quick plus `/specrails:enrich` (5-phase deep analysis: stack detection, VPC personas, competitive research). ~5 min.
49
41
 
50
- ```bash
51
- # 2. Optional — run enrich later if you picked Quick
52
- /specrails:enrich
53
-
54
- # 3. Start building
42
+ # 2. Start building
55
43
  > /specrails:implement "add user authentication"
56
44
  > /specrails:implement #1, #2 # from local tickets (default)
57
45
  > /specrails:implement #42 # from GitHub Issues (if configured)
58
46
  ```
59
47
 
60
- That's it. The pipeline takes over.
48
+ That's it. Installation places the three agents, commands, rules, and OpenSpec skills directly — no wizard, no AI step. The pipeline takes over.
61
49
 
62
50
  ---
63
51
 
52
+ ## Provider support
53
+
54
+ | Provider | Runtime command | Project surface | Workflow syntax |
55
+ |----------|-----------------|-----------------|-----------------|
56
+ | Claude Code | `claude` | `.claude/` | `/specrails:<command>` |
57
+ | Codex CLI | `codex` | `.codex/` | provider-native skills |
58
+ | Gemini CLI | `gemini` | `.gemini/` | `/specrails:<command>` |
59
+ | Kimi Code | managed Node skill runner → external `kimi -p` | `.kimi-code/` | `/skill:specrails-<command>` in the TUI |
60
+
61
+ Kimi is an external CLI dependency, just like the other providers. SpecRails
62
+ does not bundle a Kimi binary, start `kimi web`, or own a Kimi server. Install
63
+ Kimi Code separately, run `kimi login` once, then select it explicitly or let
64
+ the installer detect it. Parallel Kimi roles are submitted as one bounded
65
+ foreground wave; Core creates/reuses their git worktrees, attributes each
66
+ child stream, and waits for aggregate completion—without a server. See the
67
+ [Kimi setup guide](./docs/user-docs/getting-started-kimi.md).
68
+
64
69
  ## What gets installed
65
70
 
66
71
  Everything lands in your repo — nothing auto-updates, nothing phones home. You own it, you commit it.
67
72
 
68
73
  | Category | Location | Purpose |
69
74
  |----------|----------|---------|
70
- | **Agents** | `.claude/agents/` | 14 specialised AI agents |
71
- | **Commands** | `.claude/commands/specrails/` | 17 workflow commands (`/specrails:implement`, `/specrails:get-backlog-specs`, `/specrails:why`, ) |
72
- | **OpenSpec skills** | `.claude/commands/opsx/` | `/opsx:*` commands for spec artefacts |
75
+ | **Agents** | `.claude/agents/` (Claude) or the provider-native skills tree (`.codex/`, `.gemini/`, `.kimi-code/`) | The three core agents (sr-architect, sr-developer, sr-reviewer) |
76
+ | **Commands** | `.claude/commands/specrails/` | Workflow commands (`/specrails:implement`, `/specrails:why`, ...) |
77
+ | **Kimi workflow skills** | `.kimi-code/skills/specrails-*/SKILL.md` | `/skill:specrails-*` directory-form skills |
78
+ | **Kimi headless runner** | `.kimi-code/specrails/run-skill.mjs` | Materializes Kimi's native skill-activation flow for headless runs |
79
+ | **OpenSpec skills** | `.claude/commands/opsx/` (or the provider-native skills directory) | `/opsx:*` commands for spec artefacts |
73
80
  | **Config** | `.specrails/config.yaml` | Stack, CI commands, git workflow |
74
- | **Personas** | `.specrails/personas/*.md` | VPC user profiles, generated from your users |
75
81
  | **Rules** | `.specrails/rules/*.md` | Per-layer coding conventions |
76
82
  | **Memory** | `.specrails/agent-memory/` | Persistent knowledge — agents learn across sessions |
77
83
  | **Pipeline state** | `.specrails/pipeline/` | In-flight feature state for parallel builds |
84
+ | **Profiles** _(optional, yours)_ | `.specrails/profiles/*.json` | Add custom specialists + task routing |
78
85
 
79
86
  To update, re-run the installer:
80
87
 
@@ -82,7 +89,7 @@ To update, re-run the installer:
82
89
  npx specrails-core@latest init
83
90
  ```
84
91
 
85
- It refreshes the agents/commands while leaving your `.specrails/` data untouched.
92
+ Or run `npx specrails-core@latest update` to refresh in place. Update leaves your `.specrails/` data, profiles, and `custom-*` agents untouched. Upgrading from v4? Update also removes the artefacts v5 no longer ships (the enrich wizard, install tiers, and the non-core agents) and prints exactly what it removed — see [Migrating from v4](#migrating-from-v4).
86
93
 
87
94
  ---
88
95
 
@@ -92,33 +99,26 @@ It refreshes the agents/commands while leaving your `.specrails/` data untouched
92
99
  |---|---|---|---|
93
100
  | Structured pipeline | ✅ Architect → Dev → Review → PR | ❌ Manual | ❌ Manual |
94
101
  | Adapts to your codebase | ✅ Reads your real stack/CI | ⚠️ Prompts only | ❌ |
95
- | Product-driven backlog | ✅ VPC persona scoring | ❌ | ❌ |
102
+ | Spec-driven (OpenSpec) | ✅ Proposal design → tasks → specs | ❌ | ❌ |
96
103
  | Parallel feature builds | ✅ Git worktrees | ❌ | ❌ |
97
104
  | Institutional memory | ✅ Agents learn across sessions | ❌ | ❌ |
98
105
  | Open source | ✅ MIT | N/A | ❌ |
99
106
 
100
- specrails is not a chat interface. It's a **development pipeline** that coordinates multiple specialised agents through your existing tools (GitHub Issues, JIRA, git, CI).
107
+ specrails is not a chat interface. It's a **development pipeline** that coordinates specialised agents through your existing tools (GitHub Issues, git, CI).
101
108
 
102
109
  ---
103
110
 
104
111
  ## The agents
105
112
 
113
+ Three agents, tightly integrated through the OpenSpec lifecycle (`/opsx:ff` → `/opsx:apply` → `/opsx:archive`):
114
+
106
115
  | Agent | Model | Role |
107
116
  |-------|-------|------|
108
117
  | **sr-architect** | Sonnet | Designs features: proposal, technical design, task breakdown |
109
- | **sr-developer** | Sonnet | Full-stack implementation |
110
- | **sr-backend-developer** | Sonnet | Backend-specialised implementation |
111
- | **sr-frontend-developer** | Sonnet | Frontend-specialised implementation |
112
- | **sr-reviewer** | Sonnet | Quality gate: runs CI, fixes issues, records learnings |
113
- | **sr-backend-reviewer** | Sonnet | Backend code review: API design, DB patterns, performance |
114
- | **sr-frontend-reviewer** | Sonnet | Frontend code review: UX, accessibility, component design |
115
- | **sr-test-writer** | Sonnet | Generates unit, integration, and e2e tests |
116
- | **sr-security-reviewer** | Sonnet | Secrets detection, OWASP checks, dependency vulnerabilities |
117
- | **sr-doc-sync** | Sonnet | Updates changelogs, READMEs, API docs |
118
- | **sr-merge-resolver** | Sonnet | AI-powered merge conflict resolution for multi-feature pipelines |
119
- | **sr-performance-reviewer** | Sonnet | Performance regression detection after implementation |
120
- | **sr-product-manager** | Opus | Product discovery: competitive analysis, VPC evaluation |
121
- | **sr-product-analyst** | Haiku | Read-only backlog analysis and prioritisation |
118
+ | **sr-developer** | Sonnet | Full-stack implementation (tests and docs included per task) |
119
+ | **sr-reviewer** | Sonnet | Single quality gate: correctness, TDD/spec completeness, security, and performance; runs CI, fixes issues, records learnings |
120
+
121
+ Need a specialist a dedicated security reviewer, a data-engineering developer, a docs agent? Author it as a `custom-*` agent and declare it in a [profile](#agent-profiles); the pipeline routes to it. The installer never ships or manages non-core agents, so your custom agents are always yours.
122
122
 
123
123
  ---
124
124
 
@@ -129,7 +129,6 @@ specrails is not a chat interface. It's a **development pipeline** that coordina
129
129
  ```bash
130
130
  /specrails:implement "add dark mode" # from a description
131
131
  /specrails:implement #85, #71 # from tickets
132
- /specrails:implement UI, Analytics # explore areas, pick the best ideas
133
132
  ```
134
133
 
135
134
  Architect designs → developer builds → reviewer validates → PR created. Multiple features run in parallel with git worktrees.
@@ -163,31 +162,21 @@ To discard without applying:
163
162
  rm -rf .claude/.dry-run/add-dark-mode/
164
163
  ```
165
164
 
166
- ### `/specrails:get-backlog-specs` — View prioritised backlog
165
+ ### `/specrails:retry` — Resume a failed pipeline
167
166
 
168
167
  ```bash
169
- /specrails:get-backlog-specs # show all areas
170
- /specrails:get-backlog-specs UI, Decks # filter by area
168
+ /specrails:retry add-dark-mode # resume from the failed phase
169
+ /specrails:retry add-dark-mode --from reviewer
170
+ /specrails:retry --list # show resumable pipeline states
171
171
  ```
172
172
 
173
- Reads your tickets (local or GitHub Issues), scores by VPC persona match, recommends top 3 for the next sprint.
174
-
175
- ### `/specrails:auto-propose-backlog-specs` — Discover features
176
-
177
- ```bash
178
- /specrails:auto-propose-backlog-specs # explore all areas
179
- /specrails:auto-propose-backlog-specs Analytics # focus on one area
180
- ```
181
-
182
- AI product discovery using your personas. Evaluates ideas, creates tickets (local or GitHub Issues) for the best ones.
173
+ Picks up a `/specrails:implement` run from where it stopped, reusing the OpenSpec artefacts already produced.
183
174
 
184
175
  ---
185
176
 
186
177
  ## Agent profiles
187
178
 
188
- > Available in `specrails-core >= 4.1.0`. Optional without a profile, the pipeline behaves exactly as before.
189
-
190
- Profiles are declarative JSON files that tell `/specrails:implement` which agents to use, which models to run them with, and how to route tasks to specialists. One project can define many profiles (e.g. `default`, `data-heavy`, `security-heavy`) and run different features with different profiles — useful for concurrent rails in `/specrails:batch-implement`.
179
+ Profiles are **the way to extend the core trio**. They are declarative JSON files that tell `/specrails:implement` which agents to use, which models to run them with, and how to route tasks to specialists. Without a profile the pipeline runs the three baseline agents; with one, you add your own `custom-*` agents and routing. One project can define many profiles (e.g. `default`, `data-heavy`, `security-heavy`) and run different features with different profiles — useful for concurrent rails in `/specrails:batch-implement`.
191
180
 
192
181
  ### File layout
193
182
 
@@ -204,8 +193,9 @@ Profiles are declarative JSON files that tell `/specrails:implement` which agent
204
193
  When running the pipeline, the active profile is resolved in this order:
205
194
 
206
195
  1. `$SPECRAILS_PROFILE_PATH` environment variable (absolute path to a JSON snapshot)
207
- 2. `<cwd>/.specrails/profiles/project-default.json`
208
- 3. No profile legacy behavior (identical to pre-4.1.0)
196
+ 2. Provider default: `<cwd>/.specrails/profiles/project-default.json` for
197
+ Claude, or `<cwd>/.specrails/profiles/kimi-default.json` for Kimi
198
+ 3. No profile — the three baseline agents (`sr-architect`, `sr-developer`, `sr-reviewer`)
209
199
 
210
200
  Tools such as [specrails-desktop](https://github.com/fjpulidop/specrails-desktop) set `$SPECRAILS_PROFILE_PATH` to a job-scoped snapshot so concurrent rails can run independent profiles.
211
201
 
@@ -240,6 +230,9 @@ The following paths are **reserved** — `specrails-core update` will never crea
240
230
 
241
231
  - `.specrails/profiles/**` — profile JSON files (yours and desktop-authored).
242
232
  - `.claude/agents/custom-*.md` — your custom agents. Use the `custom-` prefix to opt in to this protection.
233
+ - `.kimi-code/skills/custom-*/**` — your custom Kimi role skills. Pre-release
234
+ `.kimi-code/skills/rails/custom-*` roles are also reserved while Core safely
235
+ migrates them into this discoverable direct-child layout.
243
236
 
244
237
  This contract is what lets you safely hand-author (or let specrails-desktop author) profiles and custom agents without fear of the next `update` overwriting your work. Other paths managed by specrails-core (`.specrails/install-config.yaml`, `.specrails/specrails-version`, etc.) remain under update's control. Audited by `src/installer/__tests__/reserved-paths.test.ts` on every CI run.
245
238
 
@@ -251,12 +244,10 @@ specrails-core ships with a built-in ticket system — no GitHub account or exte
251
244
 
252
245
  Tickets live in `.specrails/local-tickets.json` alongside your code. They're plain JSON and git-friendly.
253
246
 
254
- **Local tickets are the default.** The `/specrails:enrich` wizard skips GitHub/JIRA credential setup unless you opt in.
247
+ **Local tickets are the default** no GitHub account or credential setup required.
255
248
 
256
249
  ```bash
257
250
  /specrails:implement #1, #4 # implement by ticket ID
258
- /specrails:get-backlog-specs # view prioritised backlog
259
- /specrails:auto-propose-backlog-specs # discover and create tickets with AI
260
251
  /specrails:propose-spec # create a ticket from a spec proposal
261
252
  ```
262
253
 
@@ -266,20 +257,21 @@ Migrating from GitHub Issues or JIRA? See [docs/migration-guide.md](./docs/migra
266
257
 
267
258
  ---
268
259
 
269
- ## VPC persona scoring
260
+ ## Migrating from v4
270
261
 
271
- Features are scored against your user personas using the Value Proposition Canvas framework:
262
+ v5 is a breaking release. It removes the `/specrails:enrich` wizard, the quick/full install tiers, and the nine non-core agents (product manager/analyst, layer-specific developers and reviewers, test-writer, doc-sync, merge-resolver). The installer is now mode-less: `init` places the three core agents directly, in one pass.
272
263
 
273
- ```
274
- +-----------------------------+ +-----------------------------+
275
- | VALUE PROPOSITION | | CUSTOMER SEGMENT |
276
- | Products & Services <---+--->| Customer Jobs |
277
- | Pain Relievers <---+--->| Pains |
278
- | Gain Creators <---+--->| Gains |
279
- +-----------------------------+ +-----------------------------+
264
+ To upgrade an existing install:
265
+
266
+ ```bash
267
+ npx specrails-core@latest update
280
268
  ```
281
269
 
282
- Each persona scores features 0–5. Features are ranked by score / effort ratio. No gut-feel product decisions.
270
+ Update removes the artefacts v5 no longer ships (installer-owned agents, commands, and enrich staging) and prints the exact list of removed files. It never touches your `.specrails/profiles/**` or `.claude/agents/custom-*.md`.
271
+
272
+ - **Relied on a removed agent?** Its body is plain Markdown — copy the v4 agent to `.claude/agents/custom-<name>.md` and declare it in a [profile](#agent-profiles). Same behaviour, now user-owned.
273
+ - **Have a v4 profile that lists removed agents?** It keeps working: the pipeline warns and skips any profile agent whose file no longer exists, and continues with the rest. The three baseline agents remain required.
274
+ - **Using specrails-desktop?** Pin it to `specrails-core@^4` until a desktop release adopts the mode-less `init --from-config` flow.
283
275
 
284
276
  ---
285
277
 
@@ -287,12 +279,11 @@ Each persona scores features 0–5. Features are ranked by score / effort ratio.
287
279
 
288
280
  | Tool | Required | Purpose |
289
281
  |------|----------|---------|
290
- | **Claude Code** | Yes | AI agent runtime |
291
- | **Codex CLI** _(coming soon — in lab)_ | 🧪 Not yet | OpenAI Codex support is being tested in our lab and will be available shortly. |
282
+ | **One supported AI CLI** | Yes | Claude Code, Codex CLI, Gemini CLI, or Kimi Code |
283
+ | **Kimi Code 0.27.0+** | For Kimi projects | Install from the [official Kimi Code guide](https://www.kimi.com/code/docs/en/kimi-code-cli/guides/getting-started), then run `kimi login` |
292
284
  | **git** | Yes | Repository detection |
293
- | **Node 20+** | Yes | Needed for `npx specrails-core@latest init`. Cross-platform: macOS, Linux, Windows (10/11, x64 + ARM64 via emulation). |
285
+ | **Node 20.19.0+** | Yes | Needed for `npx specrails-core@latest init` (the floor required by the pinned OpenSpec 1.4.1 CLI). Cross-platform: macOS, Linux, Windows (10/11, x64 + ARM64 via emulation). |
294
286
  | **GitHub CLI** (`gh`) | Optional | Backlog sync to GitHub Issues, PR creation. Not needed with local tickets. |
295
- | **JIRA CLI** (`jira`) | Optional | Backlog sync to JIRA. Not needed with local tickets. |
296
287
 
297
288
  The installer checks for prerequisites and offers to install missing ones.
298
289
 
@@ -300,7 +291,7 @@ The installer checks for prerequisites and offers to install missing ones.
300
291
 
301
292
  ## Supported stacks
302
293
 
303
- Stack-agnostic. The `/specrails:enrich` wizard detects and adapts to whatever you're running:
294
+ Stack-agnostic. The installer detects and adapts the agents and rules to whatever you're running:
304
295
 
305
296
  - **Backend:** Python/FastAPI, Node/Express, Go/Gin, Rust/Actix, Java/Spring, Ruby/Rails, .NET
306
297
  - **Frontend:** React, Vue, Angular, Svelte, Next.js, Nuxt
@@ -313,21 +304,26 @@ Stack-agnostic. The `/specrails:enrich` wizard detects and adapts to whatever yo
313
304
  ## Design principles
314
305
 
315
306
  1. **Local by default** — Everything lives in your repo. No cloud services, no telemetry, no phone home.
316
- 2. **Self-cleaning** — Installer scaffolding is removed after setup. Only final, project-specific files remain.
307
+ 2. **Mode-less** — One install path. `init` places everything directly; there is no follow-up wizard.
317
308
  3. **Context-first** — Every generated file uses your real paths, patterns, and CI commands.
318
- 4. **Persona-driven** — Product decisions grounded in researched user personas, not assumptions.
309
+ 4. **Spec-driven** — Every feature flows through OpenSpec (proposal → design → tasks → specs), not ad-hoc prompts.
319
310
  5. **Institutional memory** — Agents learn across sessions. Reviewer learnings feed back to future developers.
320
311
  6. **Parallel-safe** — Multiple features implemented simultaneously via git worktrees with automatic merge.
312
+ 7. **Yours to extend** — The core is three agents; specialists come from profiles + `custom-*` agents the installer never touches.
321
313
 
322
314
  ---
323
315
 
324
316
  ## FAQ
325
317
 
326
318
  **Can I customise the agents after installation?**
327
- Yes. Everything under `.claude/` and `.specrails/` is yours to edit — agent prompts, personas, rules, config. Commit what makes sense, gitignore what's transient.
319
+ Yes. Everything in the selected provider tree and `.specrails/` is yours to
320
+ edit — agent prompts, rules, config. For Kimi, customize `.kimi-code/skills/`,
321
+ `.kimi-code/rules/`, and the managed block in `.kimi-code/AGENTS.md`;
322
+ `custom-*` role skills are preserved. To add a specialist, declare a
323
+ `custom-*` agent in a profile.
328
324
 
329
- **Can I re-run the wizard?**
330
- Run `/specrails:enrich` again at any time to regenerate or update project data files. Re-running `npx specrails-core@latest init` refreshes the agents/commands without touching `.specrails/`.
325
+ **How do I update an install?**
326
+ Run `npx specrails-core@latest update` (or re-run `init`) to refresh the agents/commands. Both leave your `.specrails/` data, profiles, and `custom-*` agents untouched.
331
327
 
332
328
  **Does this work without GitHub CLI?**
333
329
  Yes. Local tickets are the default and need no external tools. `/specrails:implement "description"` also works without `gh` — it just skips automated PR creation.
@@ -336,13 +332,24 @@ Yes. Local tickets are the default and need no external tools. `/specrails:imple
336
332
  Not simultaneously for the same project — backlog commands use one active provider at a time. You can migrate from GitHub Issues to local tickets using the [migration guide](./docs/migration-guide.md).
337
333
 
338
334
  **How much does it cost to run?**
339
- A full `/specrails:implement` cycle for one feature typically costs a few dollars in Claude API usage. The sr-product-manager uses Opus; all other agents use Sonnet or Haiku.
335
+ Cost depends on the selected provider, model, and workload. SpecRails does not
336
+ add a model surcharge. Kimi's stream output does not currently report a native
337
+ USD cost, so consumers must display it as unavailable rather than inventing an
338
+ estimate.
340
339
 
341
340
  **Does it work with private repos?**
342
- Yes. Everything runs locally through Claude Code. No external services beyond the model API.
343
-
344
- **How do I use specrails with Codex?**
345
- 🧪 **Coming Soon in lab.** OpenAI Codex support is currently being tested in our lab and will be available shortly. The install path will remain the same (`npx specrails-core@latest init --root-dir .`) — the installer will detect Codex and adjust the agent configuration automatically. See [docs/user-docs/getting-started-codex.md](./docs/user-docs/getting-started-codex.md) for the preview documentation.
341
+ Yes. Orchestration runs through the selected local CLI. The provider still
342
+ connects to its model API and any MCP/integration endpoints you configure.
343
+
344
+ **How do I use specrails with Kimi?**
345
+ Install and authenticate Kimi Code, then run
346
+ `npx specrails-core@latest init --provider kimi`. Invoke the generated workflows
347
+ as `/skill:specrails-implement`, `/skill:specrails-enrich`, and so on in Kimi's
348
+ interactive TUI. Headless callers use the managed
349
+ `.kimi-code/specrails/run-skill.mjs` helper: Kimi 0.27 sends a slash command
350
+ passed directly to `kimi -p` as literal text, so the helper first renders the
351
+ same skill prompt as Kimi's native activation path and then starts external
352
+ `kimi -p --output-format stream-json`. No server installation is required.
346
353
 
347
354
  ---
348
355