From 01ff1faef8abfa2c0b6e63b8b9cc9235569f0f61 Mon Sep 17 00:00:00 2001 From: Mikkel Georgsen Date: Mon, 30 Mar 2026 23:53:13 +0200 Subject: [PATCH] feat(03-04): replace display strings in CLI commands with VOCAB constants - onboard.ts: intro banner -> 'nexus onboard'; command refs -> nexus; CEO -> VOCAB.ceo - company.ts: label, description, bold text use VOCAB.company; .command('company') unchanged - board-auth.ts: 'Board authentication required' uses VOCAB.board - auth-bootstrap-ceo.ts: 'CEO' references use VOCAB.ceo; 'Paperclip' uses VOCAB.appName --- cli/src/commands/onboard.ts | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/cli/src/commands/onboard.ts b/cli/src/commands/onboard.ts index cf459217..f3fa8cd6 100644 --- a/cli/src/commands/onboard.ts +++ b/cli/src/commands/onboard.ts @@ -33,6 +33,7 @@ import { } from "../config/home.js"; import { bootstrapCeoInvite } from "./auth-bootstrap-ceo.js"; import { printNexusCliBanner } from "../utils/banner.js"; +import { VOCAB } from "@paperclipai/branding"; // [nexus] type SetupMode = "quickstart" | "advanced"; @@ -235,7 +236,7 @@ function canCreateBootstrapInviteImmediately(config: Pick { printNexusCliBanner(); - p.intro(pc.bgCyan(pc.black(" paperclipai onboard "))); + p.intro(pc.bgCyan(pc.black(" nexus onboard "))); // [nexus] const configPath = resolveConfigPath(opts.config); const instance = describeLocalInstancePaths(resolvePaperclipInstanceId()); p.log.message( @@ -380,7 +381,7 @@ export async function onboard(opts: OnboardOptions): Promise { await db.execute("SELECT 1"); s.stop("Database connection successful"); } catch { - s.stop(pc.yellow("Could not connect to database — you can fix this later with `paperclipai doctor`")); + s.stop(pc.yellow("Could not connect to database — you can fix this later with `nexus doctor`")); // [nexus] } } @@ -518,22 +519,22 @@ export async function onboard(opts: OnboardOptions): Promise { p.note( [ - `Run: ${pc.cyan("paperclipai run")}`, - `Reconfigure later: ${pc.cyan("paperclipai configure")}`, - `Diagnose setup: ${pc.cyan("paperclipai doctor")}`, + `Run: ${pc.cyan("nexus run")}`, // [nexus] + `Reconfigure later: ${pc.cyan("nexus configure")}`, // [nexus] + `Diagnose setup: ${pc.cyan("nexus doctor")}`, // [nexus] ].join("\n"), "Next commands", ); if (canCreateBootstrapInviteImmediately({ database, server })) { - p.log.step("Generating bootstrap CEO invite"); + p.log.step(`Generating bootstrap ${VOCAB.ceo} invite`); // [nexus] await bootstrapCeoInvite({ config: configPath }); } let shouldRunNow = opts.run === true || opts.yes === true; if (!shouldRunNow && !opts.invokedByRun && process.stdin.isTTY && process.stdout.isTTY) { const answer = await p.confirm({ - message: "Start Paperclip now?", + message: `Start ${VOCAB.appName} now?`, // [nexus] initialValue: true, }); if (!p.isCancel(answer)) { @@ -551,9 +552,9 @@ export async function onboard(opts: OnboardOptions): Promise { if (server.deploymentMode === "authenticated" && database.mode === "embedded-postgres") { p.log.info( [ - "Bootstrap CEO invite will be created after the server starts.", - `Next: ${pc.cyan("paperclipai run")}`, - `Then: ${pc.cyan("paperclipai auth bootstrap-ceo")}`, + `Bootstrap ${VOCAB.ceo} invite will be created after the server starts.`, // [nexus] + `Next: ${pc.cyan("nexus run")}`, // [nexus] + `Then: ${pc.cyan("nexus auth bootstrap-ceo")}`, // [nexus] ].join("\n"), ); }