@wemuda/launchrail 1.7.0 → 1.9.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 +36 -20
- package/assets/agents-docs/domain.md +59 -0
- package/assets/agents-docs/issue-tracker-github.md +51 -0
- package/assets/agents-docs/issue-tracker-gitlab.md +52 -0
- package/assets/agents-docs/issue-tracker-linear.md +52 -0
- package/assets/agents-docs/issue-tracker-local.md +45 -0
- package/assets/ralph.permission-guard.py +90 -0
- package/assets/ralph.workflow.js +129 -30
- package/assets/skills/NOTICE.md +41 -0
- package/assets/skills/launchrail/launch/SKILL.md +67 -0
- package/assets/skills/launchrail/launch/workflow.md +77 -0
- package/assets/skills/launchrail/launch-browser-smoke/SKILL.md +49 -0
- package/assets/skills/launchrail/launch-code-review/SKILL.md +89 -0
- package/assets/skills/launchrail/launch-design-validation/SKILL.md +44 -0
- package/assets/skills/launchrail/launch-discovery/SKILL.md +33 -0
- package/assets/skills/launchrail/launch-grill/CONTEXT-FORMAT.md +62 -0
- package/assets/skills/launchrail/launch-grill/SKILL.md +48 -0
- package/assets/skills/launchrail/launch-grill/domain-modeling.md +45 -0
- package/assets/skills/launchrail/launch-implement/SKILL.md +49 -0
- package/assets/skills/launchrail/launch-project-alignment/SKILL.md +48 -0
- package/assets/skills/launchrail/launch-ralph/SKILL.md +115 -0
- package/assets/skills/launchrail/launch-ralph-implement/SKILL.md +17 -0
- package/assets/skills/launchrail/launch-research/SKILL.md +16 -0
- package/assets/skills/launchrail/launch-resolving-merge-conflicts/SKILL.md +15 -0
- package/assets/skills/launchrail/launch-spec/SKILL.md +77 -0
- package/assets/skills/launchrail/launch-tickets/SKILL.md +107 -0
- package/assets/skills/launchrail/launch-vision-creation/SKILL.md +60 -0
- package/assets/skills/launchrail/launch-wayfinder/SKILL.md +130 -0
- package/dist/commands/add.js +21 -4
- package/dist/commands/add.js.map +1 -1
- package/dist/commands/doctor.js +42 -32
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/init.d.ts +3 -7
- package/dist/commands/init.js +62 -85
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/sync.js +11 -0
- package/dist/commands/sync.js.map +1 -1
- package/dist/index.js +0 -5
- package/dist/index.js.map +1 -1
- package/dist/lib/agentsDocs.d.ts +4 -0
- package/dist/lib/agentsDocs.js +32 -0
- package/dist/lib/agentsDocs.js.map +1 -0
- package/dist/lib/claudeSettings.d.ts +74 -11
- package/dist/lib/claudeSettings.js +185 -17
- package/dist/lib/claudeSettings.js.map +1 -1
- package/dist/lib/detect.d.ts +0 -2
- package/dist/lib/detect.js +0 -1
- package/dist/lib/detect.js.map +1 -1
- package/dist/lib/manifest.d.ts +14 -1
- package/dist/lib/manifest.js +18 -1
- package/dist/lib/manifest.js.map +1 -1
- package/dist/lib/migrations.js +202 -1
- package/dist/lib/migrations.js.map +1 -1
- package/dist/lib/project.js +9 -1
- package/dist/lib/project.js.map +1 -1
- package/dist/lib/ralph.d.ts +16 -5
- package/dist/lib/ralph.js +32 -9
- package/dist/lib/ralph.js.map +1 -1
- package/dist/lib/seeds.js +4 -1
- package/dist/lib/seeds.js.map +1 -1
- package/dist/lib/skills.d.ts +12 -0
- package/dist/lib/skills.js +57 -0
- package/dist/lib/skills.js.map +1 -0
- package/dist/lib/upstream.d.ts +6 -6
- package/dist/lib/upstream.js +1 -1
- package/dist/lib/upstream.js.map +1 -1
- package/package.json +1 -1
- package/dist/lib/claudeCli.d.ts +0 -51
- package/dist/lib/claudeCli.js +0 -71
- package/dist/lib/claudeCli.js.map +0 -1
package/dist/commands/doctor.js
CHANGED
|
@@ -2,14 +2,14 @@ import { existsSync, readFileSync } from "node:fs";
|
|
|
2
2
|
import { join } from "node:path";
|
|
3
3
|
import { BROWSER_TESTING_MODULE, SEMANTIC_SCRIPTS, SMOKE_JOURNEYS_PATH } from "../lib/browser-testing.js";
|
|
4
4
|
import { sha256 } from "../lib/checksum.js";
|
|
5
|
-
import { listInstalledPluginIds, WORKFLOW_PLUGINS } from "../lib/claudeCli.js";
|
|
6
5
|
import { missingImports } from "../lib/claudeImports.js";
|
|
7
|
-
import { CLAUDE_SETTINGS_PATH, declarationState } from "../lib/claudeSettings.js";
|
|
6
|
+
import { CLAUDE_SETTINGS_PATH, declarationState, ralphGuardHookState, RETIRED_PLUGIN_DECLARATIONS, } from "../lib/claudeSettings.js";
|
|
8
7
|
import { detectRepo } from "../lib/detect.js";
|
|
9
8
|
import { readLockfile } from "../lib/lockfile.js";
|
|
10
9
|
import { pendingMigrations } from "../lib/migrations.js";
|
|
11
10
|
import { MANIFEST_FILENAME, parseManifest } from "../lib/manifest.js";
|
|
12
|
-
import { RALPH_MODULE, RALPH_WORKFLOW_PATH } from "../lib/ralph.js";
|
|
11
|
+
import { RALPH_GUARD_HOOK_PATH, RALPH_MODULE, RALPH_WORKFLOW_PATH } from "../lib/ralph.js";
|
|
12
|
+
import { skillNames } from "../lib/skills.js";
|
|
13
13
|
export function runDoctor(cwd) {
|
|
14
14
|
const checks = [];
|
|
15
15
|
const add = (status, name, message = "") => {
|
|
@@ -100,37 +100,29 @@ export function runDoctor(cwd) {
|
|
|
100
100
|
add("warn", "CLAUDE.md", `does not import ${missing.join(", ")} — ${consequence}; re-run \`launchrail init\` to wire it in`);
|
|
101
101
|
}
|
|
102
102
|
}
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
}
|
|
111
|
-
else if (declaration === "invalid-json") {
|
|
112
|
-
add("warn", "plugin declaration", `${CLAUDE_SETTINGS_PATH} is not valid JSON`);
|
|
113
|
-
}
|
|
114
|
-
else {
|
|
115
|
-
add("warn", "plugin declaration", `Launchrail plugin not declared in ${CLAUDE_SETTINGS_PATH} — run \`launchrail init\``);
|
|
116
|
-
}
|
|
117
|
-
const installed = listInstalledPluginIds(cwd);
|
|
118
|
-
if (installed.state === "ok") {
|
|
119
|
-
const missing = WORKFLOW_PLUGINS.filter((wp) => !installed.ids.includes(wp.id));
|
|
120
|
-
if (missing.length === 0) {
|
|
121
|
-
add("pass", "plugin install", `${WORKFLOW_PLUGINS.map((wp) => wp.id).join(", ")} installed in Claude Code`);
|
|
103
|
+
// Skills ship as managed files (ADR-0019/0020), not a plugin. Their exact
|
|
104
|
+
// contents/checksums are covered by the managed-file checks above; here give a
|
|
105
|
+
// single friendly signal that every expected skill directory is on disk.
|
|
106
|
+
if (lockfile) {
|
|
107
|
+
const missingSkills = skillNames().filter((name) => !existsSync(join(cwd, ".claude", "skills", name, "SKILL.md")));
|
|
108
|
+
if (missingSkills.length === 0) {
|
|
109
|
+
add("pass", "workflow skills", `${skillNames().length} in .claude/skills/`);
|
|
122
110
|
}
|
|
123
111
|
else {
|
|
124
|
-
add("
|
|
125
|
-
|
|
126
|
-
|
|
112
|
+
add("fail", "workflow skills", `${missingSkills.length} missing (e.g. ${missingSkills.slice(0, 3).join(", ")}) — run \`launchrail sync\``);
|
|
113
|
+
}
|
|
114
|
+
// The plugin was retired (ADR-0019); flag any retired declaration that lingers.
|
|
115
|
+
if (declarationState(cwd, RETIRED_PLUGIN_DECLARATIONS) === "declared") {
|
|
116
|
+
add("warn", "plugin declaration", `${CLAUDE_SETTINGS_PATH} still declares the retired workflow plugins — run \`launchrail sync\` to remove them`);
|
|
127
117
|
}
|
|
128
118
|
}
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
119
|
+
if (manifest) {
|
|
120
|
+
if (!manifest.modules[RALPH_MODULE]) {
|
|
121
|
+
add("warn", "implementation loop", "Ralph's materials are not installed — run `launchrail sync`");
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
add("pass", "implementation loop", "Ralph — start with /launch-implement");
|
|
125
|
+
}
|
|
134
126
|
}
|
|
135
127
|
if (manifest?.modules[BROWSER_TESTING_MODULE]) {
|
|
136
128
|
if (detection.hasPlaywrightDep) {
|
|
@@ -170,7 +162,25 @@ export function runDoctor(cwd) {
|
|
|
170
162
|
add("pass", "ralph workflow", RALPH_WORKFLOW_PATH);
|
|
171
163
|
}
|
|
172
164
|
else {
|
|
173
|
-
add("fail", "ralph workflow", `${RALPH_WORKFLOW_PATH} missing —
|
|
165
|
+
add("fail", "ralph workflow", `${RALPH_WORKFLOW_PATH} missing — run \`launchrail sync\` to restore it`);
|
|
166
|
+
}
|
|
167
|
+
// The unattended-launch guard (ADR-0021): the hook file is managed; its
|
|
168
|
+
// registration in the shared settings.json is not lockfile-tracked, so this
|
|
169
|
+
// is the only check that confirms it is actually wired in.
|
|
170
|
+
if (!existsSync(join(cwd, RALPH_GUARD_HOOK_PATH))) {
|
|
171
|
+
add("fail", "ralph guard", `${RALPH_GUARD_HOOK_PATH} missing — run \`launchrail sync\` to restore it`);
|
|
172
|
+
}
|
|
173
|
+
else {
|
|
174
|
+
const guard = ralphGuardHookState(cwd);
|
|
175
|
+
if (guard === "registered") {
|
|
176
|
+
add("pass", "ralph guard", `unattended-launch guard registered in ${CLAUDE_SETTINGS_PATH}`);
|
|
177
|
+
}
|
|
178
|
+
else if (guard === "invalid-json") {
|
|
179
|
+
add("warn", "ralph guard", `${CLAUDE_SETTINGS_PATH} is not valid JSON — cannot confirm the guard is registered`);
|
|
180
|
+
}
|
|
181
|
+
else {
|
|
182
|
+
add("warn", "ralph guard", `guard hook present but not registered in ${CLAUDE_SETTINGS_PATH} — run \`launchrail sync\``);
|
|
183
|
+
}
|
|
174
184
|
}
|
|
175
185
|
if (manifest.issueTracker !== "none") {
|
|
176
186
|
add("pass", "ralph tracker", `issueTracker: ${manifest.issueTracker}`);
|
|
@@ -196,7 +206,7 @@ export function printDoctor(outcome) {
|
|
|
196
206
|
const warned = outcome.checks.filter((c) => c.status === "warn").length;
|
|
197
207
|
console.log(`\n${failed === 0 ? "Healthy" : "Unhealthy"}: ${outcome.checks.length} checks, ${failed} failed, ${warned} warning(s).`);
|
|
198
208
|
if (failed === 0) {
|
|
199
|
-
console.log("Next: open Claude Code in this project and run /
|
|
209
|
+
console.log("Next: open Claude Code in this project and run /launch.");
|
|
200
210
|
}
|
|
201
211
|
}
|
|
202
212
|
//# sourceMappingURL=doctor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAC1G,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAC1G,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,mBAAmB,EACnB,2BAA2B,GAC5B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAiB,MAAM,oBAAoB,CAAC;AACrF,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC3F,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAe9C,MAAM,UAAU,SAAS,CAAC,GAAW;IACnC,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,MAAM,GAAG,GAAG,CAAC,MAAmB,EAAE,IAAY,EAAE,OAAO,GAAG,EAAE,EAAQ,EAAE;QACpE,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IACzC,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAElC,IAAI,SAAS,CAAC,SAAS;QAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;;QAClD,GAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,mEAAmE,CAAC,CAAC;IAExG,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,IAAI,SAAS,IAAI,EAAE;QAAE,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;;QACzE,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,kCAAkC,CAAC,CAAC;IAE9F,IAAI,SAAS,CAAC,cAAc;QAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;;QAClF,GAAG,CAAC,MAAM,EAAE,iBAAiB,EAAE,qDAAqD,CAAC,CAAC;IAE3F,IAAI,QAAQ,GAAoB,IAAI,CAAC;IACrC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC;QAC9C,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,iBAAiB,oCAAoC,CAAC,CAAC;IACpF,CAAC;SAAM,CAAC;QACN,MAAM,MAAM,GAAG,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,iBAAiB,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QACjF,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;YAC3B,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,gBAAgB,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC;QACnE,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IACzD,IAAI,SAAS,EAAE,CAAC;QACd,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IACrC,CAAC;SAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACrB,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,iCAAiC,CAAC,CAAC;IAC7D,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,kBAAkB,CAAC,CAAC;QACjF,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;QACxF,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAC/B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrB,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO,yBAAyB,CAAC,CAAC;gBACjE,OAAO,IAAI,CAAC,CAAC;YACf,CAAC;iBAAM,IAAI,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,KAAK,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACjE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,GAAG,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;QAC1G,CAAC;aAAM,IAAI,OAAO,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/C,GAAG,CAAC,MAAM,EAAE,eAAe,EAAE,0BAA0B,CAAC,CAAC;QAC3D,CAAC;QACD,MAAM,OAAO,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,MAAM,aAAa,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAC5H,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,IAAI,SAAS,CAAC,WAAW;QAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;;QAC/C,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,iCAAiC,CAAC,CAAC;IAEjE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;QAC3B,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,iCAAiC,CAAC,CAAC;IAC9D,CAAC;SAAM,CAAC;QACN,MAAM,OAAO,GAAG,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QAC7E,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,uDAAuD,CAAC,CAAC;QACpF,CAAC;aAAM,CAAC;YACN,0EAA0E;YAC1E,6DAA6D;YAC7D,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,kCAAkC,CAAC;gBACtE,CAAC,CAAC,uDAAuD;gBACzD,CAAC,CAAC,+CAA+C,CAAC;YACpD,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,mBAAmB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,WAAW,4CAA4C,CAAC,CAAC;QAC/H,CAAC;IACH,CAAC;IAED,0EAA0E;IAC1E,+EAA+E;IAC/E,yEAAyE;IACzE,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,aAAa,GAAG,UAAU,EAAE,CAAC,MAAM,CACvC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CACxE,CAAC;QACF,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,GAAG,CAAC,MAAM,EAAE,iBAAiB,EAAE,GAAG,UAAU,EAAE,CAAC,MAAM,qBAAqB,CAAC,CAAC;QAC9E,CAAC;aAAM,CAAC;YACN,GAAG,CACD,MAAM,EACN,iBAAiB,EACjB,GAAG,aAAa,CAAC,MAAM,kBAAkB,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAC3G,CAAC;QACJ,CAAC;QACD,gFAAgF;QAChF,IAAI,gBAAgB,CAAC,GAAG,EAAE,2BAA2B,CAAC,KAAK,UAAU,EAAE,CAAC;YACtE,GAAG,CACD,MAAM,EACN,oBAAoB,EACpB,GAAG,oBAAoB,uFAAuF,CAC/G,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YACpC,GAAG,CACD,MAAM,EACN,qBAAqB,EACrB,6DAA6D,CAC9D,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,MAAM,EAAE,qBAAqB,EAAE,sCAAsC,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,EAAE,OAAO,CAAC,sBAAsB,CAAC,EAAE,CAAC;QAC9C,IAAI,SAAS,CAAC,gBAAgB,EAAE,CAAC;YAC/B,GAAG,CAAC,MAAM,EAAE,uBAAuB,EAAE,2BAA2B,CAAC,CAAC;QACpE,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,MAAM,EAAE,uBAAuB,EAAE,8DAA8D,CAAC,CAAC;QACvG,CAAC;QACD,IAAI,SAAS,CAAC,oBAAoB,EAAE,CAAC;YACnC,GAAG,CAAC,MAAM,EAAE,mBAAmB,EAAE,SAAS,CAAC,oBAAoB,CAAC,CAAC;QACnE,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,MAAM,EAAE,mBAAmB,EAAE,wEAAwE,CAAC,CAAC;QAC7G,CAAC;QACD,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC;YAC/C,GAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,mBAAmB,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,GAAG,mBAAmB,qDAAqD,CAAC,CAAC;QAC7G,CAAC;QACD,MAAM,cAAc,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;QAC3G,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,GAAG,CAAC,MAAM,EAAE,kBAAkB,EAAE,6CAA6C,CAAC,CAAC;QACjF,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,MAAM,EAAE,kBAAkB,EAAE,YAAY,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChH,CAAC;QACD,IAAI,QAAQ,CAAC,OAAO,CAAC,UAAU,IAAI,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YACjE,GAAG,CAAC,MAAM,EAAE,kBAAkB,EAAE,mCAAmC,CAAC,CAAC;QACvE,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,MAAM,EAAE,kBAAkB,EAAE,sDAAsD,iBAAiB,EAAE,CAAC,CAAC;QAC7G,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QACpC,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC;YAC/C,GAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,mBAAmB,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,GAAG,mBAAmB,kDAAkD,CAAC,CAAC;QAC1G,CAAC;QACD,wEAAwE;QACxE,4EAA4E;QAC5E,2DAA2D;QAC3D,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,qBAAqB,CAAC,CAAC,EAAE,CAAC;YAClD,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,qBAAqB,kDAAkD,CAAC,CAAC;QACzG,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;YACvC,IAAI,KAAK,KAAK,YAAY,EAAE,CAAC;gBAC3B,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,yCAAyC,oBAAoB,EAAE,CAAC,CAAC;YAC9F,CAAC;iBAAM,IAAI,KAAK,KAAK,cAAc,EAAE,CAAC;gBACpC,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,oBAAoB,6DAA6D,CAAC,CAAC;YACnH,CAAC;iBAAM,CAAC;gBACN,GAAG,CACD,MAAM,EACN,aAAa,EACb,4CAA4C,oBAAoB,4BAA4B,CAC7F,CAAC;YACJ,CAAC;QACH,CAAC;QACD,IAAI,QAAQ,CAAC,YAAY,KAAK,MAAM,EAAE,CAAC;YACrC,GAAG,CAAC,MAAM,EAAE,eAAe,EAAE,iBAAiB,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC;QACzE,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,MAAM,EAAE,eAAe,EAAE,4DAA4D,iBAAiB,EAAE,CAAC,CAAC;QAChH,CAAC;QACD,IAAI,QAAQ,CAAC,OAAO,CAAC,WAAW,IAAI,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YAChE,GAAG,CAAC,MAAM,EAAE,yBAAyB,EAAE,6BAA6B,CAAC,CAAC;QACxE,CAAC;aAAM,CAAC;YACN,GAAG,CACD,MAAM,EACN,yBAAyB,EACzB,0BAA0B,iBAAiB,qEAAqE,CACjH,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;AAC3E,CAAC;AAED,MAAM,MAAM,GAAgC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;AAEhF,MAAM,UAAU,WAAW,CAAC,OAAsB;IAChD,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACtG,CAAC;IACD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;IACxE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;IACxE,OAAO,CAAC,GAAG,CACT,KAAK,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,YAAY,MAAM,YAAY,MAAM,cAAc,CACxH,CAAC;IACF,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;IACzE,CAAC;AACH,CAAC"}
|
package/dist/commands/init.d.ts
CHANGED
|
@@ -1,21 +1,17 @@
|
|
|
1
1
|
import { type ClaudeImportsPlan } from "../lib/claudeImports.js";
|
|
2
|
-
import { type
|
|
2
|
+
import { type HookPlan } from "../lib/claudeSettings.js";
|
|
3
3
|
import { type PlannedAction } from "../lib/writer.js";
|
|
4
4
|
export interface InitOptions {
|
|
5
5
|
cwd: string;
|
|
6
6
|
dryRun: boolean;
|
|
7
7
|
yes: boolean;
|
|
8
|
-
/** Write the declaration but skip the `claude` CLI plugin install. */
|
|
9
|
-
skipPluginInstall?: boolean;
|
|
10
8
|
}
|
|
11
|
-
/** How the Claude Code plugin install ended up. */
|
|
12
|
-
export type PluginHandoff = "installed" | "already-installed" | "failed" | "no-cli" | "skipped" | "dry-run";
|
|
13
9
|
export interface InitOutcome {
|
|
14
10
|
code: number;
|
|
15
11
|
actions: PlannedAction[];
|
|
16
|
-
settings
|
|
12
|
+
/** How init registered Ralph's unattended-launch guard hook in settings.json — null when the ralph module is off. */
|
|
13
|
+
ralphHook: HookPlan | null;
|
|
17
14
|
/** How init wired the two workflow @-imports into CLAUDE.md (relevant when the repo already had one). */
|
|
18
15
|
claudeImports: ClaudeImportsPlan;
|
|
19
|
-
plugin: PluginHandoff;
|
|
20
16
|
}
|
|
21
17
|
export declare function runInit(opts: InitOptions): Promise<InitOutcome>;
|
package/dist/commands/init.js
CHANGED
|
@@ -2,14 +2,16 @@ import { spawnSync } from "node:child_process";
|
|
|
2
2
|
import { readFileSync } from "node:fs";
|
|
3
3
|
import { join } from "node:path";
|
|
4
4
|
import * as p from "@clack/prompts";
|
|
5
|
-
import {
|
|
5
|
+
import { agentsDocsFiles } from "../lib/agentsDocs.js";
|
|
6
6
|
import { applyClaudeImports, planClaudeImports, } from "../lib/claudeImports.js";
|
|
7
|
-
import {
|
|
7
|
+
import { applyRalphGuardHook, CLAUDE_SETTINGS_PATH, planRalphGuardHook, } from "../lib/claudeSettings.js";
|
|
8
8
|
import { detectRepo } from "../lib/detect.js";
|
|
9
9
|
import { emptyLockfile, readLockfile, writeLockfile } from "../lib/lockfile.js";
|
|
10
10
|
import { migrationIds } from "../lib/migrations.js";
|
|
11
|
+
import { RALPH_MODULE, ralphFiles } from "../lib/ralph.js";
|
|
11
12
|
import { ISSUE_TRACKERS, MANIFEST_FILENAME, parseManifest, serializeManifest, } from "../lib/manifest.js";
|
|
12
13
|
import { seedFiles } from "../lib/seeds.js";
|
|
14
|
+
import { skillFiles } from "../lib/skills.js";
|
|
13
15
|
import { ACTION_LABEL, applyPlan, planWrites } from "../lib/writer.js";
|
|
14
16
|
import { VERSION } from "../version.js";
|
|
15
17
|
function suggestedTestCommand(detection) {
|
|
@@ -26,17 +28,29 @@ function defaultTesting(detection) {
|
|
|
26
28
|
appUrl: null,
|
|
27
29
|
};
|
|
28
30
|
}
|
|
31
|
+
/**
|
|
32
|
+
* Ralph is the implementation loop (ADR-0020), so its module is on from the
|
|
33
|
+
* start: init installs the loop's materials and nobody meets a "needs
|
|
34
|
+
* `launchrail add ralph`" wall at the moment they start building (ADR-0018).
|
|
35
|
+
*/
|
|
36
|
+
function defaultModules() {
|
|
37
|
+
return { core: true, [RALPH_MODULE]: true };
|
|
38
|
+
}
|
|
29
39
|
function defaultManifestFor(detection) {
|
|
30
40
|
return {
|
|
31
41
|
schemaVersion: 1,
|
|
32
42
|
mode: "standard-mvp",
|
|
33
43
|
origin: detection.looksEstablished ? "existing" : "new",
|
|
34
|
-
issueTracker: detection.gitRemoteUrl?.includes("github.com")
|
|
44
|
+
issueTracker: detection.gitRemoteUrl?.includes("github.com")
|
|
45
|
+
? "github"
|
|
46
|
+
: detection.gitRemoteUrl?.includes("gitlab")
|
|
47
|
+
? "gitlab"
|
|
48
|
+
: "none",
|
|
35
49
|
conventions: {
|
|
36
50
|
conventionalCommits: detection.conventionalCommitRatio === null ? true : detection.conventionalCommitRatio >= 0.5,
|
|
37
51
|
},
|
|
38
52
|
testing: defaultTesting(detection),
|
|
39
|
-
modules:
|
|
53
|
+
modules: defaultModules(),
|
|
40
54
|
};
|
|
41
55
|
}
|
|
42
56
|
async function interview(detection) {
|
|
@@ -97,13 +111,13 @@ async function interview(detection) {
|
|
|
97
111
|
...defaultTesting(detection),
|
|
98
112
|
unitCommand: answers.unitCommand.trim() === "" ? null : answers.unitCommand.trim(),
|
|
99
113
|
},
|
|
100
|
-
modules:
|
|
114
|
+
modules: defaultModules(),
|
|
101
115
|
};
|
|
102
116
|
}
|
|
103
|
-
const
|
|
117
|
+
const HOOK_LABEL = {
|
|
104
118
|
create: "create ",
|
|
105
119
|
merge: "update ",
|
|
106
|
-
"skip-
|
|
120
|
+
"skip-registered": "ok ",
|
|
107
121
|
"skip-invalid": "conflict",
|
|
108
122
|
};
|
|
109
123
|
const CLAUDE_IMPORTS_LABEL = {
|
|
@@ -116,15 +130,15 @@ export async function runInit(opts) {
|
|
|
116
130
|
// Launchrail relies on git history for safe writes — a missing repository is
|
|
117
131
|
// something init fixes, not something it lectures about. `git init` never
|
|
118
132
|
// fires inside an existing repository (detection walks up the tree).
|
|
119
|
-
let gitInitialized = false;
|
|
120
133
|
if (!detection.isGitRepo && !opts.dryRun) {
|
|
121
|
-
gitInitialized = spawnSync("git", ["init", "-q"], { cwd: opts.cwd, encoding: "utf8" }).status === 0;
|
|
134
|
+
const gitInitialized = spawnSync("git", ["init", "-q"], { cwd: opts.cwd, encoding: "utf8" }).status === 0;
|
|
122
135
|
if (gitInitialized) {
|
|
123
136
|
console.log("Initialized a git repository (`git init`) — Launchrail relies on git history for safe writes.");
|
|
124
137
|
detection.isGitRepo = true;
|
|
125
138
|
}
|
|
126
139
|
}
|
|
127
|
-
|
|
140
|
+
// Set once the manifest is known and the ralph module is on (ADR-0021).
|
|
141
|
+
let ralphHook = null;
|
|
128
142
|
const claudeImports = planClaudeImports(opts.cwd);
|
|
129
143
|
const interactive = !opts.yes && process.stdin.isTTY === true && process.stdout.isTTY === true;
|
|
130
144
|
let manifest;
|
|
@@ -134,7 +148,7 @@ export async function runInit(opts) {
|
|
|
134
148
|
console.error(`launchrail: existing ${MANIFEST_FILENAME} is invalid:`);
|
|
135
149
|
for (const error of parsed.errors)
|
|
136
150
|
console.error(` - ${error}`);
|
|
137
|
-
return { code: 1, actions: [],
|
|
151
|
+
return { code: 1, actions: [], ralphHook, claudeImports };
|
|
138
152
|
}
|
|
139
153
|
manifest = parsed.manifest;
|
|
140
154
|
console.log(`Found existing ${MANIFEST_FILENAME} — using its configuration (init is idempotent).`);
|
|
@@ -147,7 +161,7 @@ export async function runInit(opts) {
|
|
|
147
161
|
}
|
|
148
162
|
else {
|
|
149
163
|
console.error("launchrail: non-interactive session — re-run with --yes to accept defaults.");
|
|
150
|
-
return { code: 1, actions: [],
|
|
164
|
+
return { code: 1, actions: [], ralphHook, claudeImports };
|
|
151
165
|
}
|
|
152
166
|
// Adopting a project that already exists (not a fresh Launchrail init): make
|
|
153
167
|
// the safe-write model explicit — existing files are kept, and Launchrail
|
|
@@ -159,11 +173,27 @@ export async function runInit(opts) {
|
|
|
159
173
|
const specs = [
|
|
160
174
|
{ relPath: MANIFEST_FILENAME, content: serializeManifest(manifest), ownership: "seeded" },
|
|
161
175
|
...seedFiles({ projectName: detection.projectName, manifest, launchrailVersion: VERSION }),
|
|
176
|
+
// Workflow configuration under docs/agents/ seeds straight from the
|
|
177
|
+
// manifest's answers (ADR-0020) — there is no interactive setup stage.
|
|
178
|
+
...agentsDocsFiles(manifest),
|
|
179
|
+
// The workflow skills — Launchrail's own complete set (ADR-0020) — ship as
|
|
180
|
+
// managed files (ADR-0019): they travel with the repo, so cloud and
|
|
181
|
+
// non-Claude agents get them with no install step.
|
|
182
|
+
...skillFiles(),
|
|
183
|
+
// The Ralph loop's materials install with init when its module is on
|
|
184
|
+
// (fresh manifests always enable it, ADR-0018/0020). An existing manifest
|
|
185
|
+
// without the module is brought current by sync's migration, not silently
|
|
186
|
+
// rewritten here.
|
|
187
|
+
...(manifest.modules[RALPH_MODULE] ? ralphFiles() : []),
|
|
162
188
|
];
|
|
189
|
+
// Ralph's guard-hook file rides `specs`; its registration in the shared,
|
|
190
|
+
// project-owned settings.json is planned as an additive merge (ADR-0021).
|
|
191
|
+
if (manifest.modules[RALPH_MODULE])
|
|
192
|
+
ralphHook = planRalphGuardHook(opts.cwd);
|
|
163
193
|
const existing = readLockfile(opts.cwd);
|
|
164
194
|
if (existing.error) {
|
|
165
195
|
console.error(`launchrail: ${existing.error} — refusing to continue. Fix or remove the lockfile first.`);
|
|
166
|
-
return { code: 1, actions: [],
|
|
196
|
+
return { code: 1, actions: [], ralphHook, claudeImports };
|
|
167
197
|
}
|
|
168
198
|
const lockfile = existing.lockfile ?? emptyLockfile(VERSION);
|
|
169
199
|
if (!existing.lockfile) {
|
|
@@ -177,7 +207,9 @@ export async function runInit(opts) {
|
|
|
177
207
|
for (const action of actions) {
|
|
178
208
|
console.log(` ${ACTION_LABEL[action.kind]} ${action.spec.relPath} (${action.detail})`);
|
|
179
209
|
}
|
|
180
|
-
|
|
210
|
+
if (ralphHook) {
|
|
211
|
+
console.log(` ${HOOK_LABEL[ralphHook.kind]} ${CLAUDE_SETTINGS_PATH} (${ralphHook.detail})`);
|
|
212
|
+
}
|
|
181
213
|
// Only worth a line when a CLAUDE.md already exists; a fresh one is seeded
|
|
182
214
|
// with both imports and shows up in the file actions above.
|
|
183
215
|
if (claudeImports.kind !== "seed") {
|
|
@@ -187,24 +219,20 @@ export async function runInit(opts) {
|
|
|
187
219
|
if (!detection.isGitRepo) {
|
|
188
220
|
console.log(" git-init . (not a git repository — init will run `git init` first)");
|
|
189
221
|
}
|
|
190
|
-
if (opts.skipPluginInstall) {
|
|
191
|
-
console.log(" skip Claude Code plugin install (--skip-plugin-install)");
|
|
192
|
-
}
|
|
193
|
-
else {
|
|
194
|
-
const version = detectClaudeCli(opts.cwd);
|
|
195
|
-
console.log(version
|
|
196
|
-
? ` install ${WORKFLOW_PLUGINS.map((wp) => wp.id).join(" + ")} into Claude Code (claude CLI ${version} detected)`
|
|
197
|
-
: " manual Claude Code plugin install (claude CLI not found — instructions will be printed)");
|
|
198
|
-
}
|
|
199
222
|
console.log("\nDry run — nothing was written.");
|
|
200
|
-
return { code: 0, actions,
|
|
223
|
+
return { code: 0, actions, ralphHook, claudeImports };
|
|
201
224
|
}
|
|
202
225
|
const written = applyPlan(opts.cwd, actions, lockfile);
|
|
203
|
-
|
|
204
|
-
|
|
226
|
+
// Register Ralph's guard hook (ADR-0021), an additive merge into the shared,
|
|
227
|
+
// project-owned settings.json (re-planned against the on-disk file).
|
|
228
|
+
if (manifest.modules[RALPH_MODULE]) {
|
|
229
|
+
const applied = applyRalphGuardHook(opts.cwd, planRalphGuardHook(opts.cwd));
|
|
230
|
+
if (applied && !written.includes(CLAUDE_SETTINGS_PATH))
|
|
231
|
+
written.push(CLAUDE_SETTINGS_PATH);
|
|
232
|
+
}
|
|
205
233
|
// Wire the workflow imports into a pre-existing CLAUDE.md (no-op when init
|
|
206
234
|
// just seeded a fresh one, which already carries both). Additive and
|
|
207
|
-
// idempotent, mirroring the .claude/settings.json merge (ADR-
|
|
235
|
+
// idempotent, mirroring the old .claude/settings.json merge (ADR-0012).
|
|
208
236
|
const importsWired = applyClaudeImports(opts.cwd, claudeImports);
|
|
209
237
|
if (importsWired)
|
|
210
238
|
written.push("CLAUDE.md");
|
|
@@ -229,71 +257,20 @@ export async function runInit(opts) {
|
|
|
229
257
|
if (!detection.isGitRepo) {
|
|
230
258
|
console.log("\n⚠ Not a git repository. Run `git init` before letting agents work here — Launchrail relies on git for safe writes.");
|
|
231
259
|
}
|
|
232
|
-
|
|
233
|
-
const failedPlugins = [];
|
|
234
|
-
if (!opts.skipPluginInstall) {
|
|
235
|
-
const version = detectClaudeCli(opts.cwd);
|
|
236
|
-
if (version === null) {
|
|
237
|
-
plugin = "no-cli";
|
|
238
|
-
}
|
|
239
|
-
else {
|
|
240
|
-
console.log("\nInstalling the Claude Code plugins the workflow needs (first run clones marketplaces)…");
|
|
241
|
-
let fresh = 0;
|
|
242
|
-
for (const wp of WORKFLOW_PLUGINS) {
|
|
243
|
-
const result = installPlugin(opts.cwd, wp);
|
|
244
|
-
if (result.state === "installed") {
|
|
245
|
-
if (result.detail !== "up-to-date")
|
|
246
|
-
fresh += 1;
|
|
247
|
-
const suffix = result.detail === "updated"
|
|
248
|
-
? ` — updated${result.versions ? ` (${result.versions})` : ""}`
|
|
249
|
-
: result.detail === "up-to-date"
|
|
250
|
-
? " — already up to date"
|
|
251
|
-
: "";
|
|
252
|
-
console.log(` ✓ ${wp.label} (${wp.id})${suffix}`);
|
|
253
|
-
}
|
|
254
|
-
else {
|
|
255
|
-
failedPlugins.push(wp);
|
|
256
|
-
console.log(` ⚠ ${wp.label} (${wp.id}) failed at ${result.step}:`);
|
|
257
|
-
for (const line of result.output.split("\n").slice(0, 3)) {
|
|
258
|
-
if (line.trim())
|
|
259
|
-
console.log(` ${line.trim()}`);
|
|
260
|
-
}
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
plugin = failedPlugins.length > 0 ? "failed" : fresh > 0 ? "installed" : "already-installed";
|
|
264
|
-
}
|
|
265
|
-
}
|
|
266
|
-
const pluginReady = plugin === "installed" || plugin === "already-installed";
|
|
267
|
-
console.log("\nYou're set up — from here the workflow runs inside Claude Code:");
|
|
260
|
+
console.log("\nYou're set up — the workflow skills are in .claude/skills/ (managed by Launchrail):");
|
|
268
261
|
console.log(' 1. Commit the result: git add -A && git commit -m "chore: initialize launchrail"');
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
console.log(" (Session already open? Run /reload-plugins, or restart Claude Code.)");
|
|
272
|
-
}
|
|
273
|
-
else {
|
|
274
|
-
const toInstall = plugin === "failed" ? failedPlugins : WORKFLOW_PLUGINS;
|
|
275
|
-
console.log(" 2. Install the workflow plugins into Claude Code:");
|
|
276
|
-
for (const wp of toInstall) {
|
|
277
|
-
console.log(` claude plugin marketplace add ${wp.marketplace}`);
|
|
278
|
-
console.log(` claude plugin install ${wp.id}`);
|
|
279
|
-
}
|
|
280
|
-
console.log(" (No claude CLI? Inside Claude Code run /plugin → Marketplaces → Add, and enter the");
|
|
281
|
-
console.log(` owner/repo sources above. ${CLAUDE_SETTINGS_PATH} also declares these plugins, so`);
|
|
282
|
-
console.log(" Claude Code offers them by itself the first time this folder is trusted.)");
|
|
283
|
-
}
|
|
284
|
-
console.log(" 3. Run /launchrail:launch — it detects the project's stage and drives the workflow from there.");
|
|
262
|
+
console.log(" 2. Open Claude Code (or another agent) here — the skills are ready to invoke, nothing to install.");
|
|
263
|
+
console.log(" 3. Run /launch — it detects the project's stage and drives the workflow from there.");
|
|
285
264
|
if (manifest.origin === "existing") {
|
|
286
265
|
console.log(" For an existing project it starts by aligning your code with Launchrail's artifacts:");
|
|
287
266
|
console.log(" it infers a vision from what you already have, asks about the gaps, and inventories your");
|
|
288
|
-
console.log(" design system — rather than
|
|
289
|
-
console.log(" first (the skills are already installed).");
|
|
267
|
+
console.log(" design system — rather than a blank vision.");
|
|
290
268
|
}
|
|
291
269
|
else {
|
|
292
|
-
console.log(" On a fresh project that
|
|
293
|
-
console.log("
|
|
294
|
-
console.log(" TODO. No seeded file needs filling in by hand.");
|
|
270
|
+
console.log(" On a fresh project that starts with vision creation, which also replaces the seeded");
|
|
271
|
+
console.log(" AGENTS.md project-purpose TODO.");
|
|
295
272
|
}
|
|
296
273
|
console.log("\nRun `npx @wemuda/launchrail doctor` any time to validate the setup.");
|
|
297
|
-
return { code: 0, actions,
|
|
274
|
+
return { code: 0, actions, ralphHook, claudeImports };
|
|
298
275
|
}
|
|
299
276
|
//# sourceMappingURL=init.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/sync.js
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
|
+
import { readFileSync } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
1
3
|
import { writeLockfile } from "../lib/lockfile.js";
|
|
4
|
+
import { MANIFEST_FILENAME, parseManifest } from "../lib/manifest.js";
|
|
2
5
|
import { applyPendingMigrations, MIGRATIONS, planPendingMigrations, } from "../lib/migrations.js";
|
|
3
6
|
import { loadProject, desiredSpecs } from "../lib/project.js";
|
|
4
7
|
import { ACTION_LABEL, applyPlan, planWrites } from "../lib/writer.js";
|
|
@@ -67,6 +70,14 @@ export function runSync(opts) {
|
|
|
67
70
|
console.error("Migrations applied before the failure are recorded; fix the cause and re-run `launchrail sync`.");
|
|
68
71
|
return { code: 1, actions: [], migrations };
|
|
69
72
|
}
|
|
73
|
+
// A migration may edit the manifest (e.g. enabling a module); re-read it so
|
|
74
|
+
// the regenerated file surface reflects the post-migration configuration in
|
|
75
|
+
// this run instead of the next one.
|
|
76
|
+
if (migrations.some((result) => result.status === "applied")) {
|
|
77
|
+
const reparsed = parseManifest(readFileSync(join(opts.cwd, MANIFEST_FILENAME), "utf8"));
|
|
78
|
+
if (reparsed.manifest)
|
|
79
|
+
state.manifest = reparsed.manifest;
|
|
80
|
+
}
|
|
70
81
|
const actions = planWrites(opts.cwd, desiredSpecs(state), state.lockfile);
|
|
71
82
|
printActions(actions);
|
|
72
83
|
const written = applyPlan(opts.cwd, actions, state.lockfile);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -33,10 +33,6 @@ init / add options:
|
|
|
33
33
|
--dry-run Show what would be written without writing
|
|
34
34
|
-y, --yes Accept defaults; no interactive questions
|
|
35
35
|
|
|
36
|
-
init options:
|
|
37
|
-
--skip-plugin-install Declare the Claude Code plugin but do not install it
|
|
38
|
-
via the claude CLI (env: LAUNCHRAIL_SKIP_CLAUDE_CLI=1)
|
|
39
|
-
|
|
40
36
|
smoke options:
|
|
41
37
|
--url <url> Test a specific URL (e.g. a preview environment)
|
|
42
38
|
--dry-run Show what would be scaffolded without writing
|
|
@@ -64,7 +60,6 @@ if (command === "init") {
|
|
|
64
60
|
cwd: process.cwd(),
|
|
65
61
|
dryRun: flags.has("--dry-run"),
|
|
66
62
|
yes: flags.has("--yes") || flags.has("-y"),
|
|
67
|
-
skipPluginInstall: flags.has("--skip-plugin-install"),
|
|
68
63
|
});
|
|
69
64
|
process.exit(outcome.code);
|
|
70
65
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,IAAI,GAAG,cAAc,OAAO;;;;;;;sDAOoB,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,IAAI,GAAG,cAAc,OAAO;;;;;;;sDAOoB,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;6EA0BL,CAAC;AAE9E,MAAM,eAAe,GAAG,CAAC,SAAS,CAAC,CAAC;AAEpC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AACxB,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAErC,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;IAC5F,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,WAAW,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;IACzE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;IACvB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC;QAC5B,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;QAClB,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC;QAC9B,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;KAC3C,CAAC,CAAC;IACH,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;IACzB,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACzC,WAAW,CAAC,OAAO,CAAC,CAAC;IACrB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;IACtB,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAClF,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,KAAK,CAAC,mEAAmE,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC;QAC3B,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;QAClB,MAAM;QACN,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC;QAC9B,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;KAC3C,CAAC,CAAC;IACH,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;IACzB,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AAC9C,CAAC;AAED,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;IACzB,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACxC,WAAW,CAAC,MAAM,CAAC,CAAC;IACpB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;IACvB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACvC,SAAS,CAAC,OAAO,CAAC,CAAC;IACnB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;IACvB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AACrF,CAAC;AAED,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;IACxB,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAClF,MAAM,OAAO,GAAG,QAAQ,CAAC;QACvB,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;QAClB,MAAM;QACN,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;QACvB,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC;KAC/B,CAAC,CAAC;IACH,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;IACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC;QAC7B,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;QAClB,GAAG,EAAE,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;QAC1D,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC;KAC/B,CAAC,CAAC;IACH,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,IAAI,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;IACtC,OAAO,CAAC,KAAK,CAAC,gBAAgB,OAAO,2BAA2B,CAAC,CAAC;IAClE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,OAAO,CAAC,KAAK,CAAC,gCAAgC,OAAO,KAAK,CAAC,CAAC;AAC5D,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { readFileSync } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import { fileURLToPath } from "node:url";
|
|
4
|
+
/**
|
|
5
|
+
* Per-repo workflow configuration under docs/agents/: the issue-tracker
|
|
6
|
+
* conventions (including the rail's label vocabulary) and the domain-doc
|
|
7
|
+
* consumer rules. Upstream needed an interactive setup skill to write these;
|
|
8
|
+
* Launchrail derives them from the manifest and seeds them at init/sync
|
|
9
|
+
* (ADR-0020), so stage 0 is just `init`. Seeded means created once and then
|
|
10
|
+
* project-owned — edit them freely, or delete one to have `sync` re-seed it
|
|
11
|
+
* from the manifest's current answers (e.g. after switching trackers).
|
|
12
|
+
*/
|
|
13
|
+
const AGENTS_DOCS_ASSET_DIR = fileURLToPath(new URL("../../assets/agents-docs/", import.meta.url));
|
|
14
|
+
export const AGENTS_DOCS_DEST_PREFIX = "docs/agents";
|
|
15
|
+
function asset(name) {
|
|
16
|
+
return readFileSync(join(AGENTS_DOCS_ASSET_DIR, name), "utf8");
|
|
17
|
+
}
|
|
18
|
+
export function agentsDocsFiles(manifest) {
|
|
19
|
+
const specs = [
|
|
20
|
+
{ relPath: `${AGENTS_DOCS_DEST_PREFIX}/domain.md`, content: asset("domain.md"), ownership: "seeded" },
|
|
21
|
+
];
|
|
22
|
+
// `none` means no tracker — nothing to document.
|
|
23
|
+
if (manifest.issueTracker !== "none") {
|
|
24
|
+
specs.push({
|
|
25
|
+
relPath: `${AGENTS_DOCS_DEST_PREFIX}/issue-tracker.md`,
|
|
26
|
+
content: asset(`issue-tracker-${manifest.issueTracker}.md`),
|
|
27
|
+
ownership: "seeded",
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
return specs;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=agentsDocs.js.map
|