@ritualai/cli 0.25.0 → 0.36.8
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/dist/commands/build.js +89 -0
- package/dist/commands/build.js.map +1 -0
- package/dist/commands/init.js +93 -109
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/uninstall.js +6 -1
- package/dist/commands/uninstall.js.map +1 -1
- package/dist/index.js +18 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/agents/configure-mcp.js +63 -0
- package/dist/lib/agents/configure-mcp.js.map +1 -1
- package/dist/lib/agents/launch.js +70 -0
- package/dist/lib/agents/launch.js.map +1 -0
- package/dist/lib/agents/providers.js +8 -2
- package/dist/lib/agents/providers.js.map +1 -1
- package/dist/lib/final-cta-box.js +22 -10
- package/dist/lib/final-cta-box.js.map +1 -1
- package/dist/lib/help-style.js +65 -0
- package/dist/lib/help-style.js.map +1 -0
- package/dist/lib/onboarding-state.js +9 -8
- package/dist/lib/onboarding-state.js.map +1 -1
- package/dist/lib/uninstall-plan.js +18 -1
- package/dist/lib/uninstall-plan.js.map +1 -1
- package/dist/lib/workspace-explainer.js +42 -111
- package/dist/lib/workspace-explainer.js.map +1 -1
- package/dist/lib/workspace-flow.js +4 -1
- package/dist/lib/workspace-flow.js.map +1 -1
- package/package.json +1 -1
- package/skills/claude-code/ritual/.ritual-bundle.json +3 -2
- package/skills/claude-code/ritual/SKILL.md +8 -0
- package/skills/claude-code/ritual/references/build-flow.md +474 -414
- package/skills/claude-code/ritual/references/cli-output-contract.md +90 -34
- package/skills/claude-code/ritual/references/lite-flow.md +484 -421
- package/skills/codex/ritual/.ritual-bundle.json +3 -2
- package/skills/codex/ritual/SKILL.md +8 -0
- package/skills/codex/ritual/references/build-flow.md +474 -414
- package/skills/codex/ritual/references/cli-output-contract.md +90 -34
- package/skills/codex/ritual/references/lite-flow.md +484 -421
- package/skills/cursor/ritual/.ritual-bundle.json +3 -2
- package/skills/cursor/ritual/SKILL.md +8 -0
- package/skills/cursor/ritual/references/build-flow.md +474 -414
- package/skills/cursor/ritual/references/cli-output-contract.md +90 -34
- package/skills/cursor/ritual/references/lite-flow.md +484 -421
- package/skills/gemini/ritual/.ritual-bundle.json +3 -2
- package/skills/gemini/ritual/SKILL.md +8 -0
- package/skills/gemini/ritual/references/build-flow.md +474 -414
- package/skills/gemini/ritual/references/cli-output-contract.md +90 -34
- package/skills/gemini/ritual/references/lite-flow.md +484 -421
- package/skills/kiro/ritual/.ritual-bundle.json +3 -2
- package/skills/kiro/ritual/SKILL.md +8 -0
- package/skills/kiro/ritual/references/build-flow.md +474 -414
- package/skills/kiro/ritual/references/cli-output-contract.md +90 -34
- package/skills/kiro/ritual/references/lite-flow.md +484 -421
- package/skills/vscode/ritual/.ritual-bundle.json +3 -2
- package/skills/vscode/ritual/SKILL.md +8 -0
- package/skills/vscode/ritual/references/build-flow.md +474 -414
- package/skills/vscode/ritual/references/cli-output-contract.md +90 -34
- package/skills/vscode/ritual/references/lite-flow.md +484 -421
- package/dist/lib/build-flow-explainer.js +0 -226
- package/dist/lib/build-flow-explainer.js.map +0 -1
- package/dist/lib/persona-picker.js +0 -171
- package/dist/lib/persona-picker.js.map +0 -1
package/dist/index.js
CHANGED
|
@@ -2,11 +2,13 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
const commander_1 = require("commander");
|
|
5
|
+
const help_style_1 = require("./lib/help-style");
|
|
5
6
|
const login_1 = require("./commands/login");
|
|
6
7
|
const logout_1 = require("./commands/logout");
|
|
7
8
|
const whoami_1 = require("./commands/whoami");
|
|
8
9
|
const refresh_1 = require("./commands/refresh");
|
|
9
10
|
const init_1 = require("./commands/init");
|
|
11
|
+
const build_1 = require("./commands/build");
|
|
10
12
|
const doctor_1 = require("./commands/doctor");
|
|
11
13
|
const uninstall_1 = require("./commands/uninstall");
|
|
12
14
|
// 2026-05-15 (PR D) — `ritual status [--watch]` instant snapshot of
|
|
@@ -28,6 +30,10 @@ const package_info_1 = require("./lib/package-info");
|
|
|
28
30
|
// happened to re-run `ritual init`.
|
|
29
31
|
const stale_bundle_warning_1 = require("./lib/stale-bundle-warning");
|
|
30
32
|
const program = new commander_1.Command();
|
|
33
|
+
// Branded help (teal titles/commands/flags + "start here" footer). Must run
|
|
34
|
+
// BEFORE subcommand registration — commander copies help config at
|
|
35
|
+
// .command() time.
|
|
36
|
+
(0, help_style_1.applyRitualHelpStyle)(program);
|
|
31
37
|
program
|
|
32
38
|
.name('ritual')
|
|
33
39
|
.description('Ritual CLI — connect AI coding agents to Ritual Cloud. ' +
|
|
@@ -81,6 +87,18 @@ const initCmd = program
|
|
|
81
87
|
internalOption(initCmd, '--dev', 'Shortcut for --issuer https://auth.dev.ritualapp.cloud/realms/ritual (maintainer testing against the Ritual dev environment).');
|
|
82
88
|
internalOption(initCmd, '--re-onboard', 'Re-run the FTUE onboarding screens (persona picker + workspace + build-flow explainer) even if they\'ve been shown on this machine. Used by maintainers iterating on screen designs.');
|
|
83
89
|
initCmd.action(init_1.initCommand);
|
|
90
|
+
// `ritual build "<ask>"` — the terminal entry into the build flow.
|
|
91
|
+
// The flow runs inside the user's coding agent; this command launches
|
|
92
|
+
// the right agent with `/ritual build <ask>` preloaded so typing the
|
|
93
|
+
// obvious thing in a shell does the right thing (Phase 0 launcher —
|
|
94
|
+
// observed confusion: users invoking `ritual build` at the CLI and
|
|
95
|
+
// only later discovering the flow lives in Claude Code/Cursor).
|
|
96
|
+
program
|
|
97
|
+
.command('build [ask...]')
|
|
98
|
+
.description('Start a Ritual build — launches your coding agent with the flow preloaded')
|
|
99
|
+
.option('--agent <id>', 'Launch a specific agent (claude-code, cursor, gemini, codex)')
|
|
100
|
+
.addHelpText('after', () => (0, help_style_1.ritualBuildExamplesHelp)())
|
|
101
|
+
.action(build_1.buildCommand);
|
|
84
102
|
const loginCmd = program
|
|
85
103
|
.command('login')
|
|
86
104
|
.description('Authenticate with Ritual via your browser')
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAEA,yCAAoC;AACpC,iDAAiF;AACjF,4CAAgD;AAChD,8CAAkD;AAClD,8CAAkD;AAClD,gDAAoD;AACpD,0CAA8C;AAC9C,4CAAgD;AAChD,8CAAkD;AAClD,oDAAwD;AACxD,oEAAoE;AACpE,kEAAkE;AAClE,kEAAkE;AAClE,oEAAoE;AACpE,iEAAiE;AACjE,iEAAiE;AACjE,6BAA6B;AAC7B,8CAAkD;AAClD,4CAAsD;AACtD,qDAA4D;AAC5D,kEAAkE;AAClE,oEAAoE;AACpE,+DAA+D;AAC/D,iEAAiE;AACjE,oEAAoE;AACpE,oEAAoE;AACpE,oCAAoC;AACpC,qEAAqE;AAErE,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAC9B,4EAA4E;AAC5E,mEAAmE;AACnE,mBAAmB;AACnB,IAAA,iCAAoB,EAAC,OAAO,CAAC,CAAC;AAE9B,OAAO;KACL,IAAI,CAAC,QAAQ,CAAC;KACd,WAAW,CACX,yDAAyD;IACxD,yDAAyD,CAC1D;KACA,OAAO,CAAC,IAAA,qCAAsB,GAAE,CAAC,CAAC;AAEpC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,GAAG,CAAC;AAE9D,SAAS,cAAc,CAAC,GAAY,EAAE,IAAY,EAAE,IAAY;IAC/D,IAAI,iBAAiB,EAAE,CAAC;QACvB,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,GAAG,CAAC;AACZ,CAAC;AAED,oEAAoE;AACpE,+DAA+D;AAC/D,MAAM,OAAO,GAAG,OAAO;KACrB,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,kFAAkF,CAAC;KAC/F,MAAM,CAAC,cAAc,EAAE,wDAAwD,CAAC;KAChF,MAAM,CAAC,QAAQ,EAAE,4BAA4B,CAAC;KAC9C,MAAM,CACN,gBAAgB,EAChB,kFAAkF,CAClF;KACA,MAAM,CAAC,kBAAkB,EAAE,2CAA2C,CAAC;KACvE,MAAM,CACN,gBAAgB,EAChB,wHAAwH,CACxH;KACA,MAAM,CACN,kBAAkB,EAClB,yMAAyM,CACzM;KACA,MAAM,CACN,sBAAsB,EACtB,oMAAoM,CACpM;KACA,MAAM,CACN,kBAAkB,EAClB,kMAAkM,CAClM;KACA,MAAM,CACN,OAAO,EACP,wFAAwF,CACxF;KACA,MAAM,CACN,eAAe,EACf,oOAAoO,CACpO;KACA,MAAM,CACN,kBAAkB,EAClB,gIAAgI,CAChI;KACA,MAAM,CACN,eAAe,EACf,2LAA2L,CAC3L,CAAC;AAEH,4DAA4D;AAC5D,cAAc,CACb,OAAO,EACP,OAAO,EACP,+HAA+H,CAC/H,CAAC;AACF,cAAc,CACb,OAAO,EACP,cAAc,EACd,sLAAsL,CACtL,CAAC;AAEF,OAAO,CAAC,MAAM,CAAC,kBAAW,CAAC,CAAC;AAE5B,mEAAmE;AACnE,sEAAsE;AACtE,qEAAqE;AACrE,oEAAoE;AACpE,mEAAmE;AACnE,gEAAgE;AAChE,OAAO;KACL,OAAO,CAAC,gBAAgB,CAAC;KACzB,WAAW,CAAC,2EAA2E,CAAC;KACxF,MAAM,CAAC,cAAc,EAAE,8DAA8D,CAAC;KACtF,WAAW,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAA,oCAAuB,GAAE,CAAC;KACrD,MAAM,CAAC,oBAAY,CAAC,CAAC;AAEvB,MAAM,QAAQ,GAAG,OAAO;KACtB,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,2CAA2C,CAAC;KACxD,MAAM,CACN,gBAAgB,EAChB,iGAAiG,CACjG;KACA,MAAM,CACN,kBAAkB,EAClB,4EAA4E,CAC5E;KACA,MAAM,CACN,kBAAkB,EAClB,oIAAoI,CACpI;KACA,MAAM,CACN,OAAO,EACP,wFAAwF,CACxF,CAAC;AAEH,4DAA4D;AAC5D,cAAc,CACb,QAAQ,EACR,OAAO,EACP,+HAA+H,CAC/H,CAAC;AAEF,QAAQ,CAAC,MAAM,CAAC,oBAAY,CAAC,CAAC;AAE9B,OAAO;KACL,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,iFAAiF,CAAC;KAC9F,MAAM,CACN,OAAO,EACP,6IAA6I,CAC7I;KACA,MAAM,CAAC,sBAAa,CAAC,CAAC;AAExB,OAAO;KACL,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,6DAA6D,CAAC;KAC1E,MAAM,CAAC,sBAAa,CAAC,CAAC;AAExB,OAAO;KACL,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,sEAAsE,CAAC;KACnF,MAAM,CAAC,wBAAc,CAAC,CAAC;AAEzB,OAAO;KACL,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CACX,0FAA0F;IACzF,8EAA8E,CAC/E;KACA,QAAQ,CAAC,kBAAkB,EAAE,+DAA+D,CAAC;KAC7F,MAAM,CAAC,SAAS,EAAE,sEAAsE,CAAC;KACzF,MAAM,CAAC,CAAC,aAAiC,EAAE,IAAyB,EAAE,EAAE,CACxE,IAAA,sBAAa,EAAC,aAAa,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CACnD,CAAC;AAEH,OAAO;KACL,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,2EAA2E,CAAC;KACxF,MAAM,CAAC,sBAAa,CAAC,CAAC;AAExB,OAAO;KACL,OAAO,CAAC,WAAW,CAAC;KACpB,WAAW,CAAC,oIAAoI,CAAC;KACjJ,MAAM,CAAC,WAAW,EAAE,6EAA6E,CAAC;KAClG,MAAM,CAAC,WAAW,EAAE,gCAAgC,CAAC;KACrD,MAAM,CAAC,WAAW,EAAE,8BAA8B,CAAC;KACnD,MAAM,CAAC,4BAAgB,CAAC,CAAC;AAE3B,iEAAiE;AACjE,+DAA+D;AAC/D,kDAAkD;AAClD,MAAM,KAAK,GAAG,OAAO;KACnB,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,oEAAoE,CAAC,CAAC;AAEpF,KAAK;KACH,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,mEAAmE,CAAC;KAChF,MAAM,CACN,kBAAkB,EAClB,0FAA0F,CAC1F;KACA,MAAM,CAAC,aAAa,EAAE,8DAA8D,CAAC;KACrF,MAAM,CAAC,0BAAkB,CAAC,CAAC;AAE7B,qEAAqE;AACrE,qEAAqE;AACrE,oEAAoE;AACpE,kEAAkE;AAClE,oDAAoD;AACpD,IAAA,8CAAuB,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAE/C,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAU,EAAE,EAAE;IACrD,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC;IACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.configureMcpForAgent = configureMcpForAgent;
|
|
4
|
+
exports.upsertCodexMcpBlock = upsertCodexMcpBlock;
|
|
4
5
|
const node_fs_1 = require("node:fs");
|
|
5
6
|
const node_path_1 = require("node:path");
|
|
6
7
|
const node_child_process_1 = require("node:child_process");
|
|
@@ -36,6 +37,9 @@ function configureMcpForAgent(provider, registration) {
|
|
|
36
37
|
if (provider.mcpConfigMethod === 'cli-command') {
|
|
37
38
|
configureViaCliCommand(provider, registration);
|
|
38
39
|
}
|
|
40
|
+
else if (provider.mcpConfigMethod === 'toml-file') {
|
|
41
|
+
configureViaTomlFile(provider, registration);
|
|
42
|
+
}
|
|
39
43
|
else {
|
|
40
44
|
configureViaJsonFile(provider, registration);
|
|
41
45
|
}
|
|
@@ -154,4 +158,63 @@ function configureViaJsonFile(provider, registration) {
|
|
|
154
158
|
/* ignore */
|
|
155
159
|
}
|
|
156
160
|
}
|
|
161
|
+
/**
|
|
162
|
+
* Surgically upsert the `[mcp_servers.ritual]` table into an existing
|
|
163
|
+
* Codex `config.toml` body, preserving every other line (model,
|
|
164
|
+
* approval mode, other MCP servers, comments). Pure + exported for
|
|
165
|
+
* unit testing — the executor below just does file I/O around it.
|
|
166
|
+
*
|
|
167
|
+
* Why a section-replace instead of a TOML parser: `config.toml` is a
|
|
168
|
+
* hand-edited user file we must never clobber, and pulling a TOML
|
|
169
|
+
* round-trip lib into the CLI bundle for one table isn't worth it.
|
|
170
|
+
* We replace from the `[mcp_servers.ritual]` header to the next table
|
|
171
|
+
* header (`[...]`) or EOF, or append the block if absent — the same
|
|
172
|
+
* marker-bounded edit discipline the uninstall router-block uses.
|
|
173
|
+
*/
|
|
174
|
+
function upsertCodexMcpBlock(existing, registration) {
|
|
175
|
+
if (registration.token.includes('"') || registration.url.includes('"')) {
|
|
176
|
+
// PATs are [A-Z0-9_] and URLs are https — a quote would mean a
|
|
177
|
+
// malformed credential. Fail loud rather than emit invalid TOML.
|
|
178
|
+
throw new Error('MCP url/token contains a double quote — refusing to write malformed TOML');
|
|
179
|
+
}
|
|
180
|
+
const block = `[mcp_servers.${SERVER_NAME}]\n` +
|
|
181
|
+
`url = "${registration.url}"\n` +
|
|
182
|
+
`http_headers = { Authorization = "Bearer ${registration.token}" }\n`;
|
|
183
|
+
const lines = existing.split('\n');
|
|
184
|
+
const headerRe = /^\s*\[mcp_servers\.ritual\]\s*$/;
|
|
185
|
+
const start = lines.findIndex((l) => headerRe.test(l));
|
|
186
|
+
if (start === -1) {
|
|
187
|
+
// Append — one blank-line separator if the file has content.
|
|
188
|
+
const sep = existing.trim().length > 0 ? existing.replace(/\n*$/, '') + '\n\n' : '';
|
|
189
|
+
return sep + block;
|
|
190
|
+
}
|
|
191
|
+
// Replace from the header to the next table header (line starting
|
|
192
|
+
// with `[`) or EOF.
|
|
193
|
+
let end = start + 1;
|
|
194
|
+
while (end < lines.length && !/^\s*\[/.test(lines[end]))
|
|
195
|
+
end++;
|
|
196
|
+
const before = lines.slice(0, start).join('\n').replace(/\n*$/, '');
|
|
197
|
+
const after = lines.slice(end).join('\n').replace(/^\n*/, '');
|
|
198
|
+
return ((before ? before + '\n\n' : '') + block + (after ? '\n' + after : ''));
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Codex path: `~/.codex/config.toml`, `[mcp_servers.ritual]` table.
|
|
202
|
+
* Same chmod-0600 + preserve-other-content discipline as the JSON path.
|
|
203
|
+
*/
|
|
204
|
+
function configureViaTomlFile(provider, registration) {
|
|
205
|
+
if (!provider.mcpConfigPath) {
|
|
206
|
+
throw new Error(`${provider.name} is toml-file but has no mcpConfigPath`);
|
|
207
|
+
}
|
|
208
|
+
const filePath = provider.mcpConfigPath;
|
|
209
|
+
const existing = (0, node_fs_1.existsSync)(filePath) ? (0, node_fs_1.readFileSync)(filePath, 'utf-8') : '';
|
|
210
|
+
const next = upsertCodexMcpBlock(existing, registration);
|
|
211
|
+
(0, node_fs_1.mkdirSync)((0, node_path_1.dirname)(filePath), { recursive: true });
|
|
212
|
+
(0, node_fs_1.writeFileSync)(filePath, next.replace(/\n*$/, '') + '\n', 'utf-8');
|
|
213
|
+
try {
|
|
214
|
+
(0, node_fs_1.chmodSync)(filePath, 0o600);
|
|
215
|
+
}
|
|
216
|
+
catch {
|
|
217
|
+
/* ignore */
|
|
218
|
+
}
|
|
219
|
+
}
|
|
157
220
|
//# sourceMappingURL=configure-mcp.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configure-mcp.js","sourceRoot":"","sources":["../../../src/lib/agents/configure-mcp.ts"],"names":[],"mappings":";;AA0DA,
|
|
1
|
+
{"version":3,"file":"configure-mcp.js","sourceRoot":"","sources":["../../../src/lib/agents/configure-mcp.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IDE_ONLY_PROVIDERS = exports.AGENT_LAUNCHERS = void 0;
|
|
4
|
+
exports.resolveLaunchableAgents = resolveLaunchableAgents;
|
|
5
|
+
exports.launchAgent = launchAgent;
|
|
6
|
+
const node_child_process_1 = require("node:child_process");
|
|
7
|
+
exports.AGENT_LAUNCHERS = [
|
|
8
|
+
{
|
|
9
|
+
providerId: 'claude-code',
|
|
10
|
+
name: 'Claude Code',
|
|
11
|
+
bins: ['claude'],
|
|
12
|
+
args: (prompt) => [prompt],
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
providerId: 'cursor',
|
|
16
|
+
name: 'Cursor CLI',
|
|
17
|
+
bins: ['agent', 'cursor-agent'],
|
|
18
|
+
args: (prompt) => [prompt],
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
providerId: 'gemini',
|
|
22
|
+
name: 'Gemini CLI',
|
|
23
|
+
bins: ['gemini'],
|
|
24
|
+
// -i / --prompt-interactive: start interactive WITH the prompt.
|
|
25
|
+
// A bare positional prompt would run headless and exit.
|
|
26
|
+
args: (prompt) => ['-i', prompt],
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
providerId: 'codex',
|
|
30
|
+
name: 'Codex CLI',
|
|
31
|
+
bins: ['codex'],
|
|
32
|
+
args: (prompt) => [prompt],
|
|
33
|
+
},
|
|
34
|
+
];
|
|
35
|
+
/** Providers we detect but cannot launch from a shell (IDE surfaces). */
|
|
36
|
+
exports.IDE_ONLY_PROVIDERS = new Set(['windsurf', 'kiro', 'vscode']);
|
|
37
|
+
function binOnPath(cmd) {
|
|
38
|
+
try {
|
|
39
|
+
const which = process.platform === 'win32' ? 'where' : 'which';
|
|
40
|
+
(0, node_child_process_1.execSync)(`${which} ${cmd}`, { stdio: 'pipe' });
|
|
41
|
+
return true;
|
|
42
|
+
}
|
|
43
|
+
catch {
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Resolve the launchable agents on this machine: launcher registry ∩
|
|
49
|
+
* binary-on-PATH. Detection of config dirs (providers.ts `detect`) is NOT
|
|
50
|
+
* sufficient here — a user can have `~/.cursor` without the `agent`
|
|
51
|
+
* binary; launching needs the executable itself.
|
|
52
|
+
*/
|
|
53
|
+
function resolveLaunchableAgents() {
|
|
54
|
+
const out = [];
|
|
55
|
+
for (const l of exports.AGENT_LAUNCHERS) {
|
|
56
|
+
const bin = l.bins.find(binOnPath);
|
|
57
|
+
if (bin)
|
|
58
|
+
out.push({ providerId: l.providerId, name: l.name, bin, args: l.args });
|
|
59
|
+
}
|
|
60
|
+
return out;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Spawn the agent interactively with the Ritual flow preloaded. stdio is
|
|
64
|
+
* inherited — the agent takes over the terminal; we return its exit code.
|
|
65
|
+
*/
|
|
66
|
+
function launchAgent(agent, prompt) {
|
|
67
|
+
const result = (0, node_child_process_1.spawnSync)(agent.bin, agent.args(prompt), { stdio: 'inherit' });
|
|
68
|
+
return result.status ?? 0;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=launch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"launch.js","sourceRoot":"","sources":["../../../src/lib/agents/launch.ts"],"names":[],"mappings":";;;AAmGA,0DAOC;AAMD,kCAGC;AAnHD,2DAAyD;AA2C5C,QAAA,eAAe,GAAoB;IAC/C;QACC,UAAU,EAAE,aAAa;QACzB,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,CAAC,QAAQ,CAAC;QAChB,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC;KAC1B;IACD;QACC,UAAU,EAAE,QAAQ;QACpB,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,CAAC,OAAO,EAAE,cAAc,CAAC;QAC/B,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC;KAC1B;IACD;QACC,UAAU,EAAE,QAAQ;QACpB,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,CAAC,QAAQ,CAAC;QAChB,gEAAgE;QAChE,wDAAwD;QACxD,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC;KAChC;IACD;QACC,UAAU,EAAE,OAAO;QACnB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,CAAC,OAAO,CAAC;QACf,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC;KAC1B;CACD,CAAC;AAEF,yEAAyE;AAC5D,QAAA,kBAAkB,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;AAU1E,SAAS,SAAS,CAAC,GAAW;IAC7B,IAAI,CAAC;QACJ,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;QAC/D,IAAA,6BAAQ,EAAC,GAAG,KAAK,IAAI,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC;IACb,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,KAAK,CAAC;IACd,CAAC;AACF,CAAC;AAED;;;;;GAKG;AACH,SAAgB,uBAAuB;IACtC,MAAM,GAAG,GAAsB,EAAE,CAAC;IAClC,KAAK,MAAM,CAAC,IAAI,uBAAe,EAAE,CAAC;QACjC,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnC,IAAI,GAAG;YAAE,GAAG,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAClF,CAAC;IACD,OAAO,GAAG,CAAC;AACZ,CAAC;AAED;;;GAGG;AACH,SAAgB,WAAW,CAAC,KAAsB,EAAE,MAAc;IACjE,MAAM,MAAM,GAAG,IAAA,8BAAS,EAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAC9E,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;AAC3B,CAAC"}
|
|
@@ -186,8 +186,14 @@ exports.PROVIDERS = [
|
|
|
186
186
|
// `~/.codex/AGENTS.md` global, concatenated root-down each session.
|
|
187
187
|
projectMemoryRule: { path: 'AGENTS.md', mode: 'append' },
|
|
188
188
|
userMemoryRule: { path: (0, node_path_1.join)('.codex', 'AGENTS.md'), mode: 'append' },
|
|
189
|
-
|
|
190
|
-
|
|
189
|
+
// Codex reads MCP servers from `~/.codex/config.toml` as
|
|
190
|
+
// `[mcp_servers.<name>]` TOML tables — NOT a JSON file. (An earlier
|
|
191
|
+
// `~/.codex/mcp.json` assumption wrote a file Codex never reads.)
|
|
192
|
+
// Streamable-HTTP server with a literal Authorization header via the
|
|
193
|
+
// `http_headers` table (codex `bearer_token_env_var` would require an
|
|
194
|
+
// env var; `http_headers` takes static values, matching our PAT model).
|
|
195
|
+
mcpConfigMethod: 'toml-file',
|
|
196
|
+
mcpConfigPath: (0, node_path_1.join)((0, node_os_1.homedir)(), '.codex', 'config.toml'),
|
|
191
197
|
},
|
|
192
198
|
];
|
|
193
199
|
/** Look up a provider by its kebab-case id, or undefined if unknown. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../../../src/lib/agents/providers.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../../../src/lib/agents/providers.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,9 +2,11 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Final CTA box — last screen of `ritual init` in compact mode.
|
|
4
4
|
*
|
|
5
|
-
* Two-column "Ready to ship" panel
|
|
6
|
-
* build-flow explainer
|
|
7
|
-
*
|
|
5
|
+
* Two-column "Ready to ship" panel — the FTUE's payoff screen
|
|
6
|
+
* (2026-06-11: the standalone build-flow explainer was removed; its
|
|
7
|
+
* job collapsed into the one-line phase strip under the CTA, since
|
|
8
|
+
* the build flow now narrates itself live via the Job gate + the
|
|
9
|
+
* six-stage rail). Its job: turn the FTUE into action.
|
|
8
10
|
*
|
|
9
11
|
* LEFT column — primary CTA. Per-agent restart instructions
|
|
10
12
|
* (only the agents we actually wired this run),
|
|
@@ -25,9 +27,9 @@
|
|
|
25
27
|
*
|
|
26
28
|
* Width: 110 chars. Deliberately matches `welcome-banner.ts` so
|
|
27
29
|
* the FTUE is visually bookended — same frame at the open as the
|
|
28
|
-
* close. The
|
|
29
|
-
*
|
|
30
|
-
*
|
|
30
|
+
* close. The FTUE-middle workspace explainer uses the narrower
|
|
31
|
+
* 78-char frame because its body needs to breathe vertically
|
|
32
|
+
* rather than horizontally.
|
|
31
33
|
*
|
|
32
34
|
* Non-TTY / narrow terminal fallback: caller is expected to choose
|
|
33
35
|
* `printFinalCtaBoxTerse` instead — same content, no chrome.
|
|
@@ -105,8 +107,11 @@ function printFinalCtaBoxTerse(opts) {
|
|
|
105
107
|
out(` ${(0, colors_1.dim)('•')} ${line}\n`);
|
|
106
108
|
}
|
|
107
109
|
out('\n');
|
|
108
|
-
out(`${rule('2.
|
|
109
|
-
out(` ${(0, colors_1.color)(colors_1.RITUAL_TEAL, '›')}
|
|
110
|
+
out(`${rule('2. start your first build — right here')}\n`);
|
|
111
|
+
out(` ${(0, colors_1.color)(colors_1.RITUAL_TEAL, '›')} ritual build "<your feature>"\n`);
|
|
112
|
+
out(` ${(0, colors_1.dim)('(launches your agent — or type /ritual build inside it)')}\n`);
|
|
113
|
+
out(` ${(0, colors_1.dim)('what happens: Job → Scope → Discovery → Recommendations')}\n`);
|
|
114
|
+
out(` ${(0, colors_1.dim)(' → Build brief → your agent implements → PR')}\n`);
|
|
110
115
|
out('\n');
|
|
111
116
|
out(` ${(0, colors_1.dim)('more info — invoke when you want it:')}\n`);
|
|
112
117
|
const pairs = [
|
|
@@ -135,9 +140,16 @@ function renderLeftColumn(opts) {
|
|
|
135
140
|
lines.push(` ${(0, colors_1.dim)('•')} ${r}`);
|
|
136
141
|
}
|
|
137
142
|
lines.push('');
|
|
138
|
-
lines.push(` ${(0, colors_1.boldColor)(colors_1.RITUAL_TEAL, '2.
|
|
143
|
+
lines.push(` ${(0, colors_1.boldColor)(colors_1.RITUAL_TEAL, '2. start your first build — right here')}`);
|
|
139
144
|
lines.push('');
|
|
140
|
-
lines.push(` ${(0, colors_1.color)(colors_1.RITUAL_TEAL, '›')}
|
|
145
|
+
lines.push(` ${(0, colors_1.color)(colors_1.RITUAL_TEAL, '›')} ritual build "<your feature>"`);
|
|
146
|
+
lines.push(` ${(0, colors_1.dim)('(launches your agent — or type /ritual build inside it)')}`);
|
|
147
|
+
lines.push('');
|
|
148
|
+
// One-line teach of the flow shape — replaces the old full-screen
|
|
149
|
+
// build-flow explainer. The live six-stage rail re-teaches this on
|
|
150
|
+
// every /ritual build message, so a strip is all init needs.
|
|
151
|
+
lines.push(` ${(0, colors_1.dim)('what happens: Job → Scope → Discovery → Recommendations')}`);
|
|
152
|
+
lines.push(` ${(0, colors_1.dim)(' → Build brief → your agent implements → PR')}`);
|
|
141
153
|
return lines;
|
|
142
154
|
}
|
|
143
155
|
function renderRightColumn() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"final-cta-box.js","sourceRoot":"","sources":["../../src/lib/final-cta-box.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"final-cta-box.js","sourceRoot":"","sources":["../../src/lib/final-cta-box.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;;AAkCH,4CA6BC;AAaD,sDAsCC;AA4FD,wBAIC;AAED,8BAMC;AAxND,qCAA8D;AAmB9D,oEAAoE;AACpE,MAAM,CAAC,GAAG,GAAG,CAAC;AACd;;;;iEAIiE;AACjE,MAAM,MAAM,GAAG,EAAE,CAAC;AAElB;;;GAGG;AACH,SAAgB,gBAAgB,CAAC,IAAwB;IACxD,MAAM,QAAQ,GAAG,IAAA,cAAK,EAAC,oBAAW,EAAE,kBAAkB,CAAC,CAAC;IACxD,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAE5B,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;IAEvC,8DAA8D;IAC9D,+BAA+B;IAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IAC3D,OAAO,SAAS,CAAC,MAAM,GAAG,IAAI;QAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnD,OAAO,UAAU,CAAC,MAAM,GAAG,IAAI;QAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAErD,MAAM,OAAO,GAAG,IAAA,cAAK,EAAC,oBAAW,EAAE,GAAG,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,2CAA2C;IAE1E,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;IACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,MAAM,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QAC3C,MAAM,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QAC5C,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,GAAG,CAAC,GAAG,OAAO,GAAG,CAAC,GAAG,OAAO,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;IACvC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEnB,KAAK,MAAM,EAAE,IAAI,KAAK;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;AACzD,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,qBAAqB,CAAC,IAAwB;IAC7D,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACtD,MAAM,IAAI,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,IAAA,cAAK,EAAC,oBAAW,EAAE,GAAG,CAAC,IAAI,IAAA,kBAAS,EAAC,oBAAW,EAAE,KAAK,CAAC,EAAE,CAAC;IAChG,MAAM,KAAK,GAA6B,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAE3D,GAAG,CAAC,IAAI,CAAC,CAAC;IACV,GAAG,CAAC,KAAK,IAAA,kBAAS,EAAC,oBAAW,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;IACtD,GAAG,CAAC,IAAI,CAAC,CAAC;IAEV,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC9B,GAAG,CAAC,KAAK,IAAA,kBAAS,EAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACjE,GAAG,CAAC,IAAI,CAAC,CAAC;IACX,CAAC;IAED,GAAG,CAAC,GAAG,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,CAAC;IAClD,KAAK,MAAM,IAAI,IAAI,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;QAC1D,GAAG,CAAC,QAAQ,IAAA,YAAG,EAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC;IACnC,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,CAAC;IAEV,GAAG,CAAC,GAAG,IAAI,CAAC,wCAAwC,CAAC,IAAI,CAAC,CAAC;IAC3D,GAAG,CAAC,QAAQ,IAAA,cAAK,EAAC,oBAAW,EAAE,GAAG,CAAC,kCAAkC,CAAC,CAAC;IACvE,GAAG,CAAC,QAAQ,IAAA,YAAG,EAAC,yDAAyD,CAAC,IAAI,CAAC,CAAC;IAChF,GAAG,CAAC,QAAQ,IAAA,YAAG,EAAC,yDAAyD,CAAC,IAAI,CAAC,CAAC;IAChF,GAAG,CAAC,QAAQ,IAAA,YAAG,EAAC,0DAA0D,CAAC,IAAI,CAAC,CAAC;IACjF,GAAG,CAAC,IAAI,CAAC,CAAC;IAEV,GAAG,CAAC,KAAK,IAAA,YAAG,EAAC,sCAAsC,CAAC,IAAI,CAAC,CAAC;IAC1D,MAAM,KAAK,GAA4B;QACtC,CAAC,uBAAuB,EAAE,sCAAsC,CAAC;QACjE,CAAC,eAAe,EAAE,sCAAsC,CAAC;QACzD,CAAC,qBAAqB,EAAE,+BAA+B,CAAC;KACxD,CAAC;IACF,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACvD,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC;QACjC,GAAG,CAAC,OAAO,IAAA,cAAK,EAAC,oBAAW,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,IAAA,YAAG,EAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3E,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,CAAC;AACX,CAAC;AAED,gFAAgF;AAEhF,SAAS,gBAAgB,CAAC,IAAwB;IACjD,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC9B,4DAA4D;QAC5D,6DAA6D;QAC7D,kCAAkC;QAClC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAA,kBAAS,EAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;QACnF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAK,IAAA,kBAAS,EAAC,oBAAW,EAAE,+BAA+B,CAAC,EAAE,CAAC,CAAC;IAC3E,KAAK,MAAM,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;QACvD,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAA,YAAG,EAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrC,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,KAAK,IAAA,kBAAS,EAAC,oBAAW,EAAE,wCAAwC,CAAC,EAAE,CAAC,CAAC;IACpF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAA,cAAK,EAAC,oBAAW,EAAE,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAC5E,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAA,YAAG,EAAC,yDAAyD,CAAC,EAAE,CAAC,CAAC;IACrF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,kEAAkE;IAClE,mEAAmE;IACnE,6DAA6D;IAC7D,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAA,YAAG,EAAC,yDAAyD,CAAC,EAAE,CAAC,CAAC;IACrF,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAA,YAAG,EAAC,0DAA0D,CAAC,EAAE,CAAC,CAAC;IAEtF,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,iBAAiB;IACzB,6DAA6D;IAC7D,iEAAiE;IACjE,kEAAkE;IAClE,MAAM,KAAK,GAA4B;QACtC,CAAC,uBAAuB,EAAE,sCAAsC,CAAC;QACjE,CAAC,eAAe,EAAE,sCAAsC,CAAC;QACzD,CAAC,qBAAqB,EAAE,+BAA+B,CAAC;KACxD,CAAC;IAEF,MAAM,KAAK,GAAa;QACvB,KAAK,IAAA,YAAG,EAAC,sCAAsC,CAAC,EAAE;QAClD,EAAE;KACF,CAAC;IACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,OAAO,IAAA,cAAK,EAAC,oBAAW,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QAC7C,KAAK,CAAC,IAAI,CAAC,OAAO,IAAA,YAAG,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,SAAS,eAAe,CAAC,UAAoB;IAC5C,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,sDAAsD,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC9B,QAAQ,IAAI,EAAE,CAAC;YACd,KAAK,aAAa;gBACjB,OAAO,wDAAwD,CAAC;YACjE,KAAK,QAAQ;gBACZ,OAAO,4BAA4B,CAAC;YACrC,KAAK,UAAU;gBACd,OAAO,2BAA2B,CAAC;YACpC,KAAK,MAAM;gBACV,OAAO,uBAAuB,CAAC;YAChC,KAAK,YAAY;gBAChB,OAAO,4CAA4C,CAAC;YACrD,KAAK,mBAAmB;gBACvB,OAAO,mDAAmD,CAAC;YAC5D,KAAK,OAAO;gBACX,OAAO,sCAAsC,CAAC;YAC/C;gBACC,OAAO,GAAG,IAAI,sCAAsC,CAAC;QACvD,CAAC;IACF,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,+EAA+E;AAE/E,SAAgB,MAAM,CAAC,KAAa,EAAE,KAAa;IAClD,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,SAAS,GAAG,KAAK,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IAC9C,OAAO,IAAA,cAAK,EAAC,oBAAW,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,GAAG,IAAA,cAAK,EAAC,oBAAW,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;AACnH,CAAC;AAED,SAAgB,SAAS,CAAC,KAAa;IACtC,uDAAuD;IACvD,iDAAiD;IACjD,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAChC,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IAC1D,OAAO,IAAA,cAAK,EAAC,oBAAW,EAAE,IAAI,IAAI,IAAI,KAAK,GAAG,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,SAAS,CAAC,IAAY,EAAE,KAAa,EAAE,OAAe;IAC9D,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC;IAC9B,OAAO,GAAG,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,OAAO,GAAG,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,OAAO,EAAE,CAAC;AAChG,CAAC;AAED,SAAS,UAAU,CAAC,CAAS,EAAE,KAAa;IAC3C,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACnC,IAAI,MAAM,IAAI,KAAK;QAAE,OAAO,CAAC,CAAC;IAC9B,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,SAAS,CAAC,CAAS;IAC3B,4CAA4C;IAC5C,OAAO,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;AACzC,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.applyRitualHelpStyle = applyRitualHelpStyle;
|
|
4
|
+
exports.ritualBuildExamplesHelp = ritualBuildExamplesHelp;
|
|
5
|
+
const colors_1 = require("./colors");
|
|
6
|
+
/**
|
|
7
|
+
* Ritual-branded help styling for commander (2026-06-12).
|
|
8
|
+
*
|
|
9
|
+
* `ritual --help` was commander's plain monochrome dump; in a CLI whose
|
|
10
|
+
* every other surface is boxed/accented, the help screen was the one
|
|
11
|
+
* place with no visual hierarchy. Commander 13+ exposes per-part style
|
|
12
|
+
* hooks via configureHelp; we use them to emphasize exactly three
|
|
13
|
+
* things — section titles, command names, and option flags — and add a
|
|
14
|
+
* one-line orientation footer ("start here").
|
|
15
|
+
*
|
|
16
|
+
* Color discipline comes from colors.ts: NO_COLOR / non-TTY auto-strip,
|
|
17
|
+
* FORCE_COLOR overrides (which is also how the spec asserts styling).
|
|
18
|
+
* Style hooks return the input UNCHANGED when color mode is 'none', so
|
|
19
|
+
* piped `ritual --help | grep …` stays clean text.
|
|
20
|
+
*
|
|
21
|
+
* MUST be applied right after `new Command()` and BEFORE subcommands are
|
|
22
|
+
* registered — commander copies help configuration into subcommands at
|
|
23
|
+
* `.command()` time, so late application styles only the root.
|
|
24
|
+
*/
|
|
25
|
+
function applyRitualHelpStyle(program) {
|
|
26
|
+
program.configureHelp({
|
|
27
|
+
// Section titles: "Usage:", "Options:", "Commands:", "Arguments:"
|
|
28
|
+
styleTitle: (str) => (0, colors_1.boldColor)(colors_1.RITUAL_TEAL, str),
|
|
29
|
+
// Subcommand names in the Commands list — the main scan targets.
|
|
30
|
+
styleSubcommandTerm: (str) => (0, colors_1.boldColor)(colors_1.RITUAL_TEAL, str),
|
|
31
|
+
// Option flags (e.g. `--agent <id>`) — secondary emphasis.
|
|
32
|
+
styleOptionTerm: (str) => (0, colors_1.color)(colors_1.RITUAL_TEAL, str),
|
|
33
|
+
// Argument terms in usage lines.
|
|
34
|
+
styleArgumentTerm: (str) => (0, colors_1.color)(colors_1.RITUAL_TEAL, str),
|
|
35
|
+
// Descriptions stay plain; the program's own description dims so
|
|
36
|
+
// the command list above it carries the visual weight.
|
|
37
|
+
styleCommandDescription: (str) => (0, colors_1.dim)(str),
|
|
38
|
+
});
|
|
39
|
+
program.addHelpText('afterAll', () => '\n' +
|
|
40
|
+
` ${(0, colors_1.dim)('start here:')} ${(0, colors_1.boldColor)(colors_1.RITUAL_TEAL, 'ritual init')}` +
|
|
41
|
+
`${(0, colors_1.dim)(' · then: ')}${(0, colors_1.boldColor)(colors_1.RITUAL_TEAL, 'ritual build "<your feature>"')}\n`);
|
|
42
|
+
return program;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Examples block for `ritual build --help` — teaches the GRANULARITY range
|
|
46
|
+
* (a real point of confusion: users didn't know whether to type four words
|
|
47
|
+
* or a paragraph; the honest answer is both work, differently). Three
|
|
48
|
+
* deliberate specimens: terse (discovery extracts the detail), detailed
|
|
49
|
+
* (constraints/exclusions become binding scope — the don'ts literally
|
|
50
|
+
* resurface as the deliverable's Non-goals), and non-code (the Job gate
|
|
51
|
+
* classifies the full catalog, not just features).
|
|
52
|
+
*/
|
|
53
|
+
function ritualBuildExamplesHelp() {
|
|
54
|
+
return ('\n' +
|
|
55
|
+
`${(0, colors_1.boldColor)(colors_1.RITUAL_TEAL, 'Examples:')}\n` +
|
|
56
|
+
` ${(0, colors_1.color)(colors_1.RITUAL_TEAL, 'ritual build "audit log for admin actions"')}\n` +
|
|
57
|
+
` ${(0, colors_1.color)(colors_1.RITUAL_TEAL, 'ritual build')} ${(0, colors_1.color)(colors_1.RITUAL_TEAL, '"Add soft-delete for projects. Restorable 30 days, then purge')}\n` +
|
|
58
|
+
` ${(0, colors_1.color)(colors_1.RITUAL_TEAL, 'via the existing background-job system. Don\'t touch billing')}\n` +
|
|
59
|
+
` ${(0, colors_1.color)(colors_1.RITUAL_TEAL, 'records; exports must exclude deleted data."')}\n` +
|
|
60
|
+
` ${(0, colors_1.color)(colors_1.RITUAL_TEAL, 'ritual build "draft the launch brief for the new pricing tier"')} ${(0, colors_1.dim)('← any job, not just code')}\n` +
|
|
61
|
+
'\n' +
|
|
62
|
+
` ${(0, colors_1.dim)('A few words works — discovery extracts the detail. Constraints and')}\n` +
|
|
63
|
+
` ${(0, colors_1.dim)('exclusions you type become binding scope in the deliverable.')}\n`);
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=help-style.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"help-style.js","sourceRoot":"","sources":["../../src/lib/help-style.ts"],"names":[],"mappings":";;AAsBA,oDAwBC;AAWD,0DAaC;AArED,qCAA8D;AAE9D;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAgB,oBAAoB,CAAC,OAAgB;IACpD,OAAO,CAAC,aAAa,CAAC;QACrB,kEAAkE;QAClE,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,kBAAS,EAAC,oBAAW,EAAE,GAAG,CAAC;QAChD,iEAAiE;QACjE,mBAAmB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,kBAAS,EAAC,oBAAW,EAAE,GAAG,CAAC;QACzD,2DAA2D;QAC3D,eAAe,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,cAAK,EAAC,oBAAW,EAAE,GAAG,CAAC;QACjD,iCAAiC;QACjC,iBAAiB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,cAAK,EAAC,oBAAW,EAAE,GAAG,CAAC;QACnD,iEAAiE;QACjE,uDAAuD;QACvD,uBAAuB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,YAAG,EAAC,GAAG,CAAC;KAC1C,CAAC,CAAC;IAEH,OAAO,CAAC,WAAW,CAClB,UAAU,EACV,GAAG,EAAE,CACJ,IAAI;QACJ,KAAK,IAAA,YAAG,EAAC,aAAa,CAAC,IAAI,IAAA,kBAAS,EAAC,oBAAW,EAAE,aAAa,CAAC,EAAE;QAClE,GAAG,IAAA,YAAG,EAAC,WAAW,CAAC,GAAG,IAAA,kBAAS,EAAC,oBAAW,EAAE,+BAA+B,CAAC,IAAI,CAClF,CAAC;IAEF,OAAO,OAAO,CAAC;AAChB,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,uBAAuB;IACtC,OAAO,CACN,IAAI;QACJ,GAAG,IAAA,kBAAS,EAAC,oBAAW,EAAE,WAAW,CAAC,IAAI;QAC1C,KAAK,IAAA,cAAK,EAAC,oBAAW,EAAE,4CAA4C,CAAC,IAAI;QACzE,KAAK,IAAA,cAAK,EAAC,oBAAW,EAAE,cAAc,CAAC,IAAI,IAAA,cAAK,EAAC,oBAAW,EAAE,+DAA+D,CAAC,IAAI;QAClI,mBAAmB,IAAA,cAAK,EAAC,oBAAW,EAAE,8DAA8D,CAAC,IAAI;QACzG,mBAAmB,IAAA,cAAK,EAAC,oBAAW,EAAE,8CAA8C,CAAC,IAAI;QACzF,KAAK,IAAA,cAAK,EAAC,oBAAW,EAAE,gEAAgE,CAAC,KAAK,IAAA,YAAG,EAAC,0BAA0B,CAAC,IAAI;QACjI,IAAI;QACJ,KAAK,IAAA,YAAG,EAAC,oEAAoE,CAAC,IAAI;QAClF,KAAK,IAAA,YAAG,EAAC,8DAA8D,CAAC,IAAI,CAC5E,CAAC;AACH,CAAC"}
|
|
@@ -43,9 +43,7 @@
|
|
|
43
43
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
44
44
|
exports.readOnboardingState = readOnboardingState;
|
|
45
45
|
exports.updateOnboardingState = updateOnboardingState;
|
|
46
|
-
exports.shouldShowPersonaPicker = shouldShowPersonaPicker;
|
|
47
46
|
exports.shouldShowWorkspaceExplainer = shouldShowWorkspaceExplainer;
|
|
48
|
-
exports.shouldShowBuildFlowExplainer = shouldShowBuildFlowExplainer;
|
|
49
47
|
exports.resetOnboardingState = resetOnboardingState;
|
|
50
48
|
const node_os_1 = require("node:os");
|
|
51
49
|
const node_path_1 = require("node:path");
|
|
@@ -108,15 +106,18 @@ function updateOnboardingState(patch) {
|
|
|
108
106
|
* re-show after a year or after a major version bump, we change
|
|
109
107
|
* the predicate, not every call site.
|
|
110
108
|
*/
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
109
|
+
// shouldShowPersonaPicker was removed 2026-06-11 along with the interactive
|
|
110
|
+
// FTUE persona picker (JTBD-first entry) — persona now comes only from the
|
|
111
|
+
// `--persona` flag or a previously stored pick. The personaPickedAt /
|
|
112
|
+
// personaSlug state fields stay: existing machines keep their pick.
|
|
114
113
|
function shouldShowWorkspaceExplainer(state) {
|
|
115
114
|
return !state.workspaceExplainerSeenAt;
|
|
116
115
|
}
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
116
|
+
// shouldShowBuildFlowExplainer was removed 2026-06-11 with the standalone
|
|
117
|
+
// build-flow explainer screen — the final CTA box carries a one-line phase
|
|
118
|
+
// strip instead, and the live six-stage rail teaches the flow during the
|
|
119
|
+
// actual /ritual build. The buildFlowExplainerSeenAt state field stays
|
|
120
|
+
// (harmless on machines that already have it).
|
|
120
121
|
/**
|
|
121
122
|
* Wipe the on-disk state. Used by `ritual init --re-onboard` (a
|
|
122
123
|
* support escape hatch for "I want to see the intro again"). We
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onboarding-state.js","sourceRoot":"","sources":["../../src/lib/onboarding-state.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;;
|
|
1
|
+
{"version":3,"file":"onboarding-state.js","sourceRoot":"","sources":["../../src/lib/onboarding-state.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;;AAmDH,kDAeC;AAQD,sDAKC;AAaD,oEAEC;AAaD,oDAEC;AA3GD,qCAAkC;AAClC,yCAAiC;AACjC,qCAA6E;AAE7E,uDAAuD;AACvD,MAAM,eAAe,GAAG,CAAC,CAAC;AAwB1B;;;;;;;GAOG;AACH,SAAS,cAAc;IACtB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IACxC,MAAM,IAAI,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAA,gBAAI,EAAC,IAAA,iBAAO,GAAE,EAAE,SAAS,CAAC,CAAC;IACtE,OAAO,IAAA,gBAAI,EAAC,IAAI,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC;AAChD,CAAC;AAED;;;;;GAKG;AACH,SAAgB,mBAAmB;IAClC,MAAM,IAAI,GAAG,cAAc,EAAE,CAAC;IAC9B,IAAI,CAAC,IAAA,oBAAU,EAAC,IAAI,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3D,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,IAAA,sBAAY,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA6B,CAAC;QAC3D,IAAI,MAAM,CAAC,OAAO,KAAK,eAAe,EAAE,CAAC;YACxC,uDAAuD;YACvD,wDAAwD;YACxD,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;QACrC,CAAC;QACD,OAAO,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;IACrC,CAAC;AACF,CAAC;AAED;;;;;GAKG;AACH,SAAgB,qBAAqB,CAAC,KAA+B;IACpE,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;IACtC,MAAM,IAAI,GAAoB,EAAE,GAAG,OAAO,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;IACjF,OAAO,CAAC,IAAI,CAAC,CAAC;IACd,OAAO,IAAI,CAAC;AACb,CAAC;AAED;;;;;;GAMG;AACH,4EAA4E;AAC5E,2EAA2E;AAC3E,sEAAsE;AACtE,oEAAoE;AACpE,SAAgB,4BAA4B,CAAC,KAAsB;IAClE,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC;AACxC,CAAC;AACD,0EAA0E;AAC1E,2EAA2E;AAC3E,yEAAyE;AACzE,uEAAuE;AACvE,+CAA+C;AAE/C;;;;;GAKG;AACH,SAAgB,oBAAoB;IACnC,OAAO,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC;AACvC,CAAC;AAED,8EAA8E;AAE9E,SAAS,OAAO,CAAC,KAAsB;IACtC,MAAM,IAAI,GAAG,cAAc,EAAE,CAAC;IAC9B,MAAM,GAAG,GAAG,IAAA,gBAAI,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC7B,IAAI,CAAC,IAAA,oBAAU,EAAC,GAAG,CAAC;QAAE,IAAA,mBAAS,EAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,6DAA6D;IAC7D,8DAA8D;IAC9D,yDAAyD;IACzD,IAAA,uBAAa,EAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AACzF,CAAC"}
|
|
@@ -94,7 +94,24 @@ function planUninstall(cwd, opts, deps) {
|
|
|
94
94
|
}
|
|
95
95
|
}
|
|
96
96
|
}
|
|
97
|
-
// 4.
|
|
97
|
+
// 4. User-global skill copies (~/.claude/skills/ritual etc.) — `ritual init`
|
|
98
|
+
// writes these alongside the project copy, so a complete uninstall must
|
|
99
|
+
// at least SURFACE them. They live outside any project root, so per the
|
|
100
|
+
// safety contract we never auto-delete them — printed as commands the
|
|
101
|
+
// user runs themselves, like the MCP/npm steps.
|
|
102
|
+
for (const p of providers_1.PROVIDERS) {
|
|
103
|
+
if (p.userSkillDir) {
|
|
104
|
+
const dir = (0, node_path_1.join)(p.userSkillDir, 'ritual');
|
|
105
|
+
if (deps.exists(dir)) {
|
|
106
|
+
actions.push({
|
|
107
|
+
kind: 'manual-home-skill-remove',
|
|
108
|
+
command: `rm -rf '${dir}'`,
|
|
109
|
+
label: `${p.name} user-global skill bundle`,
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
// 5. The CLI binary itself — printed guidance; we can't reliably uninstall
|
|
98
115
|
// the running process mid-run, and npm-global removal is the user's step.
|
|
99
116
|
actions.push({ kind: 'manual-npm-uninstall', command: 'npm uninstall -g @ritualai/cli' });
|
|
100
117
|
return actions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uninstall-plan.js","sourceRoot":"","sources":["../../src/lib/uninstall-plan.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"uninstall-plan.js","sourceRoot":"","sources":["../../src/lib/uninstall-plan.ts"],"names":[],"mappings":"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"}
|