@ritualai/cli 0.5.0 → 0.7.1
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 +45 -16
- package/dist/commands/init.js +188 -20
- package/dist/commands/init.js.map +1 -1
- package/dist/index.js +0 -0
- package/dist/lib/oidc.js +60 -3
- package/dist/lib/oidc.js.map +1 -1
- package/package.json +73 -64
- package/skills/claude-code/ritual/DESIGN.md +35 -0
- package/skills/claude-code/ritual/SKILL.md +43 -370
- package/skills/claude-code/ritual/agents/openai.yaml +5 -0
- package/skills/claude-code/ritual/references/async-polling.md +26 -0
- package/skills/claude-code/ritual/references/build-flow.md +1449 -0
- package/skills/claude-code/ritual/references/cli-output-contract.md +135 -0
- package/skills/claude-code/ritual/references/context-pulse-flow.md +356 -0
- package/skills/claude-code/ritual/references/discovery-classification.md +175 -0
- package/skills/claude-code/ritual/references/lineage-flow.md +152 -0
- package/skills/claude-code/ritual/references/resume-flow.md +156 -0
- package/skills/claude-code/ritual/references/scoring-fallback.md +125 -0
- package/skills/codex/ritual/DESIGN.md +35 -0
- package/skills/codex/ritual/SKILL.md +43 -370
- package/skills/codex/ritual/agents/openai.yaml +5 -0
- package/skills/codex/ritual/references/async-polling.md +26 -0
- package/skills/codex/ritual/references/build-flow.md +1449 -0
- package/skills/codex/ritual/references/cli-output-contract.md +135 -0
- package/skills/codex/ritual/references/context-pulse-flow.md +356 -0
- package/skills/codex/ritual/references/discovery-classification.md +175 -0
- package/skills/codex/ritual/references/lineage-flow.md +152 -0
- package/skills/codex/ritual/references/resume-flow.md +156 -0
- package/skills/codex/ritual/references/scoring-fallback.md +125 -0
- package/skills/cursor/ritual/DESIGN.md +35 -0
- package/skills/cursor/ritual/SKILL.md +43 -370
- package/skills/cursor/ritual/agents/openai.yaml +5 -0
- package/skills/cursor/ritual/references/async-polling.md +26 -0
- package/skills/cursor/ritual/references/build-flow.md +1449 -0
- package/skills/cursor/ritual/references/cli-output-contract.md +135 -0
- package/skills/cursor/ritual/references/context-pulse-flow.md +356 -0
- package/skills/cursor/ritual/references/discovery-classification.md +175 -0
- package/skills/cursor/ritual/references/lineage-flow.md +152 -0
- package/skills/cursor/ritual/references/resume-flow.md +156 -0
- package/skills/cursor/ritual/references/scoring-fallback.md +125 -0
- package/skills/gemini/ritual/DESIGN.md +35 -0
- package/skills/gemini/ritual/SKILL.md +43 -370
- package/skills/gemini/ritual/agents/openai.yaml +5 -0
- package/skills/gemini/ritual/references/async-polling.md +26 -0
- package/skills/gemini/ritual/references/build-flow.md +1449 -0
- package/skills/gemini/ritual/references/cli-output-contract.md +135 -0
- package/skills/gemini/ritual/references/context-pulse-flow.md +356 -0
- package/skills/gemini/ritual/references/discovery-classification.md +175 -0
- package/skills/gemini/ritual/references/lineage-flow.md +152 -0
- package/skills/gemini/ritual/references/resume-flow.md +156 -0
- package/skills/gemini/ritual/references/scoring-fallback.md +125 -0
- package/skills/kiro/ritual/DESIGN.md +35 -0
- package/skills/kiro/ritual/SKILL.md +43 -370
- package/skills/kiro/ritual/agents/openai.yaml +5 -0
- package/skills/kiro/ritual/references/async-polling.md +26 -0
- package/skills/kiro/ritual/references/build-flow.md +1449 -0
- package/skills/kiro/ritual/references/cli-output-contract.md +135 -0
- package/skills/kiro/ritual/references/context-pulse-flow.md +356 -0
- package/skills/kiro/ritual/references/discovery-classification.md +175 -0
- package/skills/kiro/ritual/references/lineage-flow.md +152 -0
- package/skills/kiro/ritual/references/resume-flow.md +156 -0
- package/skills/kiro/ritual/references/scoring-fallback.md +125 -0
- package/skills/vscode/ritual/DESIGN.md +35 -0
- package/skills/vscode/ritual/SKILL.md +43 -370
- package/skills/vscode/ritual/agents/openai.yaml +5 -0
- package/skills/vscode/ritual/references/async-polling.md +26 -0
- package/skills/vscode/ritual/references/build-flow.md +1449 -0
- package/skills/vscode/ritual/references/cli-output-contract.md +135 -0
- package/skills/vscode/ritual/references/context-pulse-flow.md +356 -0
- package/skills/vscode/ritual/references/discovery-classification.md +175 -0
- package/skills/vscode/ritual/references/lineage-flow.md +152 -0
- package/skills/vscode/ritual/references/resume-flow.md +156 -0
- package/skills/vscode/ritual/references/scoring-fallback.md +125 -0
package/README.md
CHANGED
|
@@ -4,6 +4,8 @@ The Ritual CLI. Connects your AI coding agent (Claude Code, Cursor,
|
|
|
4
4
|
Codex, Kiro, Gemini CLI, Windsurf, etc.) to Ritual Cloud via the
|
|
5
5
|
[Model Context Protocol][mcp].
|
|
6
6
|
|
|
7
|
+
Docs: [ritual.work/ritual-mcp/docs/](https://ritual.work/ritual-mcp/docs/)
|
|
8
|
+
|
|
7
9
|
## Install
|
|
8
10
|
|
|
9
11
|
```bash
|
|
@@ -50,8 +52,34 @@ cached and refreshed automatically).
|
|
|
50
52
|
the MCP server config (`claude mcp add-json` for Claude Code, or
|
|
51
53
|
`mcp.json` merge for the others) with the PAT as the Bearer.
|
|
52
54
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
+
## After `ritual init` — close and reopen your agent
|
|
56
|
+
|
|
57
|
+
The CLI registers the MCP server, but every agent caches its MCP
|
|
58
|
+
config at startup. **You must fully close and reopen the agent**
|
|
59
|
+
for the `ritual` server to come online. Reloading the window or
|
|
60
|
+
running `/clear` is usually NOT enough — kill the process and start
|
|
61
|
+
a fresh one.
|
|
62
|
+
|
|
63
|
+
After restarting, verify the registration landed:
|
|
64
|
+
|
|
65
|
+
| Agent | How to verify |
|
|
66
|
+
|---|---|
|
|
67
|
+
| Claude Code | `claude mcp list` from any terminal — `ritual` should appear, status `●` (green). Or `/mcp` inside Claude Code. |
|
|
68
|
+
| Cursor | Settings → MCP → look for `ritual` server with a green toggle. Or `cat ~/.cursor/mcp.json` and confirm `mcpServers.ritual` is present. |
|
|
69
|
+
| Windsurf | Settings → Plugins / MCP → look for `ritual`. Or `cat ~/.codeium/windsurf/mcp_config.json`. |
|
|
70
|
+
| Kiro | Settings → MCP Servers → confirm `ritual` is listed. Or `cat ~/.kiro/mcp.json`. |
|
|
71
|
+
| Gemini CLI | `cat ~/.gemini/mcp.json` — `mcpServers.ritual` should be present. (Gemini's `mcp list` subcommand isn't available in every build yet.) |
|
|
72
|
+
| VS Code (Copilot) | Open the Copilot Chat panel → click the MCP icon → confirm `ritual` is listed and enabled. Or `cat ~/.vscode/mcp.json` — note the top-level key is `servers`, not `mcpServers`. |
|
|
73
|
+
| Codex | `cat ~/.codex/mcp.json` and confirm `mcpServers.ritual` is present. |
|
|
74
|
+
|
|
75
|
+
If `ritual` is missing from your agent, run `ritual doctor` to see
|
|
76
|
+
which agents were detected and which got the MCP registration. Common
|
|
77
|
+
causes: agent installed in a non-standard location, or the agent was
|
|
78
|
+
running during `init` and cached the old config (close + reopen).
|
|
79
|
+
|
|
80
|
+
Once you see `ritual` registered, try `/ritual build <feature>`
|
|
81
|
+
inside the agent. The CLI is now out of the way — everything happens
|
|
82
|
+
via the agent's MCP client talking to Ritual Cloud.
|
|
55
83
|
|
|
56
84
|
## Commands
|
|
57
85
|
|
|
@@ -69,7 +97,7 @@ The agent ids are: `claude-code`, `cursor`, `windsurf`, `kiro`,
|
|
|
69
97
|
for a specific one without auto-detecting (handy when you've got the
|
|
70
98
|
agent installed somewhere non-standard).
|
|
71
99
|
|
|
72
|
-
## How refresh works
|
|
100
|
+
## How refresh works
|
|
73
101
|
|
|
74
102
|
Keycloak issues a short-lived access token (~5 min by default) and a
|
|
75
103
|
longer-lived refresh token (~30 min). The CLI handles this transparently:
|
|
@@ -104,27 +132,24 @@ secret, no manual API key copy-paste.
|
|
|
104
132
|
|
|
105
133
|
## Override defaults
|
|
106
134
|
|
|
107
|
-
|
|
135
|
+
The CLI points at Ritual Cloud by default. To point it at a different
|
|
136
|
+
Ritual deployment (a self-hosted instance, an enterprise tenant, or
|
|
137
|
+
a staging environment), set environment variables:
|
|
108
138
|
|
|
109
139
|
```bash
|
|
110
|
-
|
|
140
|
+
export RITUAL_KEYCLOAK_URL=https://<your-keycloak-host>/realms/<realm>
|
|
141
|
+
export RITUAL_API_URL=https://<your-api-host>
|
|
142
|
+
ritual login
|
|
111
143
|
```
|
|
112
144
|
|
|
113
|
-
|
|
145
|
+
Or pass `--issuer` to `ritual login` for a one-off override:
|
|
114
146
|
|
|
115
147
|
```bash
|
|
116
|
-
|
|
117
|
-
ritual login
|
|
148
|
+
ritual login --issuer https://<your-keycloak-host>/realms/<realm>
|
|
118
149
|
```
|
|
119
150
|
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
- Per-agent skill *format transforms* (currently every agent gets the
|
|
123
|
-
same SKILL.md; future versions emit Cursor `.mdc`, Kiro YAML,
|
|
124
|
-
Gemini's specific frontmatter).
|
|
125
|
-
- Workflow commands (`ritual explore`, `ritual run`, `ritual brief`)
|
|
126
|
-
that wrap the MCP tools so you can drive Ritual from the terminal
|
|
127
|
-
outside an agent session.
|
|
151
|
+
`ritual doctor` prints the effective endpoints so you can confirm
|
|
152
|
+
the override took.
|
|
128
153
|
|
|
129
154
|
## Security notes
|
|
130
155
|
|
|
@@ -136,5 +161,9 @@ ritual login
|
|
|
136
161
|
client secret). PKCE is what makes this safe — only the CLI process
|
|
137
162
|
that generated the verifier can exchange the code.
|
|
138
163
|
|
|
164
|
+
## License
|
|
165
|
+
|
|
166
|
+
Apache-2.0. See [LICENSE](./LICENSE) for the full text.
|
|
167
|
+
|
|
139
168
|
[mcp]: https://modelcontextprotocol.io
|
|
140
169
|
[rfc8252]: https://datatracker.ietf.org/doc/html/rfc8252
|
package/dist/commands/init.js
CHANGED
|
@@ -172,8 +172,7 @@ async function initCommand(opts = {}) {
|
|
|
172
172
|
process.exitCode = 1;
|
|
173
173
|
return;
|
|
174
174
|
}
|
|
175
|
-
|
|
176
|
-
console.log(` Manage tokens at: ${webAppUrlFromIssuer(issuer)}/settings/tokens`);
|
|
175
|
+
printKeyCreatedBlock(pat, webAppUrlFromIssuer(issuer));
|
|
177
176
|
console.log('');
|
|
178
177
|
// --- 3.5 Bind a project workspace --------------------------------
|
|
179
178
|
// Project-scoped state — see ./../lib/workspace-flow.ts for the
|
|
@@ -201,24 +200,26 @@ async function initCommand(opts = {}) {
|
|
|
201
200
|
registrationResults.push((0, configure_mcp_1.configureMcpForAgent)(t.provider, { url: mcpUrl, token: pat.plaintextToken }));
|
|
202
201
|
}
|
|
203
202
|
// --- 5. Summary --------------------------------------------------
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
203
|
+
//
|
|
204
|
+
// Two pieces of feedback the user gets here:
|
|
205
|
+
//
|
|
206
|
+
// (a) `Detected coding agents:` — dotted-aligned table of all
|
|
207
|
+
// known agents with `configured` / `not detected` / `failed`
|
|
208
|
+
// status. Mirrors the legacy CLI's `printSummary` output so
|
|
209
|
+
// any user who used the legacy CLI sees a familiar shape.
|
|
210
|
+
//
|
|
211
|
+
// (b) `Next steps:` — verify-then-restart pattern. Crucially,
|
|
212
|
+
// if the user ran `ritual init` from inside a Claude Code
|
|
213
|
+
// session (detected via env vars), we surface a prominent
|
|
214
|
+
// yellow warning that the CURRENT session won't see the
|
|
215
|
+
// new MCP server until restart. This was the single biggest
|
|
216
|
+
// footgun the legacy CLI surfaced and we want feature parity.
|
|
217
|
+
printDetectedAgentsBlock(targets, copyResults, registrationResults);
|
|
218
|
+
printNextStepsBlock({
|
|
219
|
+
targets,
|
|
220
|
+
registrationResults,
|
|
221
|
+
mcpUrl,
|
|
222
|
+
});
|
|
222
223
|
}
|
|
223
224
|
/** Tiny helper for the lazy-auth message ("you are not signed in" → "You are..."). */
|
|
224
225
|
function capitalize(s) {
|
|
@@ -246,4 +247,171 @@ function webAppUrlFromIssuer(issuer) {
|
|
|
246
247
|
return 'https://app.ritualapp.cloud';
|
|
247
248
|
}
|
|
248
249
|
}
|
|
250
|
+
// =============================================================================
|
|
251
|
+
// Output helpers — feature-parity with legacy CLI's polished init summary.
|
|
252
|
+
// =============================================================================
|
|
253
|
+
//
|
|
254
|
+
// Ported 2026-05-11. Legacy lives at
|
|
255
|
+
// ~/Development/ritual-mcp-server/src/cli/commands/login.ts but its
|
|
256
|
+
// URLs / config locations are legacy-specific; the vNext versions
|
|
257
|
+
// below adapt to vNext's pattern (PAT stored in agent MCP config, not
|
|
258
|
+
// in a home-global file).
|
|
259
|
+
/**
|
|
260
|
+
* Concise summary of what `mintAgentPat` just created. Surfaces enough
|
|
261
|
+
* for the user to find + revoke the token later, without echoing the
|
|
262
|
+
* plaintext to stdout (which would leak via screenshots / clipboard /
|
|
263
|
+
* terminal history).
|
|
264
|
+
*/
|
|
265
|
+
function printKeyCreatedBlock(pat, webAppUrl) {
|
|
266
|
+
const expiry = pat.expiresAt
|
|
267
|
+
? new Date(pat.expiresAt).toISOString().slice(0, 10) // YYYY-MM-DD
|
|
268
|
+
: 'never';
|
|
269
|
+
console.log(` ✓ Created MCP key`);
|
|
270
|
+
console.log(` Name: ${pat.name}`);
|
|
271
|
+
console.log(` Scope: admin`);
|
|
272
|
+
console.log(` Expires: ${expiry}`);
|
|
273
|
+
console.log(` Stored: in your agent's MCP config (e.g. ~/.claude.json)`);
|
|
274
|
+
console.log(` Manage: ${webAppUrl}/settings/tokens`);
|
|
275
|
+
console.log(` (Token not displayed for security. Use the manage URL to copy or revoke.)`);
|
|
276
|
+
}
|
|
277
|
+
/**
|
|
278
|
+
* Dotted-aligned table of every known agent with its status.
|
|
279
|
+
* Mirrors the legacy CLI's output so users who have used the
|
|
280
|
+
* legacy CLI find a familiar shape.
|
|
281
|
+
*
|
|
282
|
+
* Claude Code ........... configured
|
|
283
|
+
* Cursor ................ not detected
|
|
284
|
+
* Windsurf .............. not detected
|
|
285
|
+
* VS Code (Copilot) ..... configured
|
|
286
|
+
* ...
|
|
287
|
+
*
|
|
288
|
+
* Lists detected-and-configured FIRST, then detected-but-failed,
|
|
289
|
+
* then not-detected (dimmed). Failed entries get a manual-fix hint.
|
|
290
|
+
*/
|
|
291
|
+
function printDetectedAgentsBlock(targets, copyResults, registrationResults) {
|
|
292
|
+
console.log(' Detected coding agents:');
|
|
293
|
+
// Build a status string per known agent.
|
|
294
|
+
const targetIds = new Set(targets.map((t) => t.provider.id));
|
|
295
|
+
const detections = (0, detector_1.detectAgents)();
|
|
296
|
+
const longestName = Math.max(...providers_1.PROVIDERS.map((p) => p.name.length), 18);
|
|
297
|
+
for (const d of detections) {
|
|
298
|
+
const dots = '.'.repeat(Math.max(1, longestName - d.name.length + 4));
|
|
299
|
+
if (!d.detected) {
|
|
300
|
+
console.log(` ${d.name} ${dots} not detected`);
|
|
301
|
+
continue;
|
|
302
|
+
}
|
|
303
|
+
// Detected, but did we target this agent in this run?
|
|
304
|
+
// (User can scope via --agent <id>.)
|
|
305
|
+
if (!targetIds.has(d.id)) {
|
|
306
|
+
console.log(` ${d.name} ${dots} detected (skipped — not selected)`);
|
|
307
|
+
continue;
|
|
308
|
+
}
|
|
309
|
+
const reg = registrationResults.find((r) => r.provider.id === d.id);
|
|
310
|
+
if (reg?.success) {
|
|
311
|
+
console.log(` ${d.name} ${dots} configured`);
|
|
312
|
+
}
|
|
313
|
+
else {
|
|
314
|
+
console.log(` ${d.name} ${dots} failed: ${reg?.reason ?? 'unknown'}`);
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
// Per-agent skill copy summary — kept here because users sometimes
|
|
318
|
+
// scan the dotted table and miss the more detailed counts.
|
|
319
|
+
console.log('');
|
|
320
|
+
console.log(' Skills copied:');
|
|
321
|
+
for (const t of targets) {
|
|
322
|
+
const copy = copyResults.find((r) => r.provider.id === t.provider.id);
|
|
323
|
+
const status = copy.copied > 0
|
|
324
|
+
? `${copy.copied} → ${t.provider.projectSkillDir}/`
|
|
325
|
+
: `skipped (${copy.reason ?? 'unknown'})`;
|
|
326
|
+
console.log(` ${t.provider.name}: ${status}`);
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
/**
|
|
330
|
+
* Verify-then-restart Next-steps block. Replaces the previous 2-line
|
|
331
|
+
* "Next: restart your AI coding agent" with the structured pattern
|
|
332
|
+
* the legacy CLI shipped, tuned for vNext:
|
|
333
|
+
*
|
|
334
|
+
* ⚠ Warning if running INSIDE Claude Code (current session won't
|
|
335
|
+
* see the new MCP server until you restart it).
|
|
336
|
+
* 1. Verify connection — `claude mcp list` + expected output.
|
|
337
|
+
* Diagnostic fallback: `ritual doctor`.
|
|
338
|
+
* 2. Restart Claude Code (3 bullet sub-steps).
|
|
339
|
+
* Per-agent restart hints (Cursor / Windsurf / VS Code).
|
|
340
|
+
* "Once connected, you can use:" — quick-reference of the main
|
|
341
|
+
* ritual commands.
|
|
342
|
+
*/
|
|
343
|
+
function printNextStepsBlock(args) {
|
|
344
|
+
const { targets, registrationResults, mcpUrl } = args;
|
|
345
|
+
const configuredIds = new Set(registrationResults
|
|
346
|
+
.filter((r) => r.success)
|
|
347
|
+
.map((r) => r.provider.id));
|
|
348
|
+
const hasClaudeCode = configuredIds.has('claude-code') &&
|
|
349
|
+
targets.some((t) => t.provider.id === 'claude-code');
|
|
350
|
+
const hasCursor = configuredIds.has('cursor');
|
|
351
|
+
const hasWindsurf = configuredIds.has('windsurf');
|
|
352
|
+
const hasVsCode = configuredIds.has('vscode') || configuredIds.has('vs-code');
|
|
353
|
+
console.log('');
|
|
354
|
+
console.log(' Next steps:');
|
|
355
|
+
// ⚠ Inside-Claude warning — important enough to lead with.
|
|
356
|
+
if (hasClaudeCode && isInsideClaudeCode()) {
|
|
357
|
+
console.log('');
|
|
358
|
+
console.log(' ⚠ You\'re running this from inside a Claude Code session.');
|
|
359
|
+
console.log(' The CURRENT session will NOT see ritual tools until you restart it.');
|
|
360
|
+
}
|
|
361
|
+
if (hasClaudeCode) {
|
|
362
|
+
console.log('');
|
|
363
|
+
console.log(' 1. Verify the connection — run this in a regular terminal');
|
|
364
|
+
console.log(' (not inside Claude):');
|
|
365
|
+
console.log('');
|
|
366
|
+
console.log(' claude mcp list');
|
|
367
|
+
console.log('');
|
|
368
|
+
console.log(' You should see:');
|
|
369
|
+
console.log(` ritual: ${mcpUrl} (HTTP) - ✓ Connected`);
|
|
370
|
+
console.log('');
|
|
371
|
+
console.log(' If it shows ✗ Failed to connect, run: ritual doctor');
|
|
372
|
+
console.log('');
|
|
373
|
+
console.log(' 2. Restart Claude Code so the new MCP server loads:');
|
|
374
|
+
console.log(' • Exit any running Claude sessions (Ctrl-C or /exit)');
|
|
375
|
+
console.log(' • Run `claude` again');
|
|
376
|
+
console.log(' • Inside Claude, type /mcp — `ritual` should be listed');
|
|
377
|
+
}
|
|
378
|
+
// Per-agent restart hints — only emit for agents we actually wired.
|
|
379
|
+
if (hasCursor) {
|
|
380
|
+
console.log('');
|
|
381
|
+
console.log(' Cursor: restart Cursor (Cmd-Q then reopen) to load the MCP server.');
|
|
382
|
+
}
|
|
383
|
+
if (hasWindsurf) {
|
|
384
|
+
console.log('');
|
|
385
|
+
console.log(' Windsurf: restart Windsurf to load the MCP server.');
|
|
386
|
+
}
|
|
387
|
+
if (hasVsCode) {
|
|
388
|
+
console.log('');
|
|
389
|
+
console.log(' VS Code: reload the window (Cmd+Shift+P → "Developer: Reload Window")');
|
|
390
|
+
console.log(' to load the MCP server.');
|
|
391
|
+
}
|
|
392
|
+
console.log('');
|
|
393
|
+
console.log(' Once connected, you can use:');
|
|
394
|
+
console.log(' /ritual build <feature> — full pipeline (from your coding agent)');
|
|
395
|
+
console.log(' ritual graph status — see the workspace knowledge graph');
|
|
396
|
+
console.log(' ritual doctor — diagnose MCP / auth setup');
|
|
397
|
+
console.log('');
|
|
398
|
+
console.log(' Setup complete.');
|
|
399
|
+
console.log('');
|
|
400
|
+
}
|
|
401
|
+
/**
|
|
402
|
+
* Heuristic: are we running inside an active Claude Code session?
|
|
403
|
+
*
|
|
404
|
+
* Claude Code sets one or more of these env vars when spawning a child
|
|
405
|
+
* process from within a session. Any one of them being present is a
|
|
406
|
+
* strong signal — we don't need all three. (Names are stable across
|
|
407
|
+
* Claude Code releases since Sept 2025.)
|
|
408
|
+
*
|
|
409
|
+
* Used to surface a prominent warning that the CURRENT Claude session
|
|
410
|
+
* won't see the new MCP server until restart.
|
|
411
|
+
*/
|
|
412
|
+
function isInsideClaudeCode() {
|
|
413
|
+
return (!!process.env.CLAUDECODE ||
|
|
414
|
+
!!process.env.CLAUDE_CODE_ENTRYPOINT ||
|
|
415
|
+
!!process.env.CLAUDE_CODE_SESSION_ID);
|
|
416
|
+
}
|
|
249
417
|
//# 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/index.js
CHANGED
|
File without changes
|
package/dist/lib/oidc.js
CHANGED
|
@@ -17,14 +17,32 @@ function generatePkce() {
|
|
|
17
17
|
* Spin up a one-shot loopback server on a random port. Resolves with
|
|
18
18
|
* the captured `?code=...&state=...` query params from the OAuth
|
|
19
19
|
* redirect. Rejects on timeout (default 5 min) or error response.
|
|
20
|
+
*
|
|
21
|
+
* The timeout path is the common failure mode for new users who have
|
|
22
|
+
* to click an email-verification link: by the time the verification
|
|
23
|
+
* email arrives + the user notices + clicks, the 5-minute window has
|
|
24
|
+
* elapsed and Keycloak's redirect lands on a port we no longer hold.
|
|
25
|
+
* Phase 1 of the back-to-terminal UX (R1, 2026-05-12) gives those
|
|
26
|
+
* users a recoverable landing page on the web app
|
|
27
|
+
* (`/auth/cli-success`); the timeout error below points them at it.
|
|
28
|
+
*
|
|
29
|
+
* Phase 2 (Device Authorization Grant, RFC 8628) replaces this whole
|
|
30
|
+
* flow with one that doesn't depend on the original browser/CLI
|
|
31
|
+
* staying linked, eliminating the timeout class entirely.
|
|
20
32
|
*/
|
|
21
|
-
function awaitAuthorizationRedirect(timeoutMs = 5 * 60 * 1000) {
|
|
33
|
+
function awaitAuthorizationRedirect(issuer, timeoutMs = 5 * 60 * 1000) {
|
|
22
34
|
let port = 0;
|
|
23
35
|
let serverRef;
|
|
24
36
|
const promise = new Promise((resolve, reject) => {
|
|
25
37
|
const timer = setTimeout(() => {
|
|
26
38
|
serverRef.close();
|
|
27
|
-
|
|
39
|
+
const fallback = cliSuccessFallbackUrl(issuer);
|
|
40
|
+
reject(new Error(`Login timed out — no callback received within 5 minutes.\n` +
|
|
41
|
+
` If you were asked to verify your email, the verification link's redirect\n` +
|
|
42
|
+
` came back after this CLI gave up listening. Recover with one of:\n` +
|
|
43
|
+
` 1. Re-run \`ritual login\` and click the verification link sooner, OR\n` +
|
|
44
|
+
` 2. Finish signing in at ${fallback} and copy a token back.\n` +
|
|
45
|
+
` The second option works even if you opened the email on a different device.`));
|
|
28
46
|
}, timeoutMs);
|
|
29
47
|
const server = (0, node_http_1.createServer)((req, res) => {
|
|
30
48
|
if (!req.url) {
|
|
@@ -83,7 +101,7 @@ async function performLoginFlow(cfg, openBrowser, log) {
|
|
|
83
101
|
const state = base64url((0, node_crypto_1.randomBytes)(16));
|
|
84
102
|
// Bind loopback server FIRST so we know which port to put in the
|
|
85
103
|
// redirect URI before sending the user off to Keycloak.
|
|
86
|
-
const { server, promise } = awaitAuthorizationRedirect();
|
|
104
|
+
const { server, promise } = awaitAuthorizationRedirect(cfg.issuer);
|
|
87
105
|
// Wait one tick for `listen()` to populate the port.
|
|
88
106
|
await new Promise((r) => setImmediate(r));
|
|
89
107
|
const addr = server.address();
|
|
@@ -195,6 +213,45 @@ function decodeJwtPayloadUnsafe(token) {
|
|
|
195
213
|
return null;
|
|
196
214
|
}
|
|
197
215
|
}
|
|
216
|
+
/**
|
|
217
|
+
* Build the web-app URL the user can visit to recover from a stuck
|
|
218
|
+
* CLI flow. Mirrors `webAppUrlFromIssuer` in commands/init.ts (kept
|
|
219
|
+
* separate to avoid a circular import between commands/ and lib/).
|
|
220
|
+
*
|
|
221
|
+
* Maps:
|
|
222
|
+
* auth.dev.ritualapp.cloud → dev.ritualapp.cloud/auth/signin?source=cli
|
|
223
|
+
* auth.ritualapp.cloud → app.ritualapp.cloud/auth/signin?source=cli
|
|
224
|
+
* self-hosted auth.<customer>.* → app.<customer>.* (best-effort)
|
|
225
|
+
*
|
|
226
|
+
* The `?source=cli` query param is read by the web app's signin /
|
|
227
|
+
* signup pages and routes the post-auth landing to /auth/cli-success
|
|
228
|
+
* instead of the dashboard. See
|
|
229
|
+
* apps/web/src/routes/(public)/auth/cli-success/+page.svelte for the
|
|
230
|
+
* full UX.
|
|
231
|
+
*/
|
|
232
|
+
function cliSuccessFallbackUrl(issuer) {
|
|
233
|
+
try {
|
|
234
|
+
const u = new node_url_1.URL(issuer);
|
|
235
|
+
const host = u.host;
|
|
236
|
+
let appHost;
|
|
237
|
+
if (host.startsWith('auth.dev.')) {
|
|
238
|
+
appHost = 'dev.ritualapp.cloud';
|
|
239
|
+
}
|
|
240
|
+
else if (host === 'auth.ritualapp.cloud') {
|
|
241
|
+
appHost = 'app.ritualapp.cloud';
|
|
242
|
+
}
|
|
243
|
+
else {
|
|
244
|
+
appHost = host.replace(/^auth\./, 'app.');
|
|
245
|
+
}
|
|
246
|
+
return `https://${appHost}/auth/signin?source=cli`;
|
|
247
|
+
}
|
|
248
|
+
catch {
|
|
249
|
+
// Issuer URL malformed — fall back to the prod app domain.
|
|
250
|
+
// The user can still navigate; just won't match a self-hosted
|
|
251
|
+
// install's domain.
|
|
252
|
+
return 'https://app.ritualapp.cloud/auth/signin?source=cli';
|
|
253
|
+
}
|
|
254
|
+
}
|
|
198
255
|
// ─── small html helpers for the loopback browser response ──────────────────
|
|
199
256
|
function htmlPage(title, body) {
|
|
200
257
|
return `<!doctype html><html><head><meta charset="utf-8"><title>${escapeHtml(title)}</title>
|
package/dist/lib/oidc.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oidc.js","sourceRoot":"","sources":["../../src/lib/oidc.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"oidc.js","sourceRoot":"","sources":["../../src/lib/oidc.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,65 +1,74 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
2
|
+
"name": "@ritualai/cli",
|
|
3
|
+
"version": "0.7.1",
|
|
4
|
+
"description": "Ritual CLI — scaffold AI coding agent skills + register MCP servers. Connects Claude Code, Cursor, Windsurf, Kiro, Gemini CLI, VS Code/Copilot, and Codex to Ritual Cloud.",
|
|
5
|
+
"private": false,
|
|
6
|
+
"license": "Apache-2.0",
|
|
7
|
+
"homepage": "https://ritual.work/ritual-mcp/docs/",
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "git+https://github.com/Ritual-Mobile/ritual-enterprise.git",
|
|
11
|
+
"directory": "apps/cli"
|
|
12
|
+
},
|
|
13
|
+
"author": "Ritual",
|
|
14
|
+
"publishConfig": {
|
|
15
|
+
"access": "public"
|
|
16
|
+
},
|
|
17
|
+
"bin": {
|
|
18
|
+
"ritual": "./dist/index.js"
|
|
19
|
+
},
|
|
20
|
+
"main": "./dist/index.js",
|
|
21
|
+
"files": [
|
|
22
|
+
"dist",
|
|
23
|
+
"skills",
|
|
24
|
+
"README.md"
|
|
25
|
+
],
|
|
26
|
+
"dependencies": {
|
|
27
|
+
"commander": "^14.0.3",
|
|
28
|
+
"open": "^10.1.0",
|
|
29
|
+
"@ritual/shared-types": "^1.0.0"
|
|
30
|
+
},
|
|
31
|
+
"devDependencies": {
|
|
32
|
+
"@types/jest": "^29.5.0",
|
|
33
|
+
"@types/node": "^20.0.0",
|
|
34
|
+
"jest": "^29.7.0",
|
|
35
|
+
"ts-jest": "^29.1.0",
|
|
36
|
+
"tsx": "^4.19.0",
|
|
37
|
+
"typescript": "^5.0.0"
|
|
38
|
+
},
|
|
39
|
+
"engines": {
|
|
40
|
+
"node": ">=20.0.0"
|
|
41
|
+
},
|
|
42
|
+
"keywords": [
|
|
43
|
+
"ritual",
|
|
44
|
+
"mcp",
|
|
45
|
+
"ai-coding-agent",
|
|
46
|
+
"claude-code",
|
|
47
|
+
"cursor",
|
|
48
|
+
"windsurf",
|
|
49
|
+
"kiro",
|
|
50
|
+
"gemini-cli",
|
|
51
|
+
"copilot",
|
|
52
|
+
"codex"
|
|
53
|
+
],
|
|
54
|
+
"jest": {
|
|
55
|
+
"preset": "ts-jest",
|
|
56
|
+
"testEnvironment": "node",
|
|
57
|
+
"roots": [
|
|
58
|
+
"<rootDir>/src",
|
|
59
|
+
"<rootDir>/test"
|
|
60
|
+
],
|
|
61
|
+
"testMatch": [
|
|
62
|
+
"**/?(*.)+(spec|test).ts"
|
|
63
|
+
]
|
|
64
|
+
},
|
|
65
|
+
"scripts": {
|
|
66
|
+
"build:skills": "node scripts/build-skills.js",
|
|
67
|
+
"build:ts": "tsc -p tsconfig.json",
|
|
68
|
+
"build": "pnpm run build:skills && pnpm run build:ts",
|
|
69
|
+
"dev": "tsx src/index.ts",
|
|
70
|
+
"clean": "rm -rf dist skills",
|
|
71
|
+
"typecheck": "tsc --noEmit -p tsconfig.json",
|
|
72
|
+
"test": "jest --passWithNoTests"
|
|
73
|
+
}
|
|
74
|
+
}
|