@ritualai/cli 0.7.2 → 0.7.5

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 CHANGED
@@ -15,7 +15,7 @@ npm install -g @ritualai/cli
15
15
  ## Quick start
16
16
 
17
17
  ```bash
18
- ritual init # scaffold skills + register MCP with every detected agent
18
+ ritual init # scaffold skills + register MCP for every detected agent
19
19
  # (prompts to open browser for sign-in on first run)
20
20
  ritual doctor # sanity-check the environment
21
21
  ```
@@ -25,7 +25,17 @@ in and prompts:
25
25
 
26
26
  ```
27
27
  You are not signed in.
28
- Press Enter to sign in (opens browser), or Ctrl-C to abort:
28
+
29
+ We'll open your browser for sign-in. A few notes before you continue:
30
+ • If this is a brand-new account, you'll be asked to verify your
31
+ email. KEEP THIS TERMINAL OPEN while you check your inbox — closing it
32
+ drops the loopback listener and you'll have to re-run `ritual init`.
33
+ • If you already have an account, sign in as usual — you'll bounce back
34
+ here automatically.
35
+ • The sign-in window is 5 minutes. If you exceed it, just re-run
36
+ `ritual init` and we'll pick up from this prompt.
37
+
38
+ Press Enter to open the browser, or Ctrl-C to abort:
29
39
  ```
30
40
 
31
41
  Hit Enter, complete the browser OAuth flow, and `init` resumes
@@ -36,8 +46,14 @@ cached and refreshed automatically).
36
46
 
37
47
  1. **Signs you in** if you aren't already (browser OAuth, npm-style
38
48
  "press Enter to open browser" prompt). Skipped if already signed in.
39
- 2. **Detects** which AI coding agents you have installed (Claude Code,
40
- Cursor, Windsurf, Kiro, Gemini CLI, VS Code / Copilot, Codex).
49
+ 2. **Detects** which AI coding agents are actually installed and
50
+ configurable on this machine. "Detected" means real local evidence
51
+ (a populated config dir, the `claude` binary on PATH, etc.) — not
52
+ just "Ritual supports this agent in theory." Output cleanly separates
53
+ what was detected from what's supported-but-absent. If multiple
54
+ agents are detected, `init` prints the full list of config files
55
+ it's about to touch and pauses for a single Enter — abort and
56
+ re-run with `--agent <id>` to scope to one.
41
57
  3. **Mints a long-lived Personal Access Token** via the Ritual API
42
58
  named `Ritual CLI — <hostname>`, so the agent has a credential
43
59
  that doesn't expire every 5 minutes the way OAuth tokens do.
@@ -85,8 +101,11 @@ via the agent's MCP client talking to Ritual Cloud.
85
101
 
