@aligndottech/cli 0.24.1 → 0.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/dist/commands/check.d.ts +21 -0
  2. package/dist/commands/check.d.ts.map +1 -1
  3. package/dist/commands/check.js +27 -1
  4. package/dist/commands/check.js.map +1 -1
  5. package/dist/commands/connect-agents.d.ts +27 -0
  6. package/dist/commands/connect-agents.d.ts.map +1 -0
  7. package/dist/commands/connect-agents.js +63 -0
  8. package/dist/commands/connect-agents.js.map +1 -0
  9. package/dist/commands/default-action.d.ts.map +1 -1
  10. package/dist/commands/default-action.js +5 -0
  11. package/dist/commands/default-action.js.map +1 -1
  12. package/dist/commands/dev/index.d.ts.map +1 -1
  13. package/dist/commands/dev/index.js +2 -1
  14. package/dist/commands/dev/index.js.map +1 -1
  15. package/dist/commands/import/confluence.d.ts.map +1 -1
  16. package/dist/commands/import/confluence.js +2 -1
  17. package/dist/commands/import/confluence.js.map +1 -1
  18. package/dist/commands/import/git.d.ts.map +1 -1
  19. package/dist/commands/import/git.js +2 -1
  20. package/dist/commands/import/git.js.map +1 -1
  21. package/dist/commands/import/github.d.ts.map +1 -1
  22. package/dist/commands/import/github.js +2 -1
  23. package/dist/commands/import/github.js.map +1 -1
  24. package/dist/commands/import/gitlab.d.ts.map +1 -1
  25. package/dist/commands/import/gitlab.js +2 -1
  26. package/dist/commands/import/gitlab.js.map +1 -1
  27. package/dist/commands/import/jira.d.ts.map +1 -1
  28. package/dist/commands/import/jira.js +2 -1
  29. package/dist/commands/import/jira.js.map +1 -1
  30. package/dist/commands/import/linear.d.ts.map +1 -1
  31. package/dist/commands/import/linear.js +2 -1
  32. package/dist/commands/import/linear.js.map +1 -1
  33. package/dist/commands/import/notion.d.ts.map +1 -1
  34. package/dist/commands/import/notion.js +2 -1
  35. package/dist/commands/import/notion.js.map +1 -1
  36. package/dist/commands/import/slack.d.ts.map +1 -1
  37. package/dist/commands/import/slack.js +2 -1
  38. package/dist/commands/import/slack.js.map +1 -1
  39. package/dist/commands/import/teams.d.ts.map +1 -1
  40. package/dist/commands/import/teams.js +2 -1
  41. package/dist/commands/import/teams.js.map +1 -1
  42. package/dist/commands/import/zoom.d.ts.map +1 -1
  43. package/dist/commands/import/zoom.js +2 -1
  44. package/dist/commands/import/zoom.js.map +1 -1
  45. package/dist/commands/local.d.ts.map +1 -1
  46. package/dist/commands/local.js +5 -2
  47. package/dist/commands/local.js.map +1 -1
  48. package/dist/commands/login.d.ts.map +1 -1
  49. package/dist/commands/login.js +2 -1
  50. package/dist/commands/login.js.map +1 -1
  51. package/dist/commands/mcp.d.ts.map +1 -1
  52. package/dist/commands/mcp.js +47 -2
  53. package/dist/commands/mcp.js.map +1 -1
  54. package/dist/commands/setup.d.ts.map +1 -1
  55. package/dist/commands/setup.js +166 -127
  56. package/dist/commands/setup.js.map +1 -1
  57. package/dist/lib/brand.d.ts +59 -0
  58. package/dist/lib/brand.d.ts.map +1 -0
  59. package/dist/lib/brand.js +197 -0
  60. package/dist/lib/brand.js.map +1 -0
  61. package/dist/lib/gateway-client.d.ts +15 -2
  62. package/dist/lib/gateway-client.d.ts.map +1 -1
  63. package/dist/lib/gateway-client.js +5 -0
  64. package/dist/lib/gateway-client.js.map +1 -1
  65. package/dist/lib/local-mode.d.ts +6 -3
  66. package/dist/lib/local-mode.d.ts.map +1 -1
  67. package/dist/lib/local-mode.js +16 -9
  68. package/dist/lib/local-mode.js.map +1 -1
  69. package/dist/lib/mcp-setup.d.ts +16 -0
  70. package/dist/lib/mcp-setup.d.ts.map +1 -1
  71. package/dist/lib/mcp-setup.js +48 -0
  72. package/dist/lib/mcp-setup.js.map +1 -1
  73. package/dist/lib/setup-ux.d.ts +38 -0
  74. package/dist/lib/setup-ux.d.ts.map +1 -0
  75. package/dist/lib/setup-ux.js +73 -0
  76. package/dist/lib/setup-ux.js.map +1 -0
  77. package/package.json +1 -1
