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.
- package/README.md +96 -89
- package/bin/specrails-core.mjs +282 -39
- package/bin/tui-installer.mjs +117 -149
- package/commands/doctor.md +1 -1
- package/dist/installer/cli.js +13 -3
- package/dist/installer/cli.js.map +1 -1
- package/dist/installer/commands/doctor.js +487 -27
- package/dist/installer/commands/doctor.js.map +1 -1
- package/dist/installer/commands/framework.js +49 -7
- package/dist/installer/commands/framework.js.map +1 -1
- package/dist/installer/commands/init.js +443 -41
- package/dist/installer/commands/init.js.map +1 -1
- package/dist/installer/commands/update.js +51 -23
- package/dist/installer/commands/update.js.map +1 -1
- package/dist/installer/commands/v5-migration.js +119 -0
- package/dist/installer/commands/v5-migration.js.map +1 -0
- package/dist/installer/phases/framework-lifecycle.js +125 -0
- package/dist/installer/phases/framework-lifecycle.js.map +1 -0
- package/dist/installer/phases/install-config.js +160 -11
- package/dist/installer/phases/install-config.js.map +1 -1
- package/dist/installer/phases/manifest.js +29 -8
- package/dist/installer/phases/manifest.js.map +1 -1
- package/dist/installer/phases/prereqs.js +57 -3
- package/dist/installer/phases/prereqs.js.map +1 -1
- package/dist/installer/phases/provider-detect.js +116 -6
- package/dist/installer/phases/provider-detect.js.map +1 -1
- package/dist/installer/phases/scaffold.js +1217 -117
- package/dist/installer/phases/scaffold.js.map +1 -1
- package/dist/installer/runtime/kimi.js +255 -0
- package/dist/installer/runtime/kimi.js.map +1 -0
- package/dist/installer/util/paths.js +12 -0
- package/dist/installer/util/paths.js.map +1 -1
- package/dist/installer/util/registry.js +234 -14
- package/dist/installer/util/registry.js.map +1 -1
- package/docs/README.md +1 -0
- package/docs/deployment.md +6 -7
- package/docs/getting-started.md +11 -7
- package/docs/installation.md +34 -16
- package/docs/plugin-architecture.md +11 -8
- package/docs/updating.md +21 -3
- package/docs/user-docs/cli-reference.md +43 -22
- package/docs/user-docs/codex-vs-claude-code.md +11 -9
- package/docs/user-docs/faq.md +1 -1
- package/docs/user-docs/getting-started-codex.md +5 -8
- package/docs/user-docs/getting-started-kimi.md +423 -0
- package/docs/user-docs/installation.md +49 -14
- package/docs/user-docs/quick-start.md +11 -8
- package/docs/windows.md +29 -4
- package/integration-contract.json +85 -13
- package/package.json +9 -5
- package/schemas/profile.v1.json +68 -6
- package/templates/agents/sr-architect.md +30 -0
- package/templates/agents/sr-developer.md +21 -8
- package/templates/agents/sr-reviewer.md +44 -31
- package/templates/codex-skills/batch-implement/SKILL.md +9 -32
- package/templates/codex-skills/implement/SKILL.md +61 -143
- package/templates/codex-skills/rails/sr-architect/SKILL.md +38 -20
- package/templates/codex-skills/rails/sr-developer/SKILL.md +29 -10
- package/templates/codex-skills/rails/sr-reviewer/SKILL.md +21 -10
- package/templates/commands/specrails/doctor.md +1 -1
- package/templates/commands/specrails/implement.md +117 -288
- package/templates/commands/specrails/memory-inspect.md +6 -4
- package/templates/commands/specrails/propose-spec.md +1 -1
- package/templates/commands/specrails/refactor-recommender.md +8 -51
- package/templates/commands/specrails/retry.md +12 -48
- package/templates/commands/specrails/telemetry.md +1 -1
- package/templates/gemini-commands/implement.toml +9 -0
- package/templates/kimi/specrails/run-skill.mjs +3005 -0
- package/templates/kimi/specrails/vendor/js-yaml/LICENSE +21 -0
- package/templates/kimi/specrails/vendor/js-yaml/NOTICE.md +16 -0
- package/templates/kimi/specrails/vendor/js-yaml/js-yaml.mjs +3856 -0
- package/templates/profiles/default.json +5 -18
- package/templates/profiles/kimi-default.json +15 -0
- package/commands/enrich.md +0 -1456
- package/templates/agents/sr-backend-developer.md +0 -91
- package/templates/agents/sr-backend-reviewer.md +0 -152
- package/templates/agents/sr-doc-sync.md +0 -247
- package/templates/agents/sr-frontend-developer.md +0 -85
- package/templates/agents/sr-frontend-reviewer.md +0 -145
- package/templates/agents/sr-merge-resolver.md +0 -195
- package/templates/agents/sr-performance-reviewer.md +0 -186
- package/templates/agents/sr-product-analyst.md +0 -36
- package/templates/agents/sr-product-manager.md +0 -148
- package/templates/agents/sr-security-reviewer.md +0 -191
- package/templates/agents/sr-test-writer.md +0 -176
- package/templates/codex-skills/enrich/SKILL.md +0 -191
- package/templates/codex-skills/merge-resolve/SKILL.md +0 -88
- package/templates/codex-skills/rails/sr-backend-developer/SKILL.md +0 -93
- package/templates/codex-skills/rails/sr-backend-reviewer/SKILL.md +0 -120
- package/templates/codex-skills/rails/sr-doc-sync/SKILL.md +0 -124
- package/templates/codex-skills/rails/sr-frontend-developer/SKILL.md +0 -106
- package/templates/codex-skills/rails/sr-frontend-reviewer/SKILL.md +0 -111
- package/templates/codex-skills/rails/sr-merge-resolver/SKILL.md +0 -156
- package/templates/codex-skills/rails/sr-performance-reviewer/SKILL.md +0 -109
- package/templates/codex-skills/rails/sr-product-analyst/SKILL.md +0 -85
- package/templates/codex-skills/rails/sr-product-manager/SKILL.md +0 -131
- package/templates/codex-skills/rails/sr-security-reviewer/SKILL.md +0 -121
- package/templates/codex-skills/rails/sr-test-writer/SKILL.md +0 -115
- package/templates/commands/specrails/auto-propose-backlog-specs.md +0 -312
- package/templates/commands/specrails/enrich.md +0 -1456
- package/templates/commands/specrails/get-backlog-specs.md +0 -226
- package/templates/commands/specrails/merge-resolve.md +0 -172
- package/templates/commands/specrails/reconfig.md +0 -80
- package/templates/commands/specrails/vpc-drift.md +0 -405
- package/templates/commands/test.md +0 -58
- package/templates/personas/persona.md +0 -43
- package/templates/personas/the-maintainer.md +0 -98
- package/templates/settings/perf-thresholds.yml +0 -25
package/README.md
CHANGED
|
@@ -4,21 +4,19 @@
|
|
|
4
4
|
[](https://github.com/fjpulidop/specrails-core)
|
|
5
5
|
[](https://opensource.org/licenses/MIT)
|
|
6
6
|
[](https://www.npmjs.com/package/specrails-core)
|
|
7
|
-
[-lightgrey)](https://github.com/openai/codex)
|
|
7
|
+
[](#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
|
|
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:**
|
|
20
|
-
>
|
|
21
|
-
>
|
|
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
|
-
|
|
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
|
-
|
|
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/` |
|
|
71
|
-
| **Commands** | `.claude/commands/specrails/` |
|
|
72
|
-
| **
|
|
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
|
-
|
|
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
|
-
|
|
|
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
|
|
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-
|
|
111
|
-
|
|
112
|
-
|
|
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:
|
|
165
|
+
### `/specrails:retry` — Resume a failed pipeline
|
|
167
166
|
|
|
168
167
|
```bash
|
|
169
|
-
/specrails:
|
|
170
|
-
/specrails:
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
##
|
|
260
|
+
## Migrating from v4
|
|
270
261
|
|
|
271
|
-
|
|
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
|
-
|
|
276
|
-
|
|
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
|
-
|
|
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
|
-
| **
|
|
291
|
-
| **
|
|
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
|
|
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
|
|
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. **
|
|
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. **
|
|
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
|
|
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
|
-
**
|
|
330
|
-
Run
|
|
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
|
-
|
|
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.
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
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
|
|