86
102
  ```bash
87
103
  ritual init [--agent <id>] [--list] # scaffold + register (signs in if needed)
104
+ ritual init --switch-account # force a fresh sign-in as a different account
88
105
  ritual login # explicit browser sign-in
89
- ritual logout # clear creds
106
+ ritual login --switch-account # same switch behavior, without the full init flow
107
+ ritual logout # clear local creds
108
+ ritual logout --all # also end the Keycloak browser SSO session
90
109
  ritual whoami # session info, auto-refresh
91
110
  ritual refresh # force token refresh
92
111
  ritual doctor # env + detection report
@@ -97,6 +116,38 @@ The agent ids are: `claude-code`, `cursor`, `windsurf`, `kiro`,
97
116
  for a specific one without auto-detecting (handy when you've got the
98
117
  agent installed somewhere non-standard).
99
118
 
119
+ ## Switching accounts
120
+
121
+ Most users have one Ritual account and never think about this. If you
122
+ need to switch (work vs personal, testing a different tenant, etc.):
123
+
124
+ ```bash
125
+ ritual init --switch-account
126
+ ```
127
+
128
+ This is atomic — your existing local credentials are backed up, the
129
+ browser is opened with OIDC `prompt=login` (so Keycloak shows its
130
+ sign-in form even if its SSO cookie says you're already signed in as
131
+ someone else), and on any failure your previous session is restored.
132
+ No incognito window needed.
133
+
134
+ In CI / non-interactive use, pass `--yes` to bypass the confirmation:
135
+
136
+ ```bash
137
+ ritual init --switch-account --yes
138
+ ```
139
+
140
+ To also end your Keycloak browser SSO session (so the next sign-in
141
+ from anywhere on this machine shows the sign-in form):
142
+
143
+ ```bash
144
+ ritual logout --all
145
+ ```
146
+
147
+ This does NOT revoke minted Personal Access Tokens, agent MCP
148
+ registrations, or refresh tokens cached server-side — manage those
149
+ separately at the URL `logout --all` prints.
150
+
100
151
  ## How refresh works
101
152
 
102
153
  Keycloak issues a short-lived access token (~5 min by default) and a
@@ -12,6 +12,11 @@ const skill_copy_1 = require("../lib/skill-copy");
12
12
  const auth_flow_1 = require("../lib/auth-flow");
13
13
  const prompt_1 = require("../lib/prompt");
14
14
  const workspace_flow_1 = require("../lib/workspace-flow");
15
+ const credentials_backup_1 = require("../lib/credentials-backup");
16
+ const config_2 = require("../lib/config");
17
+ const identity_banner_1 = require("../lib/identity-banner");
18
+ const welcome_banner_1 = require("../lib/welcome-banner");
19
+ const package_info_1 = require("../lib/package-info");
15
20
  /**
16
21
  * Issuer URL for the dev shortcut. Exported so `ritual login --dev`
17
22
  * can use the same constant (single source of truth — if we ever flip
@@ -37,9 +42,26 @@ function resolveIssuerForInit(opts) {
37
42
  return undefined; // let auth-flow.ts pick from env / default
38
43
  }
39
44
  async function initCommand(opts = {}) {
40
- console.log('');
41
- console.log(' Ritual scaffolding skills + connecting AI coding agents');
42
- console.log('');
45
+ // --- Welcome banner (TTY only; skipped for --list early-exit) ----
46
+ // Replaces the previous single-line opener. The banner surfaces
47
+ // identity (when signed in), workspace binding, and "what this
48
+ // command will do" — all at a glance. Stderr-routed so machine
49
+ // consumers (CI / piped output) aren't polluted.
50
+ if (!opts.list) {
51
+ const projectDir = opts.cwd ?? process.cwd();
52
+ const ws = (0, welcome_banner_1.readBoundWorkspace)(projectDir);
53
+ const tokenStatusEarly = await (0, config_1.getValidAccessToken)();
54
+ const currentUser = tokenStatusEarly.kind === 'signed-in'
55
+ ? (tokenStatusEarly.creds.user?.email ?? tokenStatusEarly.creds.user?.sub)
56
+ : undefined;
57
+ (0, welcome_banner_1.printWelcomeBanner)({
58
+ currentUser,
59
+ workspaceBound: ws.bound,
60
+ workspaceName: ws.name,
61
+ projectDir,
62
+ cliVersion: (0, package_info_1.readPackageVersionSafe)(),
63
+ });
64
+ }
43
65
  // --- 0. Handle --list (early exit, no auth required) ------------
44
66
  if (opts.list) {
45
67
  console.log(' Known agents:');
@@ -51,47 +73,155 @@ async function initCommand(opts = {}) {
51
73
  }
52
74
  // --- 1. Auth check (lazy login — npm-style "press Enter to sign in") ---
53
75
  //
54
- // If we're signed in, fast-path: continue.
55
- // If we're not (or session is dead), and stdin is a TTY, prompt to
56
- // open the browser inline so `init` is a one-command experience.
57
- // If stdin is non-TTY (CI / piped), keep the old behavior: clear
58
- // error + non-zero exit. Unattended runs MUST NOT hang waiting
59
- // for an Enter that's never coming.
76
+ // Three paths depending on (a) whether the user has a valid local
77
+ // session and (b) whether `--switch-account` was passed:
78
+ //
79
+ // 1. Valid session, no --switch-account: print the identity
80
+ // banner to stderr (so machine-parsers don't see it) and
81
+ // continue. This is the "Ritual silently used the cached
82
+ // mike@ritual.work session while the user thought they signed
83
+ // in as tkmdjvo@gmail.com" trap from the 2026-05-13 prod-
84
+ // cutover test — surfacing the identity makes the trap
85
+ // impossible.
86
+ // 2. Valid session, --switch-account: confirm the switch (gated
87
+ // pause; --yes bypasses for CI), then run an ATOMIC swap:
88
+ // back up creds, fresh forced-login (prompt=login so KC
89
+ // ignores its SSO cookie), commit-or-restore on outcome.
90
+ // 3. No valid session: run the existing lazy-auth flow
91
+ // (unchanged) with the email-verify warning.
60
92
  let tokenStatus = await (0, config_1.getValidAccessToken)();
61
- if (tokenStatus.kind !== 'signed-in') {
62
- const reason = tokenStatus.kind === 're-auth-required'
63
- ? `session expired (${tokenStatus.reason})`
64
- : 'you are not signed in';
93
+ const needsFreshLogin = tokenStatus.kind !== 'signed-in' || opts.switchAccount;
94
+ if (!needsFreshLogin && tokenStatus.kind === 'signed-in') {
95
+ // Path 1 — the welcome banner above already surfaces the
96
+ // current identity, so we don't need a separate identity
97
+ // banner here. `printIdentityBanner` is still exported (used
98
+ // by `ritual whoami` and elsewhere) but suppressed in `init`
99
+ // to avoid duplicating signal.
100
+ void identity_banner_1.identityFromCreds; // imported but only used by the type narrowing path below
101
+ void identity_banner_1.printIdentityBanner;
102
+ }
103
+ if (needsFreshLogin) {
104
+ // Build the "why we're here" message + prompt copy. Distinct
105
+ // flavors for: re-auth required, not signed in, and explicit
106
+ // switch-account.
107
+ const isSwitching = opts.switchAccount && tokenStatus.kind === 'signed-in';
108
+ const currentEmail = tokenStatus.kind === 'signed-in'
109
+ ? (tokenStatus.creds.user?.email ?? tokenStatus.creds.user?.sub ?? '(unknown)')
110
+ : undefined;
111
+ const reason = isSwitching
112
+ ? `switching from ${currentEmail}`
113
+ : tokenStatus.kind === 're-auth-required'
114
+ ? `session expired (${tokenStatus.reason})`
115
+ : 'you are not signed in';
65
116
  if (!process.stdin.isTTY) {
66
- console.error(` ✗ ${reason}. Run \`ritual login\` first, then \`ritual init\`.`);
67
- console.error('');
68
- process.exitCode = 1;
69
- return;
117
+ // Non-TTY: explicit error. --switch-account requires --yes
118
+ // in scripted mode to confirm the destructive intent.
119
+ if (isSwitching && !opts.yes) {
120
+ console.error(` ✗ --switch-account requires interactive confirmation; pass --yes for scripted use.`);
121
+ console.error('');
122
+ process.exitCode = 1;
123
+ return;
124
+ }
125
+ if (!isSwitching) {
126
+ console.error(` ✗ ${reason}. Run \`ritual login\` first, then \`ritual init\`.`);
127
+ console.error('');
128
+ process.exitCode = 1;
129
+ return;
130
+ }
131
+ // isSwitching + --yes + non-TTY: fall through to the
132
+ // atomic swap below WITHOUT the Enter-to-confirm pause.
70
133
  }