@@ -3,10 +3,11 @@ import * as p from '@clack/prompts';
3
3
  import chalk from 'chalk';
4
4
  import open from 'open';
5
5
  import { execa } from 'execa';
6
+ import { CLI_TOKEN_SOURCES, cliTokenDecision, detectCliToken, pickerMaxItems } from '../lib/setup-ux.js';
6
7
  import { createConfigStore } from '../lib/config.js';
7
8
  import { createGatewayClient } from '../lib/gateway-client.js';
8
9
  import { runPersonalImport, runWithConcurrency } from '../lib/personal-import.js';
9
- import { detectEditors, writeMcpConfig } from '../lib/mcp-setup.js';
10
+ import { connectDetectedAgents } from './connect-agents.js';
10
11
  import { setupAgentAlignment } from '../lib/agent-rules.js';
11
12
  import { isGitRepo } from '../lib/git.js';
12
13
  import { initLocalMode } from '../lib/local-mode.js';
@@ -15,6 +16,10 @@ import { resolveAppUrl } from '../lib/env-resolver.js';
15
16
  import { collectTokensViaOAuth, oauthFlowLabel } from '../lib/personal-oauth.js';
16
17
  import { isAuthExpiry } from '../lib/errors.js';
17
18
  import { maybeRequestTelemetryConsent } from '../lib/telemetry-consent.js';
19
+ import { commandIntro } from '../lib/brand.js';
20
+ import pkg from '../../package.json' with { type: 'json' };
21
+ const { version } = pkg;
22
+ import { printBanner } from '../lib/brand.js';
18
23
  const TIER_ORDER = { personal: 0, site: 1, workspace: 2 };
19
24
  // How many connectors import concurrently after auth. Each import is itself
20
25
  // batch-parallel (runPersonalImport), so this bounds total gateway load.
