specrails-core 5.0.0 → 5.1.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 (48) hide show
  1. package/README.md +103 -310
  2. package/bin/specrails-core.mjs +3 -1
  3. package/dist/installer/cli.js +4 -0
  4. package/dist/installer/cli.js.map +1 -1
  5. package/dist/installer/commands/framework.js +64 -49
  6. package/dist/installer/commands/framework.js.map +1 -1
  7. package/dist/installer/commands/init.js +102 -66
  8. package/dist/installer/commands/init.js.map +1 -1
  9. package/dist/installer/commands/update.js +80 -74
  10. package/dist/installer/commands/update.js.map +1 -1
  11. package/dist/installer/commands/v5-migration.js +14 -0
  12. package/dist/installer/commands/v5-migration.js.map +1 -1
  13. package/dist/installer/phases/framework-lifecycle.js +2 -0
  14. package/dist/installer/phases/framework-lifecycle.js.map +1 -1
  15. package/dist/installer/phases/scaffold.js +191 -258
  16. package/dist/installer/phases/scaffold.js.map +1 -1
  17. package/dist/installer/runtime/pipeline-state.js +801 -0
  18. package/dist/installer/runtime/pipeline-state.js.map +1 -0
  19. package/dist/installer/util/exec.js +6 -1
  20. package/dist/installer/util/exec.js.map +1 -1
  21. package/dist/installer/util/fs.js +11 -2
  22. package/dist/installer/util/fs.js.map +1 -1
  23. package/dist/installer/util/install-transaction.js +246 -0
  24. package/dist/installer/util/install-transaction.js.map +1 -0
  25. package/dist/installer/util/registry.js +20 -0
  26. package/dist/installer/util/registry.js.map +1 -1
  27. package/docs/ci-cd.md +57 -0
  28. package/docs/user-docs/codex-vs-claude-code.md +23 -151
  29. package/docs/user-docs/core-updates.md +70 -0
  30. package/docs/user-docs/provider-pipelines.md +53 -0
  31. package/integration-contract.json +179 -66
  32. package/package.json +5 -2
  33. package/templates/agents/sr-developer.md +9 -11
  34. package/templates/agents/sr-reviewer.md +26 -33
  35. package/templates/codex-skills/batch-implement/SKILL.md +58 -244
  36. package/templates/codex-skills/implement/SKILL.md +136 -338
  37. package/templates/codex-skills/rails/sr-architect/SKILL.md +7 -0
  38. package/templates/codex-skills/rails/sr-developer/SKILL.md +13 -0
  39. package/templates/codex-skills/rails/sr-reviewer/SKILL.md +39 -5
  40. package/templates/codex-skills/retry/SKILL.md +37 -117
  41. package/templates/commands/specrails/batch-implement.md +16 -288
  42. package/templates/commands/specrails/implement.md +62 -1057
  43. package/templates/commands/specrails/retry.md +22 -314
  44. package/templates/gemini-commands/batch-implement.toml +28 -40
  45. package/templates/gemini-commands/implement.toml +55 -114
  46. package/templates/gemini-commands/retry.toml +21 -0
  47. package/templates/kimi/specrails/run-skill.mjs +51 -2
  48. package/templates/runtime/provider-pipeline.md +55 -0
@@ -1,5 +1,6 @@
1
1
  import path from 'node:path';
2
2
  import { fileURLToPath } from 'node:url';
3
+ import { assertNoCoreDowngrade, currentFrameworkVersion, withFrameworkLifecycleLock } from '../util/install-transaction.js';
3
4
  import { InstallerError } from '../util/errors.js';
4
5
  import { ok, step } from '../util/logger.js';
5
6
  import { pathExists, readTextFile } from '../util/fs.js';
@@ -79,23 +80,29 @@ export async function runInstallFramework(flags) {
79
80
  const provider = parseProvider(flags.provider);
80
81
  const version = parseFrameworkVersion(flags.version);
81
82
  const { providerDir } = derivedPaths(provider);
82
- const swapCurrent = flags['no-swap'] !== true;
83
- step(`Materializing framework ${version} (${provider}) → ${frameworkDir}`);
84
- ensureFramework({
85
- scriptDir,
86
- frameworkDir,
87
- provider,
88
- providerDir,
89
- version,
90
- swapCurrent,
83
+ const packageVersion = readPackageVersion(scriptDir);
84
+ if (packageVersion !== version)
85
+ throw new InstallerError(`Core package ${packageVersion} cannot materialize framework ${version}; use the matching package version.`, 41);
86
+ return withFrameworkLifecycleLock(frameworkDir, () => {
87
+ assertNoCoreDowngrade(currentFrameworkVersion(frameworkDir), version);
88
+ const swapCurrent = flags['no-swap'] !== true;
89
+ step(`Materializing framework ${version} (${provider}) → ${frameworkDir}`);
90
+ ensureFramework({
91
+ scriptDir,
92
+ frameworkDir,
93
+ provider,
94
+ providerDir,
95
+ version,
96
+ swapCurrent,
97
+ });
98
+ if (swapCurrent) {
99
+ ok(`Framework ${version} ready (${providerDir}) + current → ${version}`);
100
+ }
101
+ else {
102
+ ok(`Framework ${version} ready (${providerDir}) — current NOT swapped (--no-swap)`);
103
+ }
104
+ return { frameworkDir, provider, version, providerDir, swapped: swapCurrent };
91
105
  });
92
- if (swapCurrent) {
93
- ok(`Framework ${version} ready (${providerDir}) + current → ${version}`);
94
- }
95
- else {
96
- ok(`Framework ${version} ready (${providerDir}) — current NOT swapped (--no-swap)`);
97
- }
98
- return { frameworkDir, provider, version, providerDir, swapped: swapCurrent };
99
106
  }
100
107
  /**
101
108
  * `specrails-core swap-current` — atomically point `<framework-dir>/current` at
@@ -107,16 +114,18 @@ export async function runSwapCurrent(flags) {
107
114
  const frameworkDir = path.resolve(requireString(flags['framework-dir'], 'framework-dir'));
108
115
  const version = parseFrameworkVersion(flags.version);
109
116
  const requested = parseProviders(flags.providers);
110
- const required = resolveRequiredFrameworkProviders({
111
- frameworkDir,
112
- requested,
113
- registryHome: process.env.SPECRAILS_REGISTRY_HOME,
117
+ return withFrameworkLifecycleLock(frameworkDir, () => {
118
+ const required = resolveRequiredFrameworkProviders({
119
+ frameworkDir,
120
+ requested,
121
+ registryHome: process.env.SPECRAILS_REGISTRY_HOME,
122
+ });
123
+ step(`Swapping framework current → ${version} (${frameworkDir})`);
124
+ const providers = assertFrameworkVersionComplete(frameworkDir, version, required);
125
+ ensureCurrentSymlink(frameworkDir, version);
126
+ ok(`current → ${version} (${providers.join(', ')})`);
127
+ return { frameworkDir, version, providers };
114
128
  });
115
- step(`Swapping framework current → ${version} (${frameworkDir})`);
116
- const providers = assertFrameworkVersionComplete(frameworkDir, version, required);
117
- ensureCurrentSymlink(frameworkDir, version);
118
- ok(`current → ${version} (${providers.join(', ')})`);
119
- return { frameworkDir, version, providers };
120
129
  }
121
130
  /**
122
131
  * `specrails-core assemble` — SYMLINK the materialized framework subtrees into a
@@ -131,31 +140,37 @@ export async function runAssemble(flags) {
131
140
  const version = parseFrameworkVersion(flags.version);
132
141
  const codeRoot = path.resolve(requireString(flags['code-root'], 'code-root'));
133
142
  const { providerDir } = derivedPaths(provider);
134
- // Defence-in-depth: the framework must be materialized + `current` pointed at
135
- // `<version>` BEFORE assemble can link from it. The desktop FrameworkManager
136
- // always calls install-framework first; this guard surfaces a clear error if
137
- // a caller skips it.
138
- const currentProviderDir = path.join(frameworkDir, 'current', providerDir);
139
- if (!pathExists(currentProviderDir)) {
140
- throw new InstallerError(`framework not materialized: ${currentProviderDir} is missing — run install-framework first`, 41);
141
- }
142
- const selectedAgentsFlag = flags['selected-agents'];
143
- const selectedAgents = typeof selectedAgentsFlag === 'string' && selectedAgentsFlag.length > 0
144
- ? selectedAgentsFlag.split(',').map((s) => s.trim()).filter((s) => s.length > 0)
145
- : undefined;
146
- step(`Assembling workspace ${workspace} ← framework ${version} (${provider})`);
147
- assembleProjectWorkspace({
148
- workspace,
149
- frameworkDir,
150
- provider,
151
- providerDir,
152
- version,
153
- codeRoot,
154
- scriptDir,
155
- selectedAgents,
143
+ return withFrameworkLifecycleLock(frameworkDir, () => {
144
+ // Defence-in-depth: the framework must be materialized + `current` pointed at
145
+ // `<version>` BEFORE assemble can link from it. The desktop FrameworkManager
146
+ // always calls install-framework first; this guard surfaces a clear error if
147
+ // a caller skips it.
148
+ const activeVersion = currentFrameworkVersion(frameworkDir);
149
+ if (activeVersion && activeVersion !== version)
150
+ throw new InstallerError(`Framework current is ${activeVersion}, not requested ${version}; refusing to write an inaccurate project version.`, 41);
151
+ const currentProviderDir = path.join(frameworkDir, 'current', providerDir);
152
+ if (!pathExists(currentProviderDir)) {
153
+ throw new InstallerError(`framework not materialized: ${currentProviderDir} is missing — run install-framework first`, 41);
154
+ }
155
+ assertFrameworkVersionComplete(frameworkDir, version, [provider]);
156
+ const selectedAgentsFlag = flags['selected-agents'];
157
+ const selectedAgents = typeof selectedAgentsFlag === 'string' && selectedAgentsFlag.length > 0
158
+ ? selectedAgentsFlag.split(',').map((s) => s.trim()).filter((s) => s.length > 0)
159
+ : undefined;
160
+ step(`Assembling workspace ${workspace} ← framework ${version} (${provider})`);
161
+ assembleProjectWorkspace({
162
+ workspace,
163
+ frameworkDir,
164
+ provider,
165
+ providerDir,
166
+ version,
167
+ codeRoot,
168
+ scriptDir,
169
+ selectedAgents,
170
+ });
171
+ ok(`Linked ${providerDir}/ from framework ${version} + seeded project layer`);
172
+ return { workspace, frameworkDir, provider, version, codeRoot, providerDir };
156
173
  });
157
- ok(`Linked ${providerDir}/ from framework ${version} + seeded project layer`);
158
- return { workspace, frameworkDir, provider, version, codeRoot, providerDir };
159
174
  }
160
175
  /** Read the package version (the version the desktop should materialize). */
161
176
  export function readPackageVersion(scriptDir) {
@@ -1 +1 @@
1
- {"version":3,"file":"framework.js","sourceRoot":"","sources":["../../../src/installer/commands/framework.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAExC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAGxD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,EACL,8BAA8B,EAC9B,iCAAiC,GAClC,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AACtF,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAwE3C,SAAS,aAAa,CAAC,KAAmC,EAAE,QAAgB;IAC1E,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,cAAc,CAAC,KAAK,QAAQ,cAAc,EAAE,EAAE,CAAC,CAAA;IAC3D,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,sBAAsB,GAAG,qCAAqC,CAAA;AAEpE;;;;;;GAMG;AACH,SAAS,qBAAqB,CAAC,KAAmC;IAChE,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;IAC/C,IACE,OAAO,KAAK,GAAG;QACf,OAAO,KAAK,IAAI;QAChB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;QACtB,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,EACrC,CAAC;QACD,MAAM,IAAI,cAAc,CACtB,+DAA+D,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EACxF,EAAE,CACH,CAAA;IACH,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,SAAS,aAAa,CAAC,KAAmC;IACxD,MAAM,CAAC,GAAG,aAAa,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;IAC1C,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,MAAM,EAAE,CAAC;QACtE,MAAM,IAAI,cAAc,CACtB,yEAAyE,CAAC,EAAE,EAC5E,EAAE,CACH,CAAA;IACH,CAAC;IACD,OAAO,CAAC,CAAA;AACV,CAAC;AAED,SAAS,cAAc,CAAC,KAAmC;IACzD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,CAAA;IAClC,MAAM,GAAG,GAAG,aAAa,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;IAC7C,MAAM,SAAS,GAAe,EAAE,CAAA;IAChC,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;QAC5B,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,SAAQ;QACnC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAA;IACzC,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,cAAc,CAAC,gDAAgD,EAAE,EAAE,CAAC,CAAA;IAChF,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,CAAA;AAChC,CAAC;AAED;;;;;;GAMG;AACH,SAAS,gBAAgB;IACvB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAA;IACtD,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAClE,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;IACzD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAC7C,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,KAA4B;IAE5B,MAAM,SAAS,GAAG,gBAAgB,EAAE,CAAA;IACpC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,eAAe,CAAC,CAAC,CAAA;IACzF,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IAC9C,MAAM,OAAO,GAAG,qBAAqB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IACpD,MAAM,EAAE,WAAW,EAAE,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;IAE9C,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,CAAA;IAC7C,IAAI,CAAC,2BAA2B,OAAO,KAAK,QAAQ,OAAO,YAAY,EAAE,CAAC,CAAA;IAC1E,eAAe,CAAC;QACd,SAAS;QACT,YAAY;QACZ,QAAQ;QACR,WAAW;QACX,OAAO;QACP,WAAW;KACZ,CAAC,CAAA;IACF,IAAI,WAAW,EAAE,CAAC;QAChB,EAAE,CAAC,aAAa,OAAO,WAAW,WAAW,iBAAiB,OAAO,EAAE,CAAC,CAAA;IAC1E,CAAC;SAAM,CAAC;QACN,EAAE,CAAC,aAAa,OAAO,WAAW,WAAW,qCAAqC,CAAC,CAAA;IACrF,CAAC;IAED,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,CAAA;AAC/E,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,KAAuB;IAC1D,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,eAAe,CAAC,CAAC,CAAA;IACzF,MAAM,OAAO,GAAG,qBAAqB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IACpD,MAAM,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IACjD,MAAM,QAAQ,GAAG,iCAAiC,CAAC;QACjD,YAAY;QACZ,SAAS;QACT,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,uBAAuB;KAClD,CAAC,CAAA;IACF,IAAI,CAAC,gCAAgC,OAAO,KAAK,YAAY,GAAG,CAAC,CAAA;IACjE,MAAM,SAAS,GAAG,8BAA8B,CAAC,YAAY,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;IACjF,oBAAoB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;IAC3C,EAAE,CAAC,aAAa,OAAO,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACpD,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,CAAA;AAC7C,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,KAAoB;IACpD,MAAM,SAAS,GAAG,gBAAgB,EAAE,CAAA;IACpC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAA;IAC3E,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,eAAe,CAAC,CAAC,CAAA;IACzF,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IAC9C,MAAM,OAAO,GAAG,qBAAqB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,CAAC,CAAA;IAC7E,MAAM,EAAE,WAAW,EAAE,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;IAE9C,8EAA8E;IAC9E,6EAA6E;IAC7E,6EAA6E;IAC7E,qBAAqB;IACrB,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,WAAW,CAAC,CAAA;IAC1E,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,cAAc,CACtB,+BAA+B,kBAAkB,2CAA2C,EAC5F,EAAE,CACH,CAAA;IACH,CAAC;IAED,MAAM,kBAAkB,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAA;IACnD,MAAM,cAAc,GAClB,OAAO,kBAAkB,KAAK,QAAQ,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC;QACrE,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAChF,CAAC,CAAC,SAAS,CAAA;IAEf,IAAI,CAAC,wBAAwB,SAAS,gBAAgB,OAAO,KAAK,QAAQ,GAAG,CAAC,CAAA;IAC9E,wBAAwB,CAAC;QACvB,SAAS;QACT,YAAY;QACZ,QAAQ;QACR,WAAW;QACX,OAAO;QACP,QAAQ;QACR,SAAS;QACT,cAAc;KACf,CAAC,CAAA;IACF,EAAE,CAAC,UAAU,WAAW,oBAAoB,OAAO,yBAAyB,CAAC,CAAA;IAE7E,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAA;AAC9E,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,kBAAkB,CAAC,SAAkB;IACnD,MAAM,GAAG,GAAG,SAAS,IAAI,gBAAgB,EAAE,CAAA;IAC3C,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAA;IACxC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAAE,OAAO,SAAS,CAAA;IACpC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAyB,CAAA;QAC/D,OAAO,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,SAAS,CAAA;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"framework.js","sourceRoot":"","sources":["../../../src/installer/commands/framework.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  import { copyFileSync, lstatSync, mkdirSync, mkdtempSync, readdirSync, realpathSync, renameSync, rmSync, } from 'node:fs';
2
2
  import os from 'node:os';
3
3
  import path from 'node:path';
4
+ import { assertNoCoreDowngrade, currentFrameworkVersion, withFrameworkLifecycleLock, withInstallRollback } from '../util/install-transaction.js';
5
+ import { recordSuccessfulInstall } from '../util/registry.js';
4
6
  import { fileURLToPath } from 'node:url';
5
7
  import { InstallerError } from '../util/errors.js';
6
8
  import { runCommand } from '../util/exec.js';
@@ -28,11 +30,20 @@ const WORKSPACE_PROVIDER_ORDER = [
28
30
  */
29
31
  export function snapshotWorkspaceProviderSelections(workspace) {
30
32
  const selections = {};
33
+ let recorded = [];
34
+ try {
35
+ const manifest = JSON.parse(readTextFile(path.join(workspace, '.specrails', 'specrails-manifest.json')));
36
+ if (Array.isArray(manifest.providers))
37
+ recorded = manifest.providers.filter((value) => typeof value === 'string');
38
+ }
39
+ catch { /* Legacy manifests are recognized by the complete Core role trio. */ }
31
40
  for (const provider of WORKSPACE_PROVIDER_ORDER) {
32
41
  const { providerDir } = derivedPaths(provider);
33
42
  const providerRoot = path.join(workspace, providerDir);
34
43
  if (!pathExists(providerRoot) ||
35
- !workspaceHasManagedProviderLink(providerRoot, provider)) {
44
+ (!workspaceHasManagedProviderLink(providerRoot, provider)
45
+ && !(recorded.includes(provider) && hasCopiedCoreArtifacts(providerRoot, provider))
46
+ && !hasCopiedCoreRoles(providerRoot, provider))) {
36
47
  continue;
37
48
  }
38
49
  const roleRoot = provider === 'codex'
@@ -53,6 +64,16 @@ export function snapshotWorkspaceProviderSelections(workspace) {
53
64
  }
54
65
  return selections;
55
66
  }
67
+ function hasCopiedCoreArtifacts(providerRoot, provider) {
68
+ return hasCopiedCoreRoles(providerRoot, provider) || pathExists(provider === 'codex' ? path.join(providerRoot, 'skills', 'implement', 'SKILL.md')
69
+ : provider === 'kimi' ? path.join(providerRoot, 'specrails', 'run-skill.mjs')
70
+ : path.join(providerRoot, 'commands', 'specrails', provider === 'gemini' ? 'implement.toml' : 'implement.md'));
71
+ }
72
+ function hasCopiedCoreRoles(providerRoot, provider) {
73
+ return [...CORE_AGENTS].every((id) => pathExists(provider === 'codex' ? path.join(providerRoot, 'skills', 'rails', id, 'SKILL.md')
74
+ : provider === 'kimi' ? path.join(providerRoot, 'skills', id, 'SKILL.md')
75
+ : path.join(providerRoot, 'agents', id + '.md')));
76
+ }
56
77
  function workspaceHasManagedProviderLink(providerRoot, provider) {
57
78
  const directoryLinks = provider === 'claude'
58
79
  ? ['commands', 'skills', 'rules']
@@ -162,29 +183,19 @@ export async function runInit(flags) {
162
183
  // `artifactRoot === codeRoot === repoRoot`. `allocate:true` (relocate) allocates
163
184
  // a $HOME workspace entry. EVERY Specrails artifact lands under `artifactRoot`;
164
185
  // the ONLY in-repo writes are `openspec/**` (below) and git/worktree ops.
186
+ assertNoCoreDowngrade(currentFrameworkVersion(frameworkRoot(process.env.SPECRAILS_REGISTRY_HOME)), version);
165
187
  const relocate = flags.relocate === true || process.env.SPECRAILS_RELOCATE === '1';
166
188
  const { artifactRoot, codeRoot } = resolveArtifacts(repoRoot, {
167
189
  allocate: relocate,
168
190
  allocator: 'core-standalone',
169
191
  home: process.env.SPECRAILS_REGISTRY_HOME,
170
192
  providers: [prereqs.provider],
171
- coreVersion: version,
172
193
  });
173
- // An existing Core-owned relocated entry is also the durable provider
174
- // inventory. Merge this install's provider without reallocating legacy
175
- // in-repo installs; Desktop-owned entries remain read-only in the resolver.
176
- if (artifactRoot !== codeRoot) {
177
- resolveArtifacts(repoRoot, {
178
- allocate: true,
179
- allocator: 'core-standalone',
180
- home: process.env.SPECRAILS_REGISTRY_HOME,
181
- providers: [prereqs.provider],
182
- coreVersion: version,
183
- });
184
- }
194
+ const installedMarker = path.join(artifactRoot, '.specrails', 'specrails-version');
195
+ if (pathExists(installedMarker))
196
+ assertNoCoreDowngrade(readTextFile(installedMarker).trim(), version);
185
197
  // In-repo when the resolution did NOT relocate the artifacts out of the repo.
186
198
  const inRepo = artifactRoot === codeRoot;
187
- const previousSelections = snapshotWorkspaceProviderSelections(artifactRoot);
188
199
  // ─── Phase 2 + 3 ──────────────────────────────────────────────────────
189
200
  // Bundled-framework flow: materialize the provider-INVARIANT framework ONCE
190
201
  // under `<home>/.specrails/framework/<version>/<providerDir>/`, point `current`
@@ -194,47 +205,64 @@ export async function runInit(flags) {
194
205
  step('Phase 2 & 3: Installing specrails artifacts');
195
206
  const { providerDir } = derivedPaths(prereqs.provider);
196
207
  const fwDir = frameworkRoot(process.env.SPECRAILS_REGISTRY_HOME);
197
- ensureFramework({
198
- scriptDir,
199
- frameworkDir: fwDir,
200
- provider: prereqs.provider,
201
- providerDir,
202
- version,
203
- selectedAgents: selectedAgentsHint,
204
- });
205
- reassembleWorkspaceProviders({
206
- workspace: artifactRoot,
207
- frameworkDir: fwDir,
208
- version,
209
- codeRoot,
210
- scriptDir,
211
- selectedProvider: prereqs.provider,
212
- selectedAgents: selectedAgentsHint,
213
- previousSelections,
214
- // In-repo: COPY the framework statics as real, committable files. Relocated:
215
- // symlink from the framework store (O(1) update on a version swap).
216
- copyStatics: inRepo,
208
+ return withFrameworkLifecycleLock(fwDir, async () => {
209
+ // Prerequisite checks may await user input. Revalidate after admission.
210
+ assertNoCoreDowngrade(currentFrameworkVersion(fwDir), version);
211
+ if (pathExists(installedMarker))
212
+ assertNoCoreDowngrade(readTextFile(installedMarker).trim(), version);
213
+ const previousSelections = snapshotWorkspaceProviderSelections(artifactRoot);
214
+ const surfaces = [
215
+ ...['.claude', '.codex', '.gemini', '.kimi-code', 'AGENTS.md', 'GEMINI.md', '.gitignore'].map((name) => path.join(artifactRoot, name)),
216
+ ...['specrails-version', 'specrails-manifest.json', 'setup-templates', 'runtime'].map((name) => path.join(artifactRoot, '.specrails', name)),
217
+ path.join(fwDir, 'current'), path.join(fwDir, version),
218
+ ];
219
+ return withInstallRollback(surfaces, async () => {
220
+ ensureFramework({
221
+ scriptDir,
222
+ frameworkDir: fwDir,
223
+ provider: prereqs.provider,
224
+ providerDir,
225
+ version,
226
+ selectedAgents: selectedAgentsHint,
227
+ requiredProviders: Object.keys(previousSelections),
228
+ });
229
+ reassembleWorkspaceProviders({
230
+ workspace: artifactRoot,
231
+ frameworkDir: fwDir,
232
+ version,
233
+ codeRoot,
234
+ scriptDir,
235
+ selectedProvider: prereqs.provider,
236
+ selectedAgents: selectedAgentsHint,
237
+ previousSelections,
238
+ // In-repo: COPY the framework statics as real, committable files. Relocated:
239
+ // symlink from the framework store (O(1) update on a version swap).
240
+ copyStatics: inRepo,
241
+ });
242
+ if (inRepo) {
243
+ ok(`Copied ${providerDir}/ from framework ${version} into the repo + seeded project layer`);
244
+ }
245
+ else {
246
+ ok(`Linked ${providerDir}/ from framework ${version} + seeded project layer`);
247
+ }
248
+ // openspec STAYS in the repo (codeRoot) — unchanged behaviour.
249
+ await installOpenSpecProject(codeRoot, prereqs.provider, artifactRoot);
250
+ if (artifactRoot !== codeRoot)
251
+ recordSuccessfulInstall(repoRoot, { home: process.env.SPECRAILS_REGISTRY_HOME, providers: [prereqs.provider], coreVersion: version });
252
+ step('Installation complete');
253
+ info('Agents, commands, and rules were placed directly — no follow-up step required.');
254
+ info('Extend the core trio (sr-architect, sr-developer, sr-reviewer) via profiles + custom-*.md agents.');
255
+ // Terminal sentinel for programmatic consumers (specrails-desktop's setup
256
+ // wizard matches this exact line via regex to mark the "init complete"
257
+ // checkpoint). The sentinel line below is FROZEN — the downstream setup
258
+ // wizard regex-matches it byte-for-byte; never change its spelling.
259
+ ok('init complete');
260
+ return {
261
+ repoRoot,
262
+ provider: prereqs.provider,
263
+ };
264
+ });
217
265
  });
218
- if (inRepo) {
219
- ok(`Copied ${providerDir}/ from framework ${version} into the repo + seeded project layer`);
220
- }
221
- else {
222
- ok(`Linked ${providerDir}/ from framework ${version} + seeded project layer`);
223
- }
224
- // openspec STAYS in the repo (codeRoot) — unchanged behaviour.
225
- await installOpenSpecProject(codeRoot, prereqs.provider, artifactRoot);
226
- step('Installation complete');
227
- info('Agents, commands, and rules were placed directly — no follow-up step required.');
228
- info('Extend the core trio (sr-architect, sr-developer, sr-reviewer) via profiles + custom-*.md agents.');
229
- // Terminal sentinel for programmatic consumers (specrails-desktop's setup
230
- // wizard matches this exact line via regex to mark the "init complete"
231
- // checkpoint). The sentinel line below is FROZEN — the downstream setup
232
- // wizard regex-matches it byte-for-byte; never change its spelling.
233
- ok('init complete');
234
- return {
235
- repoRoot,
236
- provider: prereqs.provider,
237
- };
238
266
  }
239
267
  /**
240
268
  * Warn (once per id) about `agents.selected` entries that have no shipped
@@ -353,9 +381,7 @@ function readPinnedVersion(scriptDir, key, fallback) {
353
381
  export function buildOpenSpecInvocation(repoRoot, provider, env = process.env, pinnedVersion = readPinnedVersion(resolveScriptDir(), 'openspec', '1.4.1')) {
354
382
  const bin = env.SPECRAILS_OPENSPEC_BIN;
355
383
  const node = env.SPECRAILS_OPENSPEC_NODE;
356
- const initArgs = provider === 'kimi'
357
- ? ['init', '--tools', provider, '--profile', 'custom', repoRoot]
358
- : ['init', '--tools', provider, repoRoot];
384
+ const initArgs = ['init', '--tools', provider, '--profile', 'custom', repoRoot];
359
385
  if (bin && node) {
360
386
  // Form 1: bundled offline — run the node CLI through the given node exe.
361
387
  return { bin: node, args: [bin, ...initArgs] };
@@ -411,11 +437,18 @@ const OPENSPEC_ALL_WORKFLOWS = [
411
437
  * an in-place corrected destination is retained as-is.
412
438
  */
413
439
  export function normalizeKimiOpenSpecSkills(repoRoot, artifactRoot) {
440
+ return normalizeProviderOpenSpecSkills(repoRoot, artifactRoot, 'kimi');
441
+ }
442
+ export function normalizeGeminiOpenSpecSkills(repoRoot, artifactRoot) {
443
+ return normalizeProviderOpenSpecSkills(repoRoot, artifactRoot, 'gemini');
444
+ }
445
+ function normalizeProviderOpenSpecSkills(repoRoot, artifactRoot, provider) {
446
+ const providerDir = provider === 'kimi' ? '.kimi-code' : '.gemini';
414
447
  const canonicalRepoRoot = realpathSync(repoRoot);
415
448
  const canonicalArtifactRoot = ensureRealDirectoryPath(artifactRoot);
416
- const destinationRoot = ensureRealDirectoryPath(path.join(canonicalArtifactRoot, '.kimi-code', 'skills'));
417
- const correctedSourceRoot = path.join(canonicalRepoRoot, '.kimi-code', 'skills');
418
- const legacySourceRoot = path.join(canonicalRepoRoot, '.kimi', 'skills');
449
+ const destinationRoot = ensureRealDirectoryPath(path.join(canonicalArtifactRoot, providerDir, 'skills'));
450
+ const correctedSourceRoot = path.join(canonicalRepoRoot, providerDir, 'skills');
451
+ const legacySourceRoot = path.join(canonicalRepoRoot, provider === 'kimi' ? '.kimi' : '.gemini', 'skills');
419
452
  const correctedIsDestination = path.resolve(correctedSourceRoot) === path.resolve(destinationRoot);
420
453
  const installed = [];
421
454
  const sources = new Map();
@@ -442,10 +475,10 @@ export function normalizeKimiOpenSpecSkills(repoRoot, artifactRoot) {
442
475
  continue;
443
476
  }
444
477
  if (pathExists(destination)) {
445
- throw new InstallerError(`Kimi OpenSpec skill ${skillName} exists without SKILL.md; refusing to overwrite it`, 50);
478
+ throw new InstallerError(`${provider} OpenSpec skill ${skillName} exists without SKILL.md; refusing to overwrite it`, 50);
446
479
  }
447
- throw new InstallerError(`OpenSpec did not generate required Kimi skill ${skillName}; ` +
448
- 'retry `npx specrails-core update --provider kimi`', 50);
480
+ throw new InstallerError(`OpenSpec did not generate required ${provider} skill ${skillName}; ` +
481
+ `retry specrails-core update --provider ${provider}`, 50);
449
482
  }
450
483
  for (const skillName of KIMI_REQUIRED_OPENSPEC_SKILLS) {
451
484
  const destination = path.join(destinationRoot, skillName);
@@ -636,8 +669,8 @@ export async function installOpenSpecProject(repoRoot, provider, artifactRoot =
636
669
  const { bin, args } = buildOpenSpecInvocation(repoRoot, provider);
637
670
  let temporaryConfigHome = null;
638
671
  let commandEnv;
639
- if (provider === 'kimi') {
640
- temporaryConfigHome = mkdtempSync(path.join(os.tmpdir(), 'specrails-openspec-kimi-'));
672
+ {
673
+ temporaryConfigHome = mkdtempSync(path.join(os.tmpdir(), 'specrails-openspec-profile-'));
641
674
  writeFileLf(path.join(temporaryConfigHome, 'openspec', 'config.json'), `${JSON.stringify({
642
675
  profile: 'custom',
643
676
  delivery: 'skills',
@@ -656,6 +689,9 @@ export async function installOpenSpecProject(repoRoot, provider, artifactRoot =
656
689
  if (provider === 'kimi') {
657
690
  normalizeKimiOpenSpecSkills(repoRoot, artifactRoot);
658
691
  }
692
+ else if (provider === 'gemini') {
693
+ normalizeGeminiOpenSpecSkills(repoRoot, artifactRoot);
694
+ }
659
695
  ok(`OpenSpec project files installed (${provider})`);
660
696
  }
661
697
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/installer/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/installer/commands/init.ts"],"names":[],"mappings":"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"}