71
- console.log(` ${capitalize(reason)}.`);
72
- try {
73
- await (0, prompt_1.prompt)(' Press Enter to sign in (opens browser), or Ctrl-C to abort: ');
134
+ // TTY path: print the appropriate banner.
135
+ if (isSwitching) {
136
+ console.log('');
137
+ console.log(` Currently signed in as ${currentEmail}.`);
138
+ console.log(` Continuing will:`);
139
+ console.log(` • Back up your local credentials, then atomically replace them on success`);
140
+ console.log(` • Open your browser with OIDC \`prompt=login\` (Keycloak will show its`);
141
+ console.log(` sign-in form even if its SSO cookie says otherwise — no incognito needed)`);
142
+ console.log(` If anything goes wrong, your existing session is restored.`);
143
+ console.log('');
144
+ if (process.stdin.isTTY && !opts.yes) {
145
+ try {
146
+ await (0, prompt_1.prompt)(' Press Enter to switch, or Ctrl-C to keep the current session: ');
147
+ }
148
+ catch {
149
+ console.log('');
150
+ console.log(' Switch aborted.');
151
+ process.exitCode = 1;
152
+ return;
153
+ }
154
+ }
74
155
  }
75
- catch {
76
- // Ctrl-D / stdin closed mid-prompt — treat as abort.
156
+ else {
157
+ console.log(` ${capitalize(reason)}.`);
77
158
  console.log('');
78
- console.log(' Sign-in aborted.');
79
- process.exitCode = 1;
80
- return;
159
+ console.log(' We\'ll open your browser for sign-in. A few notes before you continue:');
160
+ console.log(' • If this is a brand-new account, you\'ll be asked to verify your');
161
+ console.log(' email. KEEP THIS TERMINAL OPEN while you check your inbox — closing it');
162
+ console.log(' drops the loopback listener and you\'ll have to re-run `ritual init`.');
163
+ console.log(' • If you already have an account, sign in as usual — you\'ll bounce back');
164
+ console.log(' here automatically.');
165
+ console.log(' • The sign-in window is 5 minutes. If you exceed it, just re-run');
166
+ console.log(' `ritual init` and we\'ll pick up from this prompt.');
167
+ console.log('');
168
+ if (process.stdin.isTTY) {
169
+ try {
170
+ await (0, prompt_1.prompt)(' Press Enter to open the browser, or Ctrl-C to abort: ');
171
+ }
172
+ catch {
173
+ console.log('');
174
+ console.log(' Sign-in aborted.');
175
+ process.exitCode = 1;
176
+ return;
177
+ }
178
+ }
81
179
  }
82
- try {
180
+ // Run the browser login. For --switch-account we ALSO wrap in
181
+ // the atomic backup so a failed sign-in restores the previous
182
+ // session instead of stranding the user with no credentials.
183
+ const loginRunner = async () => {
83
184
  await (0, auth_flow_1.runBrowserLoginAndSave)({
84
185
  issuer: resolveIssuerForInit(opts),
85
186
  clientId: opts.clientId,
187
+ forceLogin: !!opts.switchAccount,
86
188
  });
189
+ };
190
+ if (isSwitching) {
191
+ const { release, backup } = (0, credentials_backup_1.beginCredentialSwap)();
192
+ // `beginCredentialSwap` already cleared the live-creds path
193
+ // via the SIGINT trap setup; we explicitly clear here so
194
+ // `runBrowserLoginAndSave`'s `saveCredentials` has a clean
195
+ // slot to write into. The backup file holds the old data.
196
+ (0, config_2.clearCredentials)();
197
+ try {
198
+ await loginRunner();
199
+ backup.commit();
200
+ }
201
+ catch (err) {
202
+ backup.restore();
203
+ release();
204
+ console.error('');
205
+ console.error(` ✗ Switch failed: ${err.message}`);
206
+ console.error(` Restored previous session for ${currentEmail}.`);
207
+ console.error('');
208
+ process.exitCode = 1;
209
+ return;
210
+ }
211
+ release();
87
212
  }
88
- catch (err) {
89
- console.error('');
90
- console.error(` ✗ Sign-in did not complete: ${err.message}`);
91
- console.error(' Run `ritual login` to retry, then re-run `ritual init`.');
92
- console.error('');
93
- process.exitCode = 1;
94
- return;
213
+ else {
214
+ try {
215
+ await loginRunner();
216
+ }
217
+ catch (err) {
218
+ console.error('');
219
+ console.error(` ✗ Sign-in did not complete: ${err.message}`);
220
+ console.error(' Run `ritual login` to retry, then re-run `ritual init`.');
221
+ console.error('');
222
+ process.exitCode = 1;
223
+ return;
224
+ }
95
225
  }
96
226
  // Re-read credentials now that login succeeded. We use this to
97
227
  // hand the OAuth access token to mintAgentPat below.
@@ -132,6 +262,7 @@ async function initCommand(opts = {}) {
132
262
  else {
133
263
  const all = (0, detector_1.detectAgents)();
134
264
  const detected = all.filter((a) => a.detected);
265
+ const notDetected = all.filter((a) => !a.detected);
135
266
  if (detected.length === 0) {
136
267
  // Nothing detected → default to Claude Code. This matches
137
268
  // legacy behavior and matches the documented MCP launch
@@ -145,16 +276,86 @@ async function initCommand(opts = {}) {
145
276
  provider: claudeProvider,
146
277
  },
147
278
  ];
148
- console.log(' No coding agents detected on this machine.');
149
- console.log(` Defaulting to ${claudeProvider.name}. Use --agent <id> to choose explicitly.`);
279
+ console.log(' No coding agents detected locally.');
280
+ console.log(` Defaulting to ${claudeProvider.name} (the documented MCP launch partner).`);
281
+ console.log('');
282
+ console.log(' Supported agents:');
283
+ for (const p of providers_1.PROVIDERS) {
284
+ console.log(` • ${p.name.padEnd(20)} (--agent ${p.id})`);
285
+ }
286
+ console.log('');
287
+ }
288
+ else if (detected.length === 1) {
289
+ // Single-detect: lead with what we're about to do, mention
290
+ // the escape hatch quietly. No menu, no confirmation —
291
+ // safe default + visible action (per CLI tenet: lead with
292
+ // single recommended action + escape hatch).
293
+ targets = detected;
294
+ const t = detected[0];
295
+ console.log(` Detected ${t.name} locally — connecting Ritual there.`);
296
+ if (t.provider.mcpConfigPath) {
297
+ console.log(` Config: ${t.provider.mcpConfigPath}`);
298
+ }
299
+ else {
300
+ console.log(` Config: managed by \`${t.provider.id}\` CLI`);
301
+ }
302
+ if (notDetected.length > 0) {
303
+ console.log('');
304
+ console.log(` Also supported (not detected here): ${notDetected.map((d) => d.name).join(', ')}`);
305
+ console.log(' Connect another with `ritual init --agent <id>`.');
306
+ }
150
307
  console.log('');
151
308
  }
152
309
  else {
310
+ // Multi-detect: this IS a real decision gate (one agent vs
311
+ // seven means writing to one config file vs seven). Tell
312
+ // the user EXACTLY which files we're about to touch, then
313
+ // pause with a single-keystroke escape hatch. We don't ask
314
+ // "which agent?" — connecting all detected agents is the
315
+ // safe recommended default. Power users can scope down by
316
+ // pressing Ctrl-C and re-running with `--agent <id>`.
153
317
  targets = detected;
154
- console.log(` Detected ${detected.length} agent(s): ${detected.map((d) => d.name).join(', ')}`);
318
+ console.log(` Detected ${detected.length} coding agents locally Ritual will connect to each:`);
319
+ for (const d of detected) {
320
+ const cfg = d.provider.mcpConfigPath
321
+ ? d.provider.mcpConfigPath
322
+ : `managed by \`${d.provider.id}\` CLI`;
323
+ console.log(` • ${d.name.padEnd(20)} ${cfg}`);
324
+ }
325
+ if (notDetected.length > 0) {
326
+ console.log('');
327
+ console.log(` Also supported (not detected here): ${notDetected.map((d) => d.name).join(', ')}`);
328
+ }
329
+ console.log('');
330
+ // TTY-only pause. Non-TTY (CI / scripted installs) skips
331
+ // straight through — we already printed exactly what we're
332
+ // about to do, and pausing in CI would hang forever.
333
+ if (process.stdin.isTTY) {
334
+ try {
335
+ await (0, prompt_1.prompt)(' Press Enter to connect all detected agents, or Ctrl-C to abort\n' +
336
+ ' (to pick a single agent, abort and re-run with `ritual init --agent <id>`): ');
337
+ }
338
+ catch {
339
+ console.log('');
340
+ console.log(' Aborted.');
341
+ process.exitCode = 1;
342
+ return;
343
+ }
344
+ }
155
345
  console.log('');
156
346
  }
157
347
  }
348
+ // Type guard for the compiler — by this point one of three paths
349
+ // has populated tokenStatus with a signed-in record:
350
+ // (a) we fast-pathed because there was already a valid session
351
+ // (b) we ran an atomic --switch-account swap and re-read creds
352
+ // (c) we ran the lazy-login flow and re-read creds
353
+ // Any other state is "should never happen" — bail loudly.
354
+ if (tokenStatus.kind !== 'signed-in') {
355
+ console.error(' ✗ Internal error: expected signed-in credentials after auth flow.');
356
+ process.exitCode = 1;
357
+ return;
358
+ }
158
359
  // --- 3. Mint a long-lived PAT for agents to use ------------------
159
360
  const issuer = tokenStatus.creds.issuer;
160
361
  const api = new api_client_1.ApiClient({
@@ -172,7 +373,7 @@ async function initCommand(opts = {}) {
172
373
  process.exitCode = 1;
173
374
  return;
174
375
  }
175
- printKeyCreatedBlock(pat, webAppUrlFromIssuer(issuer));
376
+ printKeyCreatedBlock(pat, webAppUrlFromIssuer(issuer), targets);
176
377
  console.log('');
177
378
  // --- 3.5 Bind a project workspace --------------------------------
178
379
  // Project-scoped state — see ./../lib/workspace-flow.ts for the
@@ -262,7 +463,7 @@ function webAppUrlFromIssuer(issuer) {
262
463
  * plaintext to stdout (which would leak via screenshots / clipboard /
263
464
  * terminal history).
264
465
  */
265
- function printKeyCreatedBlock(pat, webAppUrl) {
466
+ function printKeyCreatedBlock(pat, webAppUrl, targets) {
266
467
  const expiry = pat.expiresAt
267
468
  ? new Date(pat.expiresAt).toISOString().slice(0, 10) // YYYY-MM-DD
268
469
  : 'never';
@@ -270,7 +471,24 @@ function printKeyCreatedBlock(pat, webAppUrl) {
270
471
  console.log(` Name: ${pat.name}`);
271
472
  console.log(` Scope: admin`);
272
473
  console.log(` Expires: ${expiry}`);
273
- console.log(` Stored: in your agent's MCP config (e.g. ~/.claude.json)`);
474
+ // "Stored:" used to lie ("e.g. ~/.claude.json") even when we were
475
+ // writing to 7 agents. List the actual targets so the user knows
476
+ // what's on disk.
477
+ if (targets.length === 1) {
478
+ const cfg = targets[0].provider.mcpConfigPath
479
+ ? targets[0].provider.mcpConfigPath
480
+ : `managed by \`${targets[0].provider.id}\` CLI`;
481
+ console.log(` Stored: ${cfg}`);
482
+ }
483
+ else {
484
+ console.log(` Stored: in each agent's MCP config:`);
485
+ for (const t of targets) {
486
+ const cfg = t.provider.mcpConfigPath
487
+ ? t.provider.mcpConfigPath
488
+ : `managed by \`${t.provider.id}\` CLI`;
489
+ console.log(` • ${t.name.padEnd(20)} ${cfg}`);
490
+ }
491
+ }
274
492
  console.log(` Manage: ${webAppUrl}/settings/tokens`);
275
493
  console.log(` (Token not displayed for security. Use the manage URL to copy or revoke.)`);
276
494
  }
@@ -289,7 +507,11 @@ function printKeyCreatedBlock(pat, webAppUrl) {
289
507
  * then not-detected (dimmed). Failed entries get a manual-fix hint.
290
508
  */
291
509
  function printDetectedAgentsBlock(targets, copyResults, registrationResults) {
292
- console.log(' Detected coding agents:');
510
+ // Header used to say "Detected coding agents:" but this table lists
511
+ // EVERY known provider with its per-run status — most of which are
512
+ // "not detected" on any given machine. Calling that "Detected" is
513
+ // the same misleading framing we just fixed earlier in the flow.
514
+ console.log(' Coding agent status:');
293
515
  // Build a status string per known agent.
294
516
  const targetIds = new Set(targets.map((t) => t.provider.id));
295
517
  const detections = (0, detector_1.detectAgents)();
@@ -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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"}