@@ -185,7 +190,7 @@ function buildSources(gitAvailable) {
185
190
  // ---------------------------------------------------------------------------
186
191
  // Token collection helper
187
192
  // ---------------------------------------------------------------------------
188
- async function collectTokens(source, seed = {}) {
193
+ async function collectTokens(source, seed = {}, opts = {}) {
189
194
  // `seed` pre-populates already-known fields (e.g. a self-managed host gathered
190
195
  // up front) so tokenUrl() resolves against the right host.
191
196
  const tokens = { ...seed };
@@ -199,6 +204,30 @@ async function collectTokens(source, seed = {}) {
199
204
  }
200
205
  // Main token
201
206
  if (source.tokenLabel) {
207
+ // Reuse an already-authenticated local CLI before sending anyone to a browser to
208
+ // mint a PAT by hand. Asked for by an outside tester on 2026-08-30 who already had
209
+ // `gh` set up. Declining falls through to the browser flow unchanged.
210
+ const cliSource = CLI_TOKEN_SOURCES[source.id];
211
+ if (cliSource) {
212
+ const cliToken = await detectCliToken(cliSource.bin, cliSource.args);
213
+ const decision = cliTokenDecision({ token: cliToken, approve: opts.approve ?? false });
214
+ let useCli = decision === 'use';
215
+ if (decision === 'ask') {
216
+ const answer = await p.confirm({
217
+ message: ` Found ${cliSource.label}. Use its token? (no browser, nothing to create)`,
218
+ });
219
+ if (p.isCancel(answer))
220
+ return null;
221
+ useCli = answer;
222
+ }
223
+ if (useCli && cliToken) {
224
+ tokens['token'] = cliToken;
225
+ // Say it even under --approve: a scripted run that silently picks up a
226
+ // credential is the thing nobody can audit afterwards.
227
+ p.log.success(` Using your ${cliSource.label} token.`);
228
+ return tokens;
229
+ }
230
+ }
202
231
  if (source.tokenUrl) {
203
232
  const url = typeof source.tokenUrl === 'function' ? source.tokenUrl(tokens) : source.tokenUrl;
204
233
  p.log.info(chalk.dim(` Opening ${source.label} in browser...`));
@@ -251,16 +280,21 @@ function writeAgentAlignment(envName) {
251
280
  // seeds the graph from git history - all on the user's machine. This is the
252
281
  // privacy/offline escape hatch; the default solo experience is a personal
253
282
  // cloud tenant (see the cloud path below).
254
- async function runLocalSetup() {
283
+ async function runLocalSetup(opts = {}) {
255
284
  // Without a TTY neither prompt below can work: a piped stdin hangs forever and a closed
256
285
  // stdin crashes clack's raw-mode init (uv_tty_init EINVAL) AFTER local setup has already
257
286
  // succeeded (align-cli#118). Computed once, up front, and reused by both prompts in this
258
287
  // function so a scripted `setup --local` never blocks on either of them.
259
288
  const interactive = process.stdin.isTTY && process.stdout.isTTY;
260
- const { dbPath } = await initLocalMode({ quiet: false });
289
+ const { dbPath } = await initLocalMode();
261
290
  p.log.success('Local graph ready - no account needed, your data stays on this machine.');
262
291
  // Deterministic auto-alignment files target the local graph (advisory check runs --env local).
263
292
  writeAgentAlignment('local');
293
+ // The agents installed on this machine, not just the ones this project configures. Local
294
+ // setup skipped this and cloud did not, which is backwards: local mode is the one whose
295
+ // entire pitch is an agent on your own machine reading a graph that never leaves it.
296
+ console.log('');
297
+ await connectDetectedAgents('local');
264
298
  const config = createConfigStore();
265
299
  const localEnv = config.getEnvironment('local');
266
300
  const localClient = createGatewayClient(localEnv);
@@ -268,6 +302,43 @@ async function runLocalSetup() {
268
302
  // is the only thing that can ever turn this on - see usage-telemetry.ts's local-embedded
269
303
  // branch, which reads this same stored decision.
270
304
  await maybeRequestTelemetryConsent(config, Boolean(interactive));
305
+ // Connectors: OAuth can't run offline (needs the hosted callback), so local mode
306
+ // connects via manual read-only token paste. Only sources with a tokenLabel are
307
+ // pasteable (Teams/Zoom have no personal token → excluded). See ALI-103.
308
+ //
309
+ // Asked BEFORE the git scan so every question lands on a clean screen and the rest of
310
+ // setup then runs without stopping. The picker used to sit under a screenful of import
311
+ // output, which is the condition that corrupted clack's redraw for an outside tester.
312
+ const localConnectors = buildSources(false)
313
+ .filter((s) => s.id !== 'git' && s.tokenLabel)
314
+ .sort((a, b) => TIER_ORDER[a.tier ?? 'personal'] - TIER_ORDER[b.tier ?? 'personal']);
315
+ console.log('');
316
+ // `interactive` computed once, at the top of this function - see the comment there.
317
+ const selected = interactive
318
+ ? await p.multiselect({
319
+ message: 'Connect more sources with a read-only token? (skip to finish)',
320
+ options: localConnectors.map((s) => ({ value: s.id, label: s.label, hint: s.description })),
321
+ required: false,
322
+ // Without maxItems clack renders all 7 and its in-place redraw miscounts
323
+ // once the list is taller than the viewport, painting duplicate rows.
324
+ maxItems: pickerMaxItems(process.stdout.rows, localConnectors.length),
325
+ })
326
+ : [];
327
+ // Collect every credential up front, so the automatic phase below never stops to ask.
328
+ const localReady = [];
329
+ if (!p.isCancel(selected)) {
330
+ for (const id of selected) {
331
+ const source = localConnectors.find((s) => s.id === id);
332
+ if (!source)
333
+ continue;
334
+ console.log('');
335
+ p.log.step(chalk.bold(source.label));
336
+ const tokens = await collectTokens(source, {}, { approve: opts.approve });
337
+ if (!tokens)
338
+ continue;
339
+ localReady.push({ source, tokens });
340
+ }
341
+ }
271
342
  if (await isGitRepo()) {
272
343
  console.log('');
273
344
  p.log.info(chalk.dim('First import downloads a local embedding model (~23MB, from huggingface.co), one time.'));
@@ -303,49 +374,25 @@ async function runLocalSetup() {
303
374
  }
304
375
  }
305
376
  }
306
- // Connectors: OAuth can't run offline (needs the hosted callback), so local mode
307
- // connects via manual read-only token paste. Only sources with a tokenLabel are
308
- // pasteable (Teams/Zoom have no personal token → excluded). See ALI-103.
309
- const localConnectors = buildSources(false)
310
- .filter((s) => s.id !== 'git' && s.tokenLabel)
311
- .sort((a, b) => TIER_ORDER[a.tier ?? 'personal'] - TIER_ORDER[b.tier ?? 'personal']);
312
- console.log('');
313
- // `interactive` computed once, at the top of this function - see the comment there.
314
- const selected = interactive
315
- ? await p.multiselect({
316
- message: 'Connect more sources with a read-only token? (skip to finish)',
317
- options: localConnectors.map((s) => ({ value: s.id, label: s.label, hint: s.description })),
318
- required: false,
319
- })
320
- : [];
321
- if (!p.isCancel(selected)) {
322
- for (const id of selected) {
323
- const source = localConnectors.find((s) => s.id === id);
324
- if (!source)
325
- continue;
326
- console.log('');
327
- p.log.step(chalk.bold(source.label));
328
- const tokens = await collectTokens(source);
329
- if (!tokens)
330
- continue;
331
- const spinner = p.spinner();
332
- spinner.start(`Fetching from ${source.label}...`);
333
- try {
334
- const items = await source.fetch(tokens);
335
- spinner.stop(`Found ${items.length} items`);
336
- if (items.length) {
337
- await runPersonalImport(items, localClient, {
338
- label: source.label,
339
- approve: true,
340
- appUrl: resolveAppUrl(localEnv),
341
- local: true,
342
- });
343
- }
344
- }
345
- catch (e) {
346
- spinner.stop(`Skipped ${source.label} - ${e.message}`);
377
+ // Now the automatic phase: fetch and import what the credentials above unlocked.
378
+ for (const { source, tokens } of localReady) {
379
+ const spinner = p.spinner();
380
+ spinner.start(`Fetching from ${source.label}...`);
381
+ try {
382
+ const items = await source.fetch(tokens);
383
+ spinner.stop(`Found ${items.length} items`);
384
+ if (items.length) {
385
+ await runPersonalImport(items, localClient, {
386
+ label: source.label,
387
+ approve: true,
388
+ appUrl: resolveAppUrl(localEnv),
389
+ local: true,
390
+ });
347
391
  }
348
392
  }
393
+ catch (e) {
394
+ spinner.stop(`Skipped ${source.label} - ${e.message}`);
395
+ }
349
396
  }
350
397
  // Which graph does a BARE command read after this? resolveEnv with the
351
398
  // most local-favouring read preference is the truth: a no-account user is
@@ -404,7 +451,9 @@ export async function runSetup(opts = {}) {
404
451
  const envName = resolveEnv(opts.env);
405
452
  const env = config.getEnvironment(envName);
406
453
  const client = createGatewayClient(env);
407
- p.intro(chalk.bgMagenta.white(' align setup '));
454
+ // The one place a full brand moment belongs: first run, before any questions.
455
+ printBanner({ version });
456
+ p.intro(commandIntro('align setup'));
408
457
  // ---- Step 0: Cloud (default) vs local (--local) ----
409
458
  // Solo defaults to a personal CLOUD tenant: telemetry, the real cloud
410
459
  // relationship classifier, backup, and a clean upgrade path to a team
@@ -433,7 +482,7 @@ export async function runSetup(opts = {}) {
433
482
  mode = choice;
434
483
  }
435
484
  if (mode === 'local') {
436
- await runLocalSetup();
485
+ await runLocalSetup({ approve: opts.approve });
437
486
  return;
438
487
  }
439
488
  await runCloudSetup({ opts, config, env, client, envName });
@@ -472,7 +521,7 @@ async function runCloudSetup(ctx) {
472
521
  // Declined cloud login: offer the local escape hatch instead of failing.
473
522
  const wantLocal = await p.confirm({ message: 'Set up local-only mode instead? (no account, stays on this machine)' });
474
523
  if (!p.isCancel(wantLocal) && wantLocal) {
475
- await runLocalSetup();
524
+ await runLocalSetup({ approve: opts.approve });
476
525
  return;
477
526
  }
478
527
  p.log.warn(`Run ${chalk.bold('align login')} when ready, then ${chalk.bold('align setup')}.`);
@@ -488,81 +537,11 @@ async function runCloudSetup(ctx) {
488
537
  p.log.warn(`The ${chalk.bold('align')} command is not on your PATH. ` +
489
538
  `Editor MCP configs won't work until you run: ${chalk.bold('npm install -g @aligndottech/cli')}`);
490
539
  }
491
- // ---- Step 3: MCP editor config (before import - this is the payoff) ----
492
- console.log('');
493
- const editors = detectEditors();
494
- if (editors.length > 0) {
495
- p.log.info(`Detected ${editors.length} agent${editors.length === 1 ? '' : 's'}: ${editors.map(e => e.name).join(', ')}`);
496
- let selectedEditors = editors.map(e => e.name);
497
- if (editors.length > 1) {
498
- const sel = await p.multiselect({
499
- message: 'Which agents to configure?',
500
- options: editors.map(e => ({ value: e.name, label: e.name })),
501
- });
502
- if (!p.isCancel(sel))
503
- selectedEditors = sel;
504
- }
505
- for (const name of selectedEditors) {
506
- const target = editors.find(e => e.name === name);
507
- try {
508
- writeMcpConfig(target, envName === 'prod' ? undefined : envName);
509
- p.log.success(`${name}: align MCP connected`);
510
- }
511
- catch (err) {
512
- p.log.warn(`${name}: ${err.message}`);
513
- }
514
- }
515
- }
516
- else {
517
- // Agent-agnostic: Align is just an MCP server, so any MCP-capable agent works
518
- // even when we can't auto-detect it. Hand over the portable config to paste.
519
- const envArgs = envName !== 'prod' ? `, "--env", "${envName}"` : '';
520
- p.log.info(`No MCP agent detected automatically. Align works with any MCP-capable agent ` +
521
- `(Claude, Cursor, VS Code, Windsurf, Zed, Codex, Gemini CLI, pi, ...).\n` +
522
- `Add this to your agent's MCP config (or re-run ${chalk.bold('align mcp --setup')} once it is installed):\n\n` +
523
- ` { "mcpServers": { "align": { "command": "align", "args": ["mcp"${envArgs}] } } }`);
524
- }
525
- // ---- Step 3b: Deterministic auto-alignment files (hook + nudges) ----
526
- writeAgentAlignment(envName);
527
- // ---- Step 4: Git auto-import (zero-auth baseline graph seed) ----
528
- let totalDecisions = 0;
529
- const sourcesImported = [];
530
- const gitAvailable = await isGitRepo();
531
- if (gitAvailable) {
532
- console.log('');
533
- const gitSpinner = p.spinner();
534
- gitSpinner.start('Scanning git history...');
535
- try {
536
- const gitSource = buildSources(true).find(s => s.id === 'git');
537
- const items = await gitSource.fetch({});
538
- // Stop the scan spinner before runPersonalImport - it starts its own
539
- // progress spinner, and two animated spinners on one line flicker.
540
- if (items.length) {
541
- gitSpinner.stop(`Found ${items.length} commits worth importing`);
542
- const ingested = await runPersonalImport(items, client, {
543
- label: 'Git',
544
- approve: true,
545
- appUrl: resolveAppUrl(env),
546
- });
547
- totalDecisions += ingested;
548
- if (ingested > 0)
549
- sourcesImported.push('Git');
550
- }
551
- else {
552
- gitSpinner.stop('No decisions found in git history');
553
- }
554
- }
555
- catch {
556
- gitSpinner.stop('Git import skipped');
557
- }
558
- }
559
- // ---- Step 5: First-query prompt ----
560
- if (editors.length > 0) {
561
- console.log('');
562
- p.log.info(chalk.dim('Your agent is connected. Try asking:'));
563
- p.log.info(chalk.bold(' "What decisions exist in this codebase?"'));
564
- }
565
- // ---- Step 6: Optional connectors ----
540
+ // ---- Step 3: Ask which tools the user actually has ----
541
+ // Everything interactive happens before anything runs: pick your sources here, hand
542
+ // over credentials next, and from then on setup does not ask again. This also keeps the
543
+ // picker near the top of a clean screen rather than under a screenful of import output,
544
+ // which is the condition that corrupted clack's in-place redraw for an outside tester.
566
545
  // Order by OAuth scope tier so frictionless personal-account connectors come
567
546
  // first, then Atlassian (site-scoped), then workspace-admin (Slack/Teams).
568
547
  console.log('');
@@ -573,13 +552,14 @@ async function runCloudSetup(ctx) {
573
552
  message: 'Connect more sources for richer context? (skip to finish)',
574
553
  options: connectorSources.map(s => ({ value: s.id, label: s.label, hint: s.description })),
575
554
  required: false,
555
+ maxItems: pickerMaxItems(process.stdout.rows, connectorSources.length),
576
556
  });
577
557
  if (p.isCancel(selectedIds)) {
578
558
  p.cancel('Cancelled.');
579
559
  process.exit(0);
580
560
  }
581
561
  const selectedSources = connectorSources.filter(s => selectedIds.includes(s.id));
582
- // ---- Step 7a: Collect all credentials up front (consents back-to-back) ----
562
+ // ---- Step 4: Collect all credentials up front (consents back-to-back) ----
583
563
  // Interactive auth (browser OAuth, token paste) can only happen one at a
584
564
  // time, so we gather every connector's creds first instead of interleaving
585
565
  // a slow fetch+import between each sign-in.
@@ -608,7 +588,7 @@ async function runCloudSetup(ctx) {
608
588
  // self-managed → PAT. Seed the host so tokenUrl() targets it, and drop the
609
589
  // gate field from extraFields so we don't re-ask it.
610
590
  const patSource = { ...source, extraFields: source.extraFields?.filter((f) => f.key !== gate) };
611
- const collected = await collectTokens(patSource, { [gate]: hostValue });
591
+ const collected = await collectTokens(patSource, { [gate]: hostValue }, { approve: opts.approve });
612
592
  if (!collected) {
613
593
  p.cancel('Cancelled.');
614
594
  process.exit(0);
@@ -633,7 +613,7 @@ async function runCloudSetup(ctx) {
633
613
  tokens = collected;
634
614
  }
635
615
  else if (source.tokenLabel || (source.extraFields?.length ?? 0) > 0) {
636
- const collected = await collectTokens(source);
616
+ const collected = await collectTokens(source, {}, { approve: opts.approve });
637
617
  if (!collected) {
638
618
  p.cancel('Cancelled.');
639
619
  process.exit(0);
@@ -642,6 +622,51 @@ async function runCloudSetup(ctx) {
642
622
  }
643
623
  readyConnectors.push({ source, tokens });
644
624
  }
625
+ // ---- Step 5: MCP editor config (before import - this is the payoff) ----
626
+ console.log('');
627
+ // Shared with the local path (ALI-776), which used to skip this entirely - so a local-only
628
+ // user got LESS agent wiring than a cloud one, on the mode where an agent running on your
629
+ // own machine is the whole point.
630
+ //
631
+ // It does NOT ask: it wires every detected agent and discloses each file it touched, with
632
+ // `align mcp --remove` as the undo. This block used to write to a user-level config without
633
+ // a word when exactly one editor was detected and prompt only at two or more, and that
634
+ // multiselect was unguarded, so `align setup --approve` with two agents installed hung.
635
+ const agents = await connectDetectedAgents(envName);
636
+ // ---- Step 5b: Deterministic auto-alignment files (hook + nudges) ----
637
+ writeAgentAlignment(envName);
638
+ // ---- Step 6: Git auto-import (zero-auth baseline graph seed) ----
639
+ let totalDecisions = 0;
640
+ const sourcesImported = [];
641
+ const gitAvailable = await isGitRepo();
642
+ if (gitAvailable) {
643
+ console.log('');
644
+ const gitSpinner = p.spinner();
645
+ gitSpinner.start('Scanning git history...');
646
+ try {
647
+ const gitSource = buildSources(true).find(s => s.id === 'git');
648
+ const items = await gitSource.fetch({});
649
+ // Stop the scan spinner before runPersonalImport - it starts its own
650
+ // progress spinner, and two animated spinners on one line flicker.
651
+ if (items.length) {
652
+ gitSpinner.stop(`Found ${items.length} commits worth importing`);
653
+ const ingested = await runPersonalImport(items, client, {
654
+ label: 'Git',
655
+ approve: true,
656
+ appUrl: resolveAppUrl(env),
657
+ });
658
+ totalDecisions += ingested;
659
+ if (ingested > 0)
660
+ sourcesImported.push('Git');
661
+ }
662
+ else {
663
+ gitSpinner.stop('No decisions found in git history');
664
+ }
665
+ }
666
+ catch {
667
+ gitSpinner.stop('Git import skipped');
668
+ }
669
+ }
645
670
  const n = readyConnectors.length;
646
671
  const fetchSpinner = p.spinner();
647
672
  fetchSpinner.start(`Fetching from ${n} source${n === 1 ? '' : 's'}...`);
@@ -662,7 +687,7 @@ async function runCloudSetup(ctx) {
662
687
  }));
663
688
  fetchSpinner.stop(`Fetched ${n} source${n === 1 ? '' : 's'}`);
664
689
  // Resolve any expired-token connectors interactively first (sequential, and
665
- // rare - 7a just minted fresh tokens), collecting everything ready to import.
690
+ // rare - step 4 just minted fresh tokens), collecting everything ready to import.
666
691
  const ready = [];
667
692
  for (const result of fetched) {
668
693
  const source = result.source;
@@ -751,6 +776,20 @@ async function runCloudSetup(ctx) {
751
776
  const sourceLine = sourcesImported.length > 0
752
777
  ? `\n Sources: ${sourcesImported.join(', ')}`
753
778
  : '';
779
+ // ---- Step 8: First-query prompt ----
780
+ // Only when something was actually WIRED, not merely detected: telling someone their agent
781
+ // is connected when they declined the prompt would be false.
782
+ //
783
+ // The question stays as it is, deliberately. ALI-771 removed it from the LOCAL outro
784
+ // because typing it into `align ask` matches nothing - it is about the graph rather than in
785
+ // it. Asked of an AGENT over MCP it is a good opening question, because the agent answers
786
+ // it by calling a list tool rather than a similarity search. Different surface, different
787
+ // advice.
788
+ if (agents.connected > 0) {
789
+ console.log('');
790
+ p.log.info(chalk.dim('Your agent is connected. Try asking:'));
791
+ p.log.info(chalk.bold(' "What decisions exist in this codebase?"'));
792
+ }
754
793
  const outroText = [
755
794
  chalk.bold('Setup complete.\n'),
756
795
  decisionsLine,
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Align brand rendering for the terminal.
3
+ *
4
+ * The mark is AUTHORED at terminal resolution, not downsampled from the vector logo.
5
+ * Resampling the detailed mark to this size was tried first and read as mud: the thin
6
+ * strokes and the inner triangle turn to noise below about 40 rows. So this is pixel
7
+ * art of the mark - chevron, inner triangle, the teal bar and the two feet - drawn to
8
+ * survive at 16x5 cells, packed two pixel rows per terminal row with half blocks.
9
+ *
10
+ * On a dark terminal the navy strokes are rendered WHITE, following the brand pack's
11
+ * own knockout variant (F 4 R): navy on a dark background is invisible, which is why
12
+ * that variant exists. The teal stays teal in both, as it does in the artwork.
13
+ */
14
+ export declare const BRAND: {
15
+ readonly teal: "#43b6ac";
16
+ readonly navy: "#022863";
17
+ };
18
+ export declare const LOGO_WIDTH = 20;
19
+ export declare const LOGO_ROWS = 8;
20
+ /**
21
+ * The live positioning line, taken from align-frontend's hero (src/lib/seo.ts).
22
+ * 'Collaboration with clarity built in' is RETIRED - do not reintroduce it.
23
+ */
24
+ export declare const TAGLINE_LINES: readonly ["Your AI agents know the code.", "They don't know the company."];
25
+ /** Which brand colour the mark's strokes take. The pack ships a teal-only variant
26
+ * (F 2 R) as well as the white knockout (F 4 R), so both are on-brand. */
27
+ export type MarkStyle = 'white' | 'teal' | 'solid';
28
+ export interface RenderOptions {
29
+ /** Mark styling; defaults to 'white'. */
30
+ style?: MarkStyle;
31
+ /** Emit ANSI at all. Defaults to "stdout is a TTY and NO_COLOR is unset". */
32
+ color?: boolean;
33
+ /** Use 24-bit colour. Defaults to reading COLORTERM. */
34
+ truecolor?: boolean;
35
+ /** Dark terminal background, which decides whether the mark is white or navy. */
36
+ dark?: boolean;
37
+ }
38
+ /** The mark, one string per terminal row, all exactly LOGO_WIDTH cells wide. */
39
+ export declare function logoLines(opts?: RenderOptions): string[];
40
+ export interface BannerOptions extends RenderOptions {
41
+ version: string;
42
+ /** Optional context line, e.g. "local graph" or "preview". */
43
+ context?: string;
44
+ }
45
+ /**
46
+ * The full lockup: the mark on the left, wordmark and tagline to its right, so the
47
+ * whole thing is only as tall as the mark (LOGO_ROWS) rather than stacking.
48
+ */
49
+ export declare function banner(opts: BannerOptions): string;
50
+ /** One consistent intro chip for every command, in brand teal. */
51
+ export declare function commandIntro(label: string, opts?: RenderOptions): string;
52
+ /**
53
+ * Print the banner, but only when someone is actually looking at a terminal.
54
+ *
55
+ * Piped output (`align ask ... | jq`) and CI logs must stay clean, so this is a
56
+ * no-op off a TTY rather than a plain-text banner.
57
+ */
58
+ export declare function printBanner(opts: BannerOptions): boolean;
59
+ //# sourceMappingURL=brand.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brand.d.ts","sourceRoot":"","sources":["../../src/lib/brand.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,eAAO,MAAM,KAAK;;;CAGR,CAAC;AAWX,eAAO,MAAM,UAAU,KAAK,CAAC;AAC7B,eAAO,MAAM,SAAS,IAAI,CAAC;AAE3B;;;GAGG;AACH,eAAO,MAAM,aAAa,4EAGhB,CAAC;AAmBX;0EAC0E;AAC1E,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;AAanD,MAAM,WAAW,aAAa;IAC5B,yCAAyC;IACzC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,6EAA6E;IAC7E,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,wDAAwD;IACxD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iFAAiF;IACjF,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAuCD,gFAAgF;AAChF,wBAAgB,SAAS,CAAC,IAAI,GAAE,aAAkB,GAAG,MAAM,EAAE,CAwC5D;AAED,MAAM,WAAW,aAAc,SAAQ,aAAa;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAkBlD;AAED,kEAAkE;AAClE,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,aAAkB,GAAG,MAAM,CAK5E;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAIxD"}