specrails-core 5.6.0 → 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.
- package/README.md +27 -145
- package/bin/specrails-core.mjs +12 -554
- package/dist/agent-runtime/capabilities.js +0 -1
- package/dist/agent-runtime/cli-executor.d.ts +1 -1
- package/dist/agent-runtime/cli-executor.js +1 -2
- package/dist/agent-runtime/cli-process.js +0 -1
- package/dist/agent-runtime/cli.js +3 -4
- package/dist/agent-runtime/codex-schema.js +0 -1
- package/dist/agent-runtime/compact/architect.d.ts +3 -272
- package/dist/agent-runtime/compact/architect.js +8 -9
- package/dist/agent-runtime/compact/chat-client.d.ts +3 -3
- package/dist/agent-runtime/compact/chat-client.js +1 -2
- package/dist/agent-runtime/compact/developer.d.ts +3 -70
- package/dist/agent-runtime/compact/developer.js +13 -14
- package/dist/agent-runtime/compact/environment.d.ts +4 -5
- package/dist/agent-runtime/compact/environment.js +1 -2
- package/dist/agent-runtime/compact/exit-code-honesty.d.ts +2 -1
- package/dist/agent-runtime/compact/exit-code-honesty.js +0 -1
- package/dist/agent-runtime/compact/guarded-loop.d.ts +2 -18
- package/dist/agent-runtime/compact/guarded-loop.js +7 -8
- package/dist/agent-runtime/compact/prompt-inputs.d.ts +0 -2
- package/dist/agent-runtime/compact/prompt-inputs.js +1 -2
- package/dist/agent-runtime/compact/reviewer.d.ts +0 -13
- package/dist/agent-runtime/compact/reviewer.js +5 -6
- package/dist/agent-runtime/compact/step.d.ts +0 -1
- package/dist/agent-runtime/compact/step.js +1 -2
- package/dist/agent-runtime/compact/test-reachability.js +0 -1
- package/dist/agent-runtime/config.js +0 -1
- package/dist/agent-runtime/core-host.d.ts +1 -1
- package/dist/agent-runtime/core-host.js +1 -2
- package/dist/agent-runtime/durable-store.d.ts +0 -1
- package/dist/agent-runtime/durable-store.js +1 -2
- package/dist/agent-runtime/efficiency-summary.d.ts +2 -2
- package/dist/agent-runtime/efficiency-summary.js +1 -2
- package/dist/agent-runtime/efficiency-types.js +0 -1
- package/dist/agent-runtime/efficiency.js +0 -1
- package/dist/agent-runtime/evaluation-corpus.js +0 -1
- package/dist/agent-runtime/evaluation.d.ts +2 -1
- package/dist/agent-runtime/evaluation.js +1 -2
- package/dist/agent-runtime/executor-types.d.ts +1 -1
- package/dist/agent-runtime/executor-types.js +0 -1
- package/dist/agent-runtime/executors.js +0 -1
- package/dist/agent-runtime/gemini-policy.js +0 -1
- package/dist/agent-runtime/graph/artifacts.d.ts +1 -1
- package/dist/agent-runtime/graph/artifacts.js +1 -2
- package/dist/agent-runtime/graph/nodes.d.ts +1 -1
- package/dist/agent-runtime/graph/nodes.js +1 -2
- package/dist/agent-runtime/graph/review-policy.js +0 -1
- package/dist/agent-runtime/graph/roles.d.ts +2 -5
- package/dist/agent-runtime/graph/roles.js +2 -8
- package/dist/agent-runtime/graph/state.d.ts +1 -1
- package/dist/agent-runtime/graph/state.js +0 -1
- package/dist/agent-runtime/graph-checkpointer.d.ts +2 -1
- package/dist/agent-runtime/graph-checkpointer.js +0 -1
- package/dist/agent-runtime/guardrails.d.ts +3 -3
- package/dist/agent-runtime/guardrails.js +1 -2
- package/dist/agent-runtime/index.d.ts +1 -1
- package/dist/agent-runtime/index.js +1 -2
- package/dist/agent-runtime/kimi-acp.js +1 -2
- package/dist/agent-runtime/kimi-model.d.ts +6 -0
- package/dist/agent-runtime/kimi-model.js +12 -0
- package/dist/agent-runtime/openai-executor.d.ts +0 -9
- package/dist/agent-runtime/openai-executor.js +6 -7
- package/dist/agent-runtime/openspec-tool-server.js +1 -2
- package/dist/agent-runtime/openspec.d.ts +0 -2
- package/dist/agent-runtime/openspec.js +1 -6
- package/dist/agent-runtime/prompts.d.ts +4 -3
- package/dist/agent-runtime/prompts.js +0 -1
- package/dist/agent-runtime/provider-diagnostic.js +1 -2
- package/dist/agent-runtime/recovery.js +1 -2
- package/dist/agent-runtime/repository-context.d.ts +1 -1
- package/dist/agent-runtime/repository-context.js +0 -1
- package/dist/agent-runtime/review-context.d.ts +1 -1
- package/dist/agent-runtime/review-context.js +0 -1
- package/dist/agent-runtime/role-routing.js +0 -1
- package/dist/agent-runtime/role-state.js +0 -1
- package/dist/agent-runtime/runtime-identity.js +1 -2
- package/dist/agent-runtime/tool-event.js +0 -1
- package/dist/agent-runtime/verification-plan.d.ts +5 -4
- package/dist/agent-runtime/verification-plan.js +1 -2
- package/dist/agent-runtime/workflow-types.js +0 -1
- package/dist/agent-runtime/workflow.js +0 -1
- package/dist/agent-runtime/workspace-tools.d.ts +2 -2
- package/dist/agent-runtime/workspace-tools.js +1 -2
- package/dist/installer/cli.d.ts +3 -32
- package/dist/installer/cli.js +26 -101
- package/dist/installer/commands/framework.d.ts +4 -3
- package/dist/installer/commands/framework.js +0 -1
- package/dist/installer/commands/init.d.ts +4 -25
- package/dist/installer/commands/init.js +5 -8
- package/dist/installer/phases/framework-lifecycle.d.ts +3 -17
- package/dist/installer/phases/framework-lifecycle.js +2 -3
- package/dist/installer/phases/install-config.d.ts +7 -8
- package/dist/installer/phases/install-config.js +2 -7
- package/dist/installer/phases/manifest.d.ts +6 -7
- package/dist/installer/phases/manifest.js +2 -7
- package/dist/installer/phases/prereqs.d.ts +6 -7
- package/dist/installer/phases/prereqs.js +4 -6
- package/dist/installer/phases/provider-detect.d.ts +6 -7
- package/dist/installer/phases/provider-detect.js +2 -4
- package/dist/installer/phases/scaffold.d.ts +9 -10
- package/dist/installer/phases/scaffold.js +82 -805
- package/dist/installer/util/errors.js +0 -1
- package/dist/installer/util/exec.d.ts +3 -2
- package/dist/installer/util/exec.js +0 -1
- package/dist/installer/util/fs.d.ts +0 -10
- package/dist/installer/util/fs.js +1 -2
- package/dist/installer/util/git.js +0 -1
- package/dist/installer/util/install-transaction.d.ts +2 -2
- package/dist/installer/util/install-transaction.js +1 -2
- package/dist/installer/util/logger.d.ts +1 -3
- package/dist/installer/util/logger.js +0 -1
- package/dist/installer/util/paths.js +0 -1
- package/dist/installer/util/registry.d.ts +4 -8
- package/dist/installer/util/registry.js +2 -3
- package/dist/{installer/runtime → pipeline}/pipeline-state.js +0 -3
- package/dist/shared/args.d.ts +18 -0
- package/dist/shared/args.js +53 -0
- package/integration-contract.json +10 -46
- package/package.json +3 -10
- package/templates/agents/sr-architect.md +15 -310
- package/templates/agents/sr-developer.md +15 -269
- package/templates/agents/sr-reviewer.md +13 -367
- package/templates/codex-skills/rails/sr-architect/SKILL.md +14 -308
- package/templates/codex-skills/rails/sr-developer/SKILL.md +14 -201
- package/templates/codex-skills/rails/sr-reviewer/SKILL.md +15 -289
- package/templates/kimi/specrails/run-skill.mjs +91 -2173
- package/bin/tui-installer.mjs +0 -430
- package/commands/doctor.md +0 -62
- package/dist/agent-runtime/capabilities.js.map +0 -1
- package/dist/agent-runtime/cli-executor.js.map +0 -1
- package/dist/agent-runtime/cli-process.js.map +0 -1
- package/dist/agent-runtime/cli.js.map +0 -1
- package/dist/agent-runtime/codex-schema.js.map +0 -1
- package/dist/agent-runtime/compact/architect.js.map +0 -1
- package/dist/agent-runtime/compact/chat-client.js.map +0 -1
- package/dist/agent-runtime/compact/developer.js.map +0 -1
- package/dist/agent-runtime/compact/environment.js.map +0 -1
- package/dist/agent-runtime/compact/exit-code-honesty.js.map +0 -1
- package/dist/agent-runtime/compact/guarded-loop.js.map +0 -1
- package/dist/agent-runtime/compact/prompt-inputs.js.map +0 -1
- package/dist/agent-runtime/compact/reviewer.js.map +0 -1
- package/dist/agent-runtime/compact/step.js.map +0 -1
- package/dist/agent-runtime/compact/test-reachability.js.map +0 -1
- package/dist/agent-runtime/config.js.map +0 -1
- package/dist/agent-runtime/core-host.js.map +0 -1
- package/dist/agent-runtime/durable-store.js.map +0 -1
- package/dist/agent-runtime/efficiency-summary.js.map +0 -1
- package/dist/agent-runtime/efficiency-types.js.map +0 -1
- package/dist/agent-runtime/efficiency.js.map +0 -1
- package/dist/agent-runtime/evaluation-corpus.js.map +0 -1
- package/dist/agent-runtime/evaluation.js.map +0 -1
- package/dist/agent-runtime/executor-types.js.map +0 -1
- package/dist/agent-runtime/executors.js.map +0 -1
- package/dist/agent-runtime/gemini-policy.js.map +0 -1
- package/dist/agent-runtime/graph/artifacts.js.map +0 -1
- package/dist/agent-runtime/graph/nodes.js.map +0 -1
- package/dist/agent-runtime/graph/review-policy.js.map +0 -1
- package/dist/agent-runtime/graph/roles.js.map +0 -1
- package/dist/agent-runtime/graph/state.js.map +0 -1
- package/dist/agent-runtime/graph-checkpointer.js.map +0 -1
- package/dist/agent-runtime/guardrails.js.map +0 -1
- package/dist/agent-runtime/index.js.map +0 -1
- package/dist/agent-runtime/kimi-acp.js.map +0 -1
- package/dist/agent-runtime/openai-executor.js.map +0 -1
- package/dist/agent-runtime/openspec-tool-server.js.map +0 -1
- package/dist/agent-runtime/openspec.js.map +0 -1
- package/dist/agent-runtime/prompts.js.map +0 -1
- package/dist/agent-runtime/provider-diagnostic.js.map +0 -1
- package/dist/agent-runtime/recovery.js.map +0 -1
- package/dist/agent-runtime/repository-context.js.map +0 -1
- package/dist/agent-runtime/review-context.js.map +0 -1
- package/dist/agent-runtime/role-routing.js.map +0 -1
- package/dist/agent-runtime/role-state.js.map +0 -1
- package/dist/agent-runtime/runtime-identity.js.map +0 -1
- package/dist/agent-runtime/tool-event.js.map +0 -1
- package/dist/agent-runtime/verification-plan.js.map +0 -1
- package/dist/agent-runtime/workflow-types.js.map +0 -1
- package/dist/agent-runtime/workflow.js.map +0 -1
- package/dist/agent-runtime/workspace-tools.js.map +0 -1
- package/dist/installer/cli.js.map +0 -1
- package/dist/installer/commands/doctor.d.ts +0 -27
- package/dist/installer/commands/doctor.js +0 -615
- package/dist/installer/commands/doctor.js.map +0 -1
- package/dist/installer/commands/framework.js.map +0 -1
- package/dist/installer/commands/init.js.map +0 -1
- package/dist/installer/commands/update.d.ts +0 -56
- package/dist/installer/commands/update.js +0 -257
- package/dist/installer/commands/update.js.map +0 -1
- package/dist/installer/commands/v5-migration.d.ts +0 -32
- package/dist/installer/commands/v5-migration.js +0 -133
- package/dist/installer/commands/v5-migration.js.map +0 -1
- package/dist/installer/phases/framework-lifecycle.js.map +0 -1
- package/dist/installer/phases/install-config.js.map +0 -1
- package/dist/installer/phases/manifest.js.map +0 -1
- package/dist/installer/phases/prereqs.js.map +0 -1
- package/dist/installer/phases/provider-detect.js.map +0 -1
- package/dist/installer/phases/scaffold.js.map +0 -1
- package/dist/installer/runtime/kimi.d.ts +0 -84
- package/dist/installer/runtime/kimi.js +0 -255
- package/dist/installer/runtime/kimi.js.map +0 -1
- package/dist/installer/runtime/pipeline-state.js.map +0 -1
- package/dist/installer/util/errors.js.map +0 -1
- package/dist/installer/util/exec.js.map +0 -1
- package/dist/installer/util/fs.js.map +0 -1
- package/dist/installer/util/git.js.map +0 -1
- package/dist/installer/util/install-transaction.js.map +0 -1
- package/dist/installer/util/logger.js.map +0 -1
- package/dist/installer/util/paths.js.map +0 -1
- package/dist/installer/util/prompts.d.ts +0 -23
- package/dist/installer/util/prompts.js +0 -49
- package/dist/installer/util/prompts.js.map +0 -1
- package/dist/installer/util/registry.js.map +0 -1
- package/dist/installer/util/template.d.ts +0 -23
- package/dist/installer/util/template.js +0 -60
- package/dist/installer/util/template.js.map +0 -1
- package/docs/README.md +0 -40
- package/docs/agent-runtime-efficiency.md +0 -65
- package/docs/agent-runtime.md +0 -393
- package/docs/agents.md +0 -315
- package/docs/changelog.md +0 -168
- package/docs/ci-cd.md +0 -60
- package/docs/concepts.md +0 -183
- package/docs/customization.md +0 -363
- package/docs/deployment.md +0 -234
- package/docs/getting-started.md +0 -122
- package/docs/installation.md +0 -395
- package/docs/local-tickets.md +0 -191
- package/docs/migration-guide.md +0 -140
- package/docs/playbook-oss-maintainer.md +0 -112
- package/docs/playbook-parallel-dev.md +0 -124
- package/docs/playbook-product-discovery.md +0 -115
- package/docs/plugin-architecture.md +0 -144
- package/docs/research/codex-compatibility-analysis.md +0 -365
- package/docs/research/mcp-feasibility-analysis.md +0 -382
- package/docs/testing/test-matrix-codex.md +0 -130
- package/docs/updating.md +0 -89
- package/docs/user-docs/cli-reference.md +0 -428
- package/docs/user-docs/codex-vs-claude-code.md +0 -23
- package/docs/user-docs/core-updates.md +0 -70
- package/docs/user-docs/faq.md +0 -146
- package/docs/user-docs/getting-started-codex.md +0 -194
- package/docs/user-docs/getting-started-kimi.md +0 -423
- package/docs/user-docs/installation.md +0 -237
- package/docs/user-docs/provider-pipelines.md +0 -96
- package/docs/user-docs/quick-start.md +0 -161
- package/docs/windows.md +0 -78
- package/docs/workflows.md +0 -463
- package/schemas/profile.v1.json +0 -207
- package/templates/claude-md/CLAUDE-quickstart.md +0 -54
- package/templates/claude-md/root.md +0 -50
- package/templates/codex-skills/batch-implement/SKILL.md +0 -38
- package/templates/codex-skills/implement/SKILL.md +0 -38
- package/templates/codex-skills/retry/SKILL.md +0 -16
- package/templates/commands/specrails/compat-check.md +0 -271
- package/templates/commands/specrails/doctor.md +0 -62
- package/templates/commands/specrails/explore-spec.md +0 -173
- package/templates/commands/specrails/health-check.md +0 -527
- package/templates/commands/specrails/memory-inspect.md +0 -261
- package/templates/commands/specrails/opsx-diff.md +0 -419
- package/templates/commands/specrails/propose-spec.md +0 -102
- package/templates/commands/specrails/refactor-recommender.md +0 -169
- package/templates/commands/specrails/telemetry.md +0 -553
- package/templates/commands/specrails/why.md +0 -96
- package/templates/gemini-commands/batch-implement.toml +0 -37
- package/templates/gemini-commands/implement.toml +0 -37
- package/templates/gemini-commands/retry.toml +0 -15
- package/templates/profiles/default.json +0 -14
- package/templates/profiles/kimi-default.json +0 -15
- package/templates/rules/layer.md +0 -8
- package/templates/runtime/provider-pipeline.md +0 -113
- package/templates/security/security-exemptions.yaml +0 -20
- package/templates/settings/confidence-config.json +0 -17
- package/templates/settings/settings.json +0 -15
- /package/dist/{installer/runtime → pipeline}/pipeline-state.d.ts +0 -0
|
@@ -1,237 +0,0 @@
|
|
|
1
|
-
# Installation
|
|
2
|
-
|
|
3
|
-
Install SpecRails into any git repository in two steps: install, then run the
|
|
4
|
-
provider-native enrich workflow. The scaffold supports Claude Code, Codex CLI,
|
|
5
|
-
Gemini CLI, and Kimi Code.
|
|
6
|
-
|
|
7
|
-
> **Looking for the comprehensive reference?** See [Installation & Setup](../installation.md) for full wizard phase details and advanced configuration.
|
|
8
|
-
|
|
9
|
-
## Requirements
|
|
10
|
-
|
|
11
|
-
### Plugin method (recommended)
|
|
12
|
-
|
|
13
|
-
| Tool | Version | Notes |
|
|
14
|
-
|------|---------|-------|
|
|
15
|
-
| **Claude Code** | Latest | [install guide](https://docs.anthropic.com/en/docs/claude-code) |
|
|
16
|
-
| **Git** | Any | Your project must be a git repository |
|
|
17
|
-
|
|
18
|
-
No Node.js required.
|
|
19
|
-
|
|
20
|
-
### Scaffold method (npx / any provider)
|
|
21
|
-
|
|
22
|
-
| Tool | Version | Notes |
|
|
23
|
-
|------|---------|-------|
|
|
24
|
-
| **Node.js** | 20.19.0+ | Required for the installer and pinned OpenSpec 1.4.1 CLI |
|
|
25
|
-
| **Supported AI CLI** | Latest compatible version | Claude Code, Codex, Gemini, or Kimi 0.27.0+ |
|
|
26
|
-
| **Git** | Any | Your project must be a git repository |
|
|
27
|
-
|
|
28
|
-
Optional but recommended (both methods):
|
|
29
|
-
|
|
30
|
-
| Tool | Why |
|
|
31
|
-
|------|-----|
|
|
32
|
-
| **GitHub CLI** (`gh`) | Automatic PR creation and Issue integration |
|
|
33
|
-
|
|
34
|
-
## Install
|
|
35
|
-
|
|
36
|
-
### Plugin method (Claude Code)
|
|
37
|
-
|
|
38
|
-
```bash
|
|
39
|
-
claude plugin install sr
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
No cloning, no npm, nothing else. The plugin is now ready in all your Claude Code sessions.
|
|
43
|
-
|
|
44
|
-
To update later: `claude plugin update sr`
|
|
45
|
-
|
|
46
|
-
### Scaffold method (Claude, Codex, Gemini, or Kimi)
|
|
47
|
-
|
|
48
|
-
Run from inside your project directory:
|
|
49
|
-
|
|
50
|
-
```bash
|
|
51
|
-
cd your-project
|
|
52
|
-
npx specrails-core@latest init --root-dir .
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
The installer copies provider-native artifacts into `.claude/`, `.codex/`,
|
|
56
|
-
`.gemini/`, or `.kimi-code/`. It does not modify your application source.
|
|
57
|
-
|
|
58
|
-
#### Flags
|
|
59
|
-
|
|
60
|
-
| Flag | Effect |
|
|
61
|
-
|------|--------|
|
|
62
|
-
| `--root-dir <path>` | Target directory (default: current directory) |
|
|
63
|
-
| `--yes` / `-y` | Skip confirmation prompts |
|
|
64
|
-
| `--provider <claude\|codex\|gemini\|kimi>` | Force a specific AI CLI (default: auto-detect) |
|
|
65
|
-
|
|
66
|
-
#### What gets installed (scaffold method)
|
|
67
|
-
|
|
68
|
-
**Claude Code:**
|
|
69
|
-
|
|
70
|
-
```
|
|
71
|
-
your-project/
|
|
72
|
-
└── .claude/
|
|
73
|
-
├── commands/specrails/enrich.md # The /specrails:enrich wizard
|
|
74
|
-
├── skills/ # Workflow skills (/specrails:*, /opsx:*)
|
|
75
|
-
├── agents/ # Agent definitions
|
|
76
|
-
├── rules/ # Per-layer coding conventions
|
|
77
|
-
└── settings.json # Permissions
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
**Kimi Code:**
|
|
81
|
-
|
|
82
|
-
```text
|
|
83
|
-
your-project/
|
|
84
|
-
└── .kimi-code/
|
|
85
|
-
├── AGENTS.md
|
|
86
|
-
├── mcp.json
|
|
87
|
-
├── personas/
|
|
88
|
-
├── rules/
|
|
89
|
-
├── specrails/
|
|
90
|
-
│ ├── run-skill.mjs
|
|
91
|
-
│ └── vendor/js-yaml/ # Managed parser + MIT license/provenance
|
|
92
|
-
└── skills/
|
|
93
|
-
├── specrails-*/SKILL.md
|
|
94
|
-
├── openspec-*/SKILL.md
|
|
95
|
-
└── sr-*/SKILL.md
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
Kimi discovers only direct children of `.kimi-code/skills`, so workflows,
|
|
99
|
-
OpenSpec skills, managed `sr-*` roles, and user `custom-*` roles all live at
|
|
100
|
-
that level rather than inside a `rails/` grouping directory. Non-skill persona
|
|
101
|
-
data and the managed headless runner live outside the scanner root.
|
|
102
|
-
|
|
103
|
-
See [Getting Started with Kimi](getting-started-kimi.md) for installation,
|
|
104
|
-
login, models, effort, sessions, and headless execution details.
|
|
105
|
-
|
|
106
|
-
**Codex (beta):**
|
|
107
|
-
|
|
108
|
-
```text
|
|
109
|
-
your-project/
|
|
110
|
-
├── AGENTS.md # SpecRails agent instructions for Codex
|
|
111
|
-
└── .codex/
|
|
112
|
-
├── skills/ # Workflow skills (/specrails:*, /opsx:*)
|
|
113
|
-
├── agents/ # Agent definitions (TOML)
|
|
114
|
-
├── rules/ # Per-layer coding conventions
|
|
115
|
-
└── config.toml # Permissions
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
The installer also writes `.specrails/specrails-version` and `.specrails/specrails-manifest.json` to track the installed version.
|
|
119
|
-
|
|
120
|
-
## Configure with /specrails:enrich
|
|
121
|
-
|
|
122
|
-
After either installation method, open your AI CLI in your project and run:
|
|
123
|
-
|
|
124
|
-
```bash
|
|
125
|
-
claude # Claude Code
|
|
126
|
-
# or
|
|
127
|
-
codex # Codex
|
|
128
|
-
# or
|
|
129
|
-
gemini # Gemini CLI
|
|
130
|
-
# or
|
|
131
|
-
kimi # Kimi Code
|
|
132
|
-
```
|
|
133
|
-
|
|
134
|
-
Claude and Gemini:
|
|
135
|
-
|
|
136
|
-
```
|
|
137
|
-
/specrails:enrich
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
Kimi:
|
|
141
|
-
|
|
142
|
-
```text
|
|
143
|
-
/skill:specrails-enrich
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
By default, `/specrails:enrich` runs the full 5-phase wizard:
|
|
147
|
-
|
|
148
|
-
| Phase | What happens |
|
|
149
|
-
|-------|-------------|
|
|
150
|
-
| **1. Analyze** | Detects your tech stack, architecture layers, and CI commands |
|
|
151
|
-
| **2. Personas** | Researches your domain and generates VPC user profiles |
|
|
152
|
-
| **3. Configure** | Asks about your backlog provider, git workflow, and agent selection |
|
|
153
|
-
| **4. Generate** | Generates project data files (`.specrails/` or `.claude/`) with your context |
|
|
154
|
-
| **5. Cleanup** | Removes setup scaffolding, leaving only your tailored workflow |
|
|
155
|
-
|
|
156
|
-
**In a hurry?** Run `/specrails:enrich --quick` instead — three questions, sensible defaults, done in under a minute.
|
|
157
|
-
|
|
158
|
-
**Already ran the TUI installer?** If you used `npx specrails-core@latest init` and completed the TUI agent selection, run `/specrails:enrich --from-config` to apply your saved configuration without re-answering the prompts.
|
|
159
|
-
|
|
160
|
-
## Verify
|
|
161
|
-
|
|
162
|
-
Check that everything installed correctly:
|
|
163
|
-
|
|
164
|
-
```bash
|
|
165
|
-
# Plugin method: check project data was generated
|
|
166
|
-
ls .specrails/
|
|
167
|
-
|
|
168
|
-
# Scaffold method: list generated agents
|
|
169
|
-
ls .claude/agents/
|
|
170
|
-
|
|
171
|
-
# Scaffold method: check for unresolved placeholders (should return nothing)
|
|
172
|
-
grep -r '{{[A-Z_]*}}' .claude/agents/ .claude/commands/ .claude/rules/
|
|
173
|
-
|
|
174
|
-
# Scaffold method: check the installed version
|
|
175
|
-
cat .specrails/specrails-version
|
|
176
|
-
```
|
|
177
|
-
|
|
178
|
-
## Troubleshooting
|
|
179
|
-
|
|
180
|
-
### "This appears to be the specrails source repository"
|
|
181
|
-
|
|
182
|
-
You ran the installer from inside the SpecRails source repo. Run it from your target project instead:
|
|
183
|
-
|
|
184
|
-
```bash
|
|
185
|
-
cd /path/to/your-project
|
|
186
|
-
npx specrails-core@latest init --root-dir .
|
|
187
|
-
```
|
|
188
|
-
|
|
189
|
-
### Existing `.claude/` directory detected
|
|
190
|
-
|
|
191
|
-
The installer warns if SpecRails artifacts already exist. You can merge (install alongside existing files) or abort to review manually.
|
|
192
|
-
|
|
193
|
-
### Placeholders not resolved
|
|
194
|
-
|
|
195
|
-
If you see `{{PLACEHOLDER}}` in generated files (scaffold method), the `/specrails:enrich` wizard did not complete. Re-run `/specrails:enrich` or fill the values manually.
|
|
196
|
-
|
|
197
|
-
### "No Claude API key configured"
|
|
198
|
-
|
|
199
|
-
Claude Code supports two authentication modes:
|
|
200
|
-
|
|
201
|
-
- **OAuth** — the default for new installs (`claude auth login`). No API key appears in `claude config`.
|
|
202
|
-
- **API key** — explicit key set via `claude config set api_key <key>` or `ANTHROPIC_API_KEY`.
|
|
203
|
-
|
|
204
|
-
If you authenticated via OAuth, the installer's prerequisite check still fails even though Claude Code is working. Bypass it with:
|
|
205
|
-
|
|
206
|
-
```bash
|
|
207
|
-
SPECRAILS_SKIP_PREREQS=1 npx specrails-core@latest init --root-dir .
|
|
208
|
-
```
|
|
209
|
-
|
|
210
|
-
Or set an API key explicitly if you prefer:
|
|
211
|
-
|
|
212
|
-
```bash
|
|
213
|
-
export ANTHROPIC_API_KEY=sk-ant-...
|
|
214
|
-
npx specrails-core@latest init --root-dir .
|
|
215
|
-
```
|
|
216
|
-
|
|
217
|
-
### Claude Code not found
|
|
218
|
-
|
|
219
|
-
Install Claude Code following [Anthropic's guide](https://docs.anthropic.com/en/docs/claude-code), then re-run the installer.
|
|
220
|
-
|
|
221
|
-
### Codex CLI not found
|
|
222
|
-
|
|
223
|
-
Install Codex CLI and re-run:
|
|
224
|
-
|
|
225
|
-
```bash
|
|
226
|
-
npm i -g @openai/codex
|
|
227
|
-
```
|
|
228
|
-
|
|
229
|
-
Or force the provider if Codex is installed at a non-standard path:
|
|
230
|
-
|
|
231
|
-
```bash
|
|
232
|
-
npx specrails-core@latest init --root-dir . --provider codex
|
|
233
|
-
```
|
|
234
|
-
|
|
235
|
-
---
|
|
236
|
-
|
|
237
|
-
[← Getting Started](../getting-started.md) · [Quick Start →](quick-start.md) · [Getting Started (Codex) →](getting-started-codex.md) · [CLI Reference →](cli-reference.md)
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
# Provider pipeline contracts
|
|
2
|
-
|
|
3
|
-
Core installs a local, self-contained Node helper at
|
|
4
|
-
`.specrails/runtime/pipeline.mjs`. It uses no global Core lookup or network download.
|
|
5
|
-
The shared contract is embedded in the installed Claude, Codex, Gemini and Kimi workflows.
|
|
6
|
-
`SPECRAILS_PIPELINE_RUNTIME` can explicitly identify that helper for a child process.
|
|
7
|
-
|
|
8
|
-
An absolute `SPECRAILS_EXECUTION_CONTEXT` JSON file supplies immutable specs, selected
|
|
9
|
-
repositories, OpenSpec artifactRoot, backlogRoot (the workspace containing
|
|
10
|
-
`.specrails/local-tickets.json`), optional backlogPath, and host/core ownership.
|
|
11
|
-
Batch uses one aggregate OpenSpec change and journal; task groups retain ticket and
|
|
12
|
-
repository identity. Final verification and semantic review cover the whole batch.
|
|
13
|
-
|
|
14
|
-
Standalone invocation admits ticket IDs with `init --tickets "17,18"` or a structured
|
|
15
|
-
`--scope-request` for free-form specs. Reuse the generated context on retry; explicit
|
|
16
|
-
host context always takes precedence. Core-owned delivery requires explicit ownership.
|
|
17
|
-
|
|
18
|
-
Use the helper's init/status/phase/verify/archive-check operations. Status identifies
|
|
19
|
-
the first invalid phase. Retry reuses valid earlier work; blocked remains retriable.
|
|
20
|
-
Explicit role handoffs contain frozen criteria and exact paths, not a promise that
|
|
21
|
-
another provider conversation retained memory. Archive-only execution preserves the
|
|
22
|
-
reviewed confidence file; the gate binds its exact bytes and the candidate.
|
|
23
|
-
|
|
24
|
-
## Gemini
|
|
25
|
-
|
|
26
|
-
OpenSpec is installed with an isolated complete workflow profile, then Gemini skills
|
|
27
|
-
are placed in the actual execution workspace. Updates preserve custom skill folders.
|
|
28
|
-
The adapter requires invoke_agent and role activate_skill availability. Turn limits
|
|
29
|
-
are capability-dependent: older loaders reject optional metadata. By default Core
|
|
30
|
-
omits it and uses progress-bound continuation handoffs. After verifying loader
|
|
31
|
-
support, an installer may set SPECRAILS_GEMINI_AGENT_LIMITS=supported and
|
|
32
|
-
SPECRAILS_GEMINI_MAX_TURNS (1–200, default 60). This does not confer native session
|
|
33
|
-
continuity; every reinvocation still receives an explicit checkpoint.
|
|
34
|
-
|
|
35
|
-
## Kimi
|
|
36
|
-
|
|
37
|
-
The managed runner preserves the absolute execution context, shared backlog path,
|
|
38
|
-
helper path and selected repository access across private role working directories.
|
|
39
|
-
SPECRAILS_BACKLOG_PATH is the exact ticket-file path; SPECRAILS_BACKLOG_ROOT is its
|
|
40
|
-
logical workspace. Host-owned contexts reject sibling worktree requests before any
|
|
41
|
-
role process starts. Role models remain exact profile values. Standalone managed
|
|
42
|
-
worktree manifests and their guarded merge/cleanup mechanism remain available.
|
|
43
|
-
|
|
44
|
-
## Validation limits
|
|
45
|
-
|
|
46
|
-
Local regression fixtures install the real provider artifacts and run the real
|
|
47
|
-
helper against temporary repositories, including failed gates, review retry,
|
|
48
|
-
archive authorization and unchanged frozen scope. Kimi process fixtures additionally
|
|
49
|
-
exercise private cwd, shared-backlog access and host worktree rejection. They do not
|
|
50
|
-
make paid model calls or claim identical behavior across every native CLI release.
|
|
51
|
-
|
|
52
|
-
See [Core installation and update consistency](core-updates.md) for version
|
|
53
|
-
selection, rollback and Desktop integration.
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
## Acceptance evidence and completion
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
After development, normal review MUST write `stateDir/acceptance.json` and run
|
|
60
|
-
`acceptance --request <absolute-path>` before `phase --phase reviewer --status done`.
|
|
61
|
-
The request is `{criteria: [...], checks: [...], findings: [...]}`:
|
|
62
|
-
- Each criterion has `specId` (string), `criterionIndex` (zero-based), `requirement`
|
|
63
|
-
(exact frozen text), `status` (`met`, `exception`, `blocked`, `pending`) and a
|
|
64
|
-
nonempty `evidence` array of concrete code/test/capture references and observations.
|
|
65
|
-
Cover every frozen acceptance criterion once. If a spec has no explicit criteria,
|
|
66
|
-
use its complete frozen description (or title if empty) at index 0.
|
|
67
|
-
- An `exception` MUST include `{reason, impact, material, acceptedBy, approvalEvidence}`.
|
|
68
|
-
`acceptedBy` is `reviewer`, `user`, or `host`. Material scope changes require actual
|
|
69
|
-
user/host authorization; do not invent approval or label material changes minor.
|
|
70
|
-
Previously authorized decisions need no new confirmation. Unresolved requirements
|
|
71
|
-
remain `blocked` or `pending`, never `met` through a rewritten interpretation.
|
|
72
|
-
- Each check has `{name, status, required, evidence, scope, limitations}`; status is
|
|
73
|
-
`passed`, `failed`, or `unavailable`. Include required and supplementary checks from
|
|
74
|
-
the design. Record the original required classification; never downgrade a failed
|
|
75
|
-
check to make the gate pass. For benchmarks state what is measured and excluded:
|
|
76
|
-
a Node microbenchmark does not establish browser Canvas/GPU/frame performance.
|
|
77
|
-
- `findings` lists concrete review conclusions, risks and resolutions; use an empty
|
|
78
|
-
array only when no findings remain. Numeric confidence cannot replace this report.
|
|
79
|
-
|
|
80
|
-
The runtime binds this evidence to frozen scope, source and design. Missing/stale
|
|
81
|
-
acceptance or unresolved requirements/required checks block review and archive.
|
|
82
|
-
Accepted exceptions and supplementary failures produce `with-exceptions` validation.
|
|
83
|
-
Replacing the report requires review and archive authorization again; a green command
|
|
84
|
-
receipt alone is insufficient. Evidence references and approval attribution remain
|
|
85
|
-
reviewer assertions, not independently authenticated proof of human approval.
|
|
86
|
-
|
|
87
|
-
Keep operational completion notes, check requests and reports in `stateDir` from
|
|
88
|
-
start to finish. Run scoped checks for repairs and one final full verification after
|
|
89
|
-
all edits. Reuse that full receipt while runtime status says it is valid and its
|
|
90
|
-
commands cover required checks. New prose/phase handoffs alone do not warrant reruns.
|
|
91
|
-
|
|
92
|
-
End with ONE concise summary from runtime `status.completion`: implementation,
|
|
93
|
-
validation (including exceptions), archive, delivery, and evidence references.
|
|
94
|
-
Host-owned delivery stays `pending-host`; do not call uncommitted files "landed".
|
|
95
|
-
Report phase durations/attempts from `status.phases`; report per-phase cost only when
|
|
96
|
-
provider telemetry attributes it, otherwise unavailable. Do not invent cost splits.
|
|
@@ -1,161 +0,0 @@
|
|
|
1
|
-
# Quick Start
|
|
2
|
-
|
|
3
|
-
Get SpecRails running in your project in under 10 minutes.
|
|
4
|
-
|
|
5
|
-
## Before you begin
|
|
6
|
-
|
|
7
|
-
You need:
|
|
8
|
-
- **One supported AI CLI** — Claude Code, Codex CLI, Gemini CLI, or Kimi Code
|
|
9
|
-
- **A git repository** — your project must have a `.git` directory
|
|
10
|
-
|
|
11
|
-
Optional:
|
|
12
|
-
- **GitHub CLI** (`gh`) — enables automatic PR creation
|
|
13
|
-
|
|
14
|
-
## Step 1: Install
|
|
15
|
-
|
|
16
|
-
### Plugin method (recommended — no Node.js required)
|
|
17
|
-
|
|
18
|
-
```bash
|
|
19
|
-
claude plugin install sr
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
### Scaffold method (all providers; requires Node.js)
|
|
23
|
-
|
|
24
|
-
```bash
|
|
25
|
-
npx specrails-core@latest init --root-dir .
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
Your existing code is not touched by either method.
|
|
29
|
-
|
|
30
|
-
## Step 2: Run the enrich wizard
|
|
31
|
-
|
|
32
|
-
Open the selected provider in your project. For example:
|
|
33
|
-
|
|
34
|
-
```bash
|
|
35
|
-
kimi
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
Then activate enrich using that provider's syntax:
|
|
39
|
-
|
|
40
|
-
```
|
|
41
|
-
/specrails:enrich # Claude or Gemini
|
|
42
|
-
/skill:specrails-enrich # Kimi interactive TUI
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
Codex activates the generated enrich skill from `.codex/skills/`. For provider
|
|
46
|
-
details and headless Kimi usage, see the [installation guide](installation.md)
|
|
47
|
-
and [Kimi guide](getting-started-kimi.md).
|
|
48
|
-
|
|
49
|
-
The wizard runs the full 5-phase setup (about 5 minutes). It analyzes your codebase and configures SpecRails for your specific project:
|
|
50
|
-
|
|
51
|
-
```
|
|
52
|
-
Phase 1/5 Analyzing codebase...
|
|
53
|
-
→ Detected: TypeScript, Express, PostgreSQL
|
|
54
|
-
→ Found 3 architecture layers
|
|
55
|
-
→ Identified CI commands: npm test, npm run lint
|
|
56
|
-
|
|
57
|
-
Phase 2/5 Generating user personas...
|
|
58
|
-
→ Researching your domain
|
|
59
|
-
→ Created 3 VPC profiles
|
|
60
|
-
|
|
61
|
-
Phase 3/5 Configuration...
|
|
62
|
-
→ Backlog provider: local
|
|
63
|
-
→ Git workflow: trunk-based
|
|
64
|
-
|
|
65
|
-
Phase 4/5 Generating files...
|
|
66
|
-
→ .specrails/config.yaml
|
|
67
|
-
→ .specrails/personas/ (3 VPC profiles)
|
|
68
|
-
→ .specrails/rules/ (per-layer conventions)
|
|
69
|
-
|
|
70
|
-
Phase 5/5 Cleanup complete.
|
|
71
|
-
|
|
72
|
-
✓ SpecRails is ready. Run /specrails:implement to start building.
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
**In a hurry?** Use `/specrails:enrich --quick` for a 3-question quick setup (under a minute). You can always run the full wizard later.
|
|
76
|
-
|
|
77
|
-
**Used the TUI installer?** If the `npx specrails-core@latest init` TUI already collected your agent and model choices, run `/specrails:enrich --from-config` to apply them automatically.
|
|
78
|
-
|
|
79
|
-
## Step 3: Implement your first feature
|
|
80
|
-
|
|
81
|
-
Pick something small. Either reference a GitHub Issue or describe it in plain text:
|
|
82
|
-
|
|
83
|
-
```
|
|
84
|
-
/specrails:implement #42
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
or:
|
|
88
|
-
|
|
89
|
-
```
|
|
90
|
-
/specrails:implement "add a health check endpoint to the API"
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
The pipeline runs automatically:
|
|
94
|
-
|
|
95
|
-
```
|
|
96
|
-
Phase 3a Architect designing...
|
|
97
|
-
→ Design: GET /health endpoint + middleware
|
|
98
|
-
→ Tasks: 3 steps
|
|
99
|
-
|
|
100
|
-
Phase 3b Developer implementing...
|
|
101
|
-
→ src/routes/health.ts (created)
|
|
102
|
-
→ src/middleware/health.ts (created)
|
|
103
|
-
→ src/app.ts (modified)
|
|
104
|
-
|
|
105
|
-
Phase 3c Test Writer generating...
|
|
106
|
-
→ tests/routes/health.test.ts (created)
|
|
107
|
-
→ 5 tests, all passing
|
|
108
|
-
|
|
109
|
-
Phase 3d Doc Sync updating...
|
|
110
|
-
→ CHANGELOG.md updated
|
|
111
|
-
|
|
112
|
-
Phase 4 Security Reviewer scanning...
|
|
113
|
-
→ No critical findings
|
|
114
|
-
|
|
115
|
-
Phase 4b Reviewer running CI...
|
|
116
|
-
→ ✓ lint ✓ typecheck ✓ tests
|
|
117
|
-
|
|
118
|
-
Phase 4b-conf Confidence: 91% — threshold met
|
|
119
|
-
|
|
120
|
-
PR #43 created: feat: add health check endpoint
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
One command. The PR is ready for human review.
|
|
124
|
-
|
|
125
|
-
## What's next?
|
|
126
|
-
|
|
127
|
-
**Explore the backlog:**
|
|
128
|
-
|
|
129
|
-
```
|
|
130
|
-
/specrails:get-backlog-specs
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
See your tickets ranked by persona fit and effort. The top 3 are safe to implement next. Uses local tickets by default.
|
|
134
|
-
|
|
135
|
-
**Generate new feature ideas:**
|
|
136
|
-
|
|
137
|
-
```
|
|
138
|
-
/specrails:auto-propose-backlog-specs
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
The Product Manager researches your competitive landscape and creates new tickets (local by default, or GitHub Issues if configured).
|
|
142
|
-
|
|
143
|
-
**Run multiple features in parallel:**
|
|
144
|
-
|
|
145
|
-
```
|
|
146
|
-
/specrails:implement #42, #43, #44
|
|
147
|
-
```
|
|
148
|
-
|
|
149
|
-
Each feature gets its own git worktree. Pipelines run concurrently and merge automatically.
|
|
150
|
-
|
|
151
|
-
**Ask why a decision was made:**
|
|
152
|
-
|
|
153
|
-
```
|
|
154
|
-
/specrails:why "why did we choose this database schema"
|
|
155
|
-
```
|
|
156
|
-
|
|
157
|
-
Agents record their reasoning as they work. `/specrails:why` searches those records in plain language.
|
|
158
|
-
|
|
159
|
-
---
|
|
160
|
-
|
|
161
|
-
[← Getting Started](../getting-started.md) · [← Installation](installation.md) · [CLI Reference →](cli-reference.md) · [FAQ →](faq.md)
|
package/docs/windows.md
DELETED
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
# Windows support
|
|
2
|
-
|
|
3
|
-
specrails-core runs natively on Windows 10 (1809+) and Windows 11, on both x64 and ARM64 (via the built-in x64 emulation layer). There is **no dependency on `bash`, `python3`, or any POSIX-only tooling** — the installer is pure Node.
|
|
4
|
-
|
|
5
|
-
## Requirements
|
|
6
|
-
|
|
7
|
-
- **Windows 10 1809+** or **Windows 11** (x64 or ARM64)
|
|
8
|
-
- **Node.js ≥ 20.19.0** — the minimum required by the pinned OpenSpec 1.4.1 CLI; install from [nodejs.org](https://nodejs.org/)
|
|
9
|
-
- **git ≥ 2.25** — install from [git-scm.com](https://git-scm.com/)
|
|
10
|
-
- One supported provider CLI: `claude.cmd`, `codex.cmd`, `gemini.cmd`, or
|
|
11
|
-
`kimi.cmd`
|
|
12
|
-
|
|
13
|
-
`npm install -g @anthropic-ai/claude-code` installs the Claude CLI as `claude.cmd` into your global npm bin (`%APPDATA%\npm\`). Make sure that directory is on your PATH so `where claude` resolves it.
|
|
14
|
-
|
|
15
|
-
For Kimi Code, use the official PowerShell installer:
|
|
16
|
-
|
|
17
|
-
```powershell
|
|
18
|
-
irm https://code.kimi.com/kimi-code/install.ps1 | iex
|
|
19
|
-
kimi login
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
Then verify `where kimi` and `kimi --version`. SpecRails does not install or
|
|
23
|
-
start Kimi Server. For headless skills, its managed Node runner resolves the
|
|
24
|
-
external Kimi executable from `PATH`. A native executable is spawned directly.
|
|
25
|
-
For a standard npm `kimi.cmd`/`kimi.bat` shim, the runner extracts Kimi's
|
|
26
|
-
JavaScript entry point and launches it with Node using `shell: false`; it never
|
|
27
|
-
passes user input through `cmd.exe`. A non-standard command shim fails closed.
|
|
28
|
-
The vendored YAML parser is plain ESM and introduces no native dependency.
|
|
29
|
-
|
|
30
|
-
Windows `CreateProcess` cannot carry SpecRails' largest materialized workflow
|
|
31
|
-
as an argv value. For the standard npm shim, a fixed Node bootstrap therefore
|
|
32
|
-
receives the full prompt over stdin, replaces only Core's fixed `-p` marker in
|
|
33
|
-
`process.argv`, and imports Kimi's official entry. Kimi prompt mode does not
|
|
34
|
-
need stdin after startup. The transported command line is capped at 30,000
|
|
35
|
-
UTF-16 code units. Native executables cannot use this npm-entry bootstrap and
|
|
36
|
-
fail with actionable guidance when their argv exceeds that budget.
|
|
37
|
-
|
|
38
|
-
## Install
|
|
39
|
-
|
|
40
|
-
From PowerShell or cmd.exe:
|
|
41
|
-
|
|
42
|
-
```powershell
|
|
43
|
-
cd C:\path\to\your\project
|
|
44
|
-
npx specrails-core@latest init
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
The installer:
|
|
48
|
-
- probes PATH with `where` (instead of the POSIX `which`),
|
|
49
|
-
- spawns provider and package-manager `.cmd` shims with the repository's safe
|
|
50
|
-
Windows process wrapper,
|
|
51
|
-
- writes all files with LF line endings regardless of `core.autocrlf` to keep the bundled templates portable.
|
|
52
|
-
|
|
53
|
-
## PowerShell execution policy
|
|
54
|
-
|
|
55
|
-
If `npm` errors with `npm.ps1 cannot be loaded because running scripts is disabled on this system`, relax the policy for your user:
|
|
56
|
-
|
|
57
|
-
```powershell
|
|
58
|
-
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
`RemoteSigned` is the MSFT-recommended minimum for dev tooling.
|
|
62
|
-
|
|
63
|
-
## Known limitations
|
|
64
|
-
|
|
65
|
-
- **PATH refresh after installing new tools.** Windows GUI shells (Explorer, launcher-started apps) do not re-read PATH until logout/login. If you install `claude.cmd` and launch specrails-desktop immediately, the desktop app's sidecar may not see it. Restart the app after changes to the Env Vars dialog, or launch from a fresh PowerShell.
|
|
66
|
-
- **CRLF checkouts.** If you clone specrails-core with `core.autocrlf=true`, the repo's `.gitattributes` forces LF on every text file at checkout so the Node installer writes byte-identical artefacts across platforms. Running `git add --renormalize .` once after cloning fixes any pre-existing CRLF contamination.
|
|
67
|
-
- **ARM64.** The x64 Node binary runs under Windows 11's native x64 emulation. All native dependencies we use (`better-sqlite3`, `node-pty`, etc.) resolve to their x64 prebuilts; performance hit is ~10-20% vs native ARM64 but fully functional.
|
|
68
|
-
|
|
69
|
-
## CI
|
|
70
|
-
|
|
71
|
-
The specrails-core GitHub Actions workflow runs the vitest suite on `windows-latest` in a matrix with `ubuntu-latest` and `macos-latest`, on the exact Node 20.19.0 floor and Node 22. Any PR that regresses Windows behaviour fails CI immediately.
|
|
72
|
-
|
|
73
|
-
## Reporting Windows-specific bugs
|
|
74
|
-
|
|
75
|
-
[GitHub Issues](https://github.com/fjpulidop/specrails-core/issues). Include:
|
|
76
|
-
- Windows version (`winver`)
|
|
77
|
-
- Node version (`node --version`)
|
|
78
|
-
- Full output of `npx specrails-core doctor` (run inside the affected project)
|