@nimbuslab/cli 0.13.6 → 0.14.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.
package/dist/index.js CHANGED
@@ -150,7 +150,7 @@ var require_src = __commonJS((exports, module) => {
150
150
  var require_package = __commonJS((exports, module) => {
151
151
  module.exports = {
152
152
  name: "@nimbuslab/cli",
153
- version: "0.13.6",
153
+ version: "0.14.0",
154
154
  description: "CLI para criar projetos nimbuslab",
155
155
  type: "module",
156
156
  bin: {
@@ -1328,15 +1328,18 @@ async function promptConfig(initialName, flags) {
1328
1328
  console.log();
1329
1329
  console.log(import_picocolors3.default.dim(" nimbus-core: Motor para projetos externos (stealth mode)"));
1330
1330
  console.log();
1331
- const createGithub = await ye({
1332
- message: "Create GitHub repository? (nimbuslab, private)",
1333
- initialValue: true
1331
+ const repoOption = await ve({
1332
+ message: "Create repository for this project?",
1333
+ options: [
1334
+ { value: "github", label: "GitHub (nimbuslab, private)", hint: "recommended" },
1335
+ { value: "none", label: "No repository", hint: "just local" }
1336
+ ]
1334
1337
  });
1335
- if (pD(createGithub))
1336
- return createGithub;
1338
+ if (pD(repoOption))
1339
+ return repoOption;
1337
1340
  const clientRepo = await he({
1338
- message: "Client repo URL (optional, to clone in workspace):",
1339
- placeholder: "git@github.com:client/repo.git"
1341
+ message: "Client repo URL (to clone in workspace):",
1342
+ placeholder: "git@github.com:client/repo.git ou Azure DevOps URL"
1340
1343
  });
1341
1344
  if (pD(clientRepo))
1342
1345
  return clientRepo;
@@ -1346,7 +1349,7 @@ async function promptConfig(initialName, flags) {
1346
1349
  monorepo: false,
1347
1350
  git: true,
1348
1351
  install: false,
1349
- github: createGithub,
1352
+ github: repoOption === "github",
1350
1353
  githubOrg: "nimbuslab",
1351
1354
  githubDescription: `nimbus-core for ${name} - external project`,
1352
1355
  theme: "dark",
@@ -1359,7 +1362,8 @@ async function promptConfig(initialName, flags) {
1359
1362
  railwayToken: "",
1360
1363
  stagingUrl: "",
1361
1364
  productionUrl: "",
1362
- customTemplate: clientRepo || null
1365
+ customTemplate: null,
1366
+ clientRepoUrl: clientRepo || null
1363
1367
  };
1364
1368
  }
1365
1369
  let monorepo = false;
@@ -1688,11 +1692,17 @@ async function createProject(config) {
1688
1692
  s.stop("Error cloning template");
1689
1693
  throw new Error(`Failed to clone template ${templateRepo}. Check your connection or repository access.`);
1690
1694
  }
1691
- if (config.type === "nimbus-core" && config.customTemplate) {
1692
- const clientRepoUrl = config.customTemplate;
1695
+ if (config.type === "nimbus-core" && config.clientRepoUrl) {
1696
+ const clientRepoUrl = config.clientRepoUrl;
1693
1697
  s.start(`Cloning client repo in workspace...`);
1694
1698
  try {
1695
- const projectName = clientRepoUrl.split("/").pop()?.replace(".git", "") || "client-project";
1699
+ let projectName = "client-project";
1700
+ if (clientRepoUrl.includes("visualstudio.com") || clientRepoUrl.includes("dev.azure.com")) {
1701
+ const parts = clientRepoUrl.split("/");
1702
+ projectName = parts[parts.length - 1] || "client-project";
1703
+ } else {
1704
+ projectName = clientRepoUrl.split("/").pop()?.replace(".git", "") || "client-project";
1705
+ }
1696
1706
  await $2`git clone ${clientRepoUrl} ${config.name}/workspace/${projectName}`.quiet();
1697
1707
  s.stop(`Client repo cloned: workspace/${projectName}`);
1698
1708
  } catch (error) {
@@ -1870,13 +1880,8 @@ function showNextSteps(config) {
1870
1880
  console.log();
1871
1881
  console.log(import_picocolors3.default.dim(" nimbus-core: Motor para projetos externos"));
1872
1882
  console.log();
1873
- console.log(import_picocolors3.default.dim(" Para clonar repo do cliente:"));
1874
- console.log(` ${import_picocolors3.default.cyan("cd")} workspace`);
1875
- console.log(` ${import_picocolors3.default.cyan("git clone")} <repo-do-cliente>`);
1876
- console.log();
1877
1883
  console.log(import_picocolors3.default.dim(" Para usar a Lola:"));
1878
- console.log(` ${import_picocolors3.default.cyan("gemini")} ${import_picocolors3.default.dim("# Gemini CLI")}`);
1879
- console.log(` ${import_picocolors3.default.cyan("claude --append-system-prompt-file .claude/agents/lola.md")}`);
1884
+ console.log(` ${import_picocolors3.default.cyan("lola")}`);
1880
1885
  console.log();
1881
1886
  console.log(import_picocolors3.default.yellow(" STEALTH MODE: Commits sem mencao a nimbuslab/Lola/IA"));
1882
1887
  console.log();
@@ -2475,6 +2480,53 @@ var HOME = homedir();
2475
2480
  var LOLA_DIR = join3(HOME, ".lola");
2476
2481
  var LOLA_REPO = "git@github.com:nimbuslab/lola.git";
2477
2482
  var USER_MEMORY = join3(HOME, ".claude", "USER_MEMORY.md");
2483
+ var LOLA_MEMORY_URL = "https://lola.nimbuslab.com.br/sse";
2484
+ var LOLA_MEMORY_NAME = "lola-memory";
2485
+ async function installLolaMemoryMCP() {
2486
+ console.log();
2487
+ console.log(import_picocolors7.default.cyan(" Configurando lola-memory MCP..."));
2488
+ const claudeCheck = Bun.spawnSync(["which", "claude"], { stdout: "pipe" });
2489
+ if (claudeCheck.exitCode !== 0) {
2490
+ console.log(import_picocolors7.default.yellow(" Claude CLI nao encontrado, pulando MCP"));
2491
+ console.log(import_picocolors7.default.dim(" Instale o Claude CLI e rode 'nimbus lola install' novamente"));
2492
+ return;
2493
+ }
2494
+ const mcpList = Bun.spawnSync(["claude", "mcp", "list"], { stdout: "pipe", stderr: "pipe" });
2495
+ const mcpOutput = mcpList.stdout.toString();
2496
+ if (mcpOutput.includes(LOLA_MEMORY_NAME)) {
2497
+ console.log(import_picocolors7.default.green(" MCP lola-memory ja configurado"));
2498
+ return;
2499
+ }
2500
+ console.log(import_picocolors7.default.dim(" Adicionando MCP lola-memory..."));
2501
+ const result = Bun.spawnSync([
2502
+ "claude",
2503
+ "mcp",
2504
+ "add",
2505
+ "-t",
2506
+ "sse",
2507
+ "-s",
2508
+ "user",
2509
+ LOLA_MEMORY_NAME,
2510
+ "--",
2511
+ "bunx",
2512
+ "mcp-remote",
2513
+ LOLA_MEMORY_URL
2514
+ ], {
2515
+ stdout: "inherit",
2516
+ stderr: "inherit"
2517
+ });
2518
+ if (result.exitCode !== 0) {
2519
+ console.log(import_picocolors7.default.yellow(" Erro ao adicionar MCP, pode ser adicionado manualmente:"));
2520
+ console.log(import_picocolors7.default.dim(` claude mcp add -t sse -s user ${LOLA_MEMORY_NAME} -- bunx mcp-remote ${LOLA_MEMORY_URL}`));
2521
+ return;
2522
+ }
2523
+ console.log(import_picocolors7.default.green(" MCP lola-memory instalado!"));
2524
+ console.log();
2525
+ console.log(import_picocolors7.default.dim(" Comandos disponiveis:"));
2526
+ console.log(import_picocolors7.default.dim(' remember "query" - Buscar conhecimento'));
2527
+ console.log(import_picocolors7.default.dim(' learn "content" - Salvar conhecimento'));
2528
+ console.log(import_picocolors7.default.dim(" memory_stats - Ver estatisticas"));
2529
+ }
2478
2530
  async function installLola() {
2479
2531
  console.log();
2480
2532
  console.log(import_picocolors7.default.cyan(" Lola - Code Agent da nimbuslab"));
@@ -2596,6 +2648,7 @@ fi
2596
2648
  console.log(import_picocolors7.default.green(" Script lola ja existe"));
2597
2649
  }
2598
2650
  }
2651
+ await installLolaMemoryMCP();
2599
2652
  const claudeDir = join3(HOME, ".claude");
2600
2653
  if (!existsSync2(USER_MEMORY)) {
2601
2654
  console.log();
@@ -2644,7 +2697,11 @@ lola_profile: millennial
2644
2697
  console.log();
2645
2698
  console.log(import_picocolors7.default.bold(" Para usar a Lola:"));
2646
2699
  console.log(import_picocolors7.default.dim(" lola ") + import_picocolors7.default.white("# Iniciar sessao"));
2647
- console.log(import_picocolors7.default.dim(' lola suggest "x" ') + import_picocolors7.default.white("# Sugerir melhoria"));
2700
+ console.log();
2701
+ console.log(import_picocolors7.default.bold(" lola-memory (conhecimento compartilhado):"));
2702
+ console.log(import_picocolors7.default.dim(' remember "query" ') + import_picocolors7.default.white("# Buscar conhecimento"));
2703
+ console.log(import_picocolors7.default.dim(' learn "content" ') + import_picocolors7.default.white("# Salvar conhecimento"));
2704
+ console.log(import_picocolors7.default.dim(" memory_stats ") + import_picocolors7.default.white("# Ver estatisticas"));
2648
2705
  console.log();
2649
2706
  console.log(import_picocolors7.default.bold(" Para mudar perfil, edite ~/.claude/USER_MEMORY.md:"));
2650
2707
  console.log(import_picocolors7.default.dim(" lola_profile: millennial|genz|profissional|nerd|chill"));
@@ -2996,7 +3053,7 @@ function showLolaHelp() {
2996
3053
  console.log(import_picocolors7.default.bold(" Uso:") + " nimbus lola [subcomando]");
2997
3054
  console.log();
2998
3055
  console.log(import_picocolors7.default.bold(" Subcomandos:"));
2999
- console.log(import_picocolors7.default.dim(" install ") + import_picocolors7.default.white("Instalar/atualizar Lola"));
3056
+ console.log(import_picocolors7.default.dim(" install ") + import_picocolors7.default.white("Instalar/atualizar Lola + MCP"));
3000
3057
  console.log(import_picocolors7.default.dim(" sync ") + import_picocolors7.default.white("Alias para install"));
3001
3058
  console.log(import_picocolors7.default.dim(" onboard ") + import_picocolors7.default.white("Configurar perfil (novos devs)"));
3002
3059
  console.log(import_picocolors7.default.dim(" quiz ") + import_picocolors7.default.white("Quiz sobre a nimbuslab"));
@@ -3009,6 +3066,12 @@ function showLolaHelp() {
3009
3066
  console.log(import_picocolors7.default.dim(" $ nimbus lola quiz"));
3010
3067
  console.log(import_picocolors7.default.dim(' $ nimbus lola suggest "adicionar suporte a X"'));
3011
3068
  console.log();
3069
+ console.log(import_picocolors7.default.bold(" lola-memory (dentro do Claude):"));
3070
+ console.log(import_picocolors7.default.dim(' remember "query" ') + import_picocolors7.default.white("Buscar conhecimento"));
3071
+ console.log(import_picocolors7.default.dim(' learn "content" ') + import_picocolors7.default.white("Salvar conhecimento"));
3072
+ console.log(import_picocolors7.default.dim(" memory_stats ") + import_picocolors7.default.white("Ver estatisticas"));
3073
+ console.log(import_picocolors7.default.dim(" get_context ") + import_picocolors7.default.white("Perfil + memorias recentes"));
3074
+ console.log();
3012
3075
  }
3013
3076
 
3014
3077
  // src/index.ts
@@ -3051,8 +3114,8 @@ function showUpdateNotice(latestVersion) {
3051
3114
  const maxLen = Math.max(line1.length, line2.length);
3052
3115
  const border = "\u2500".repeat(maxLen + 2);
3053
3116
  console.log(import_picocolors8.default.yellow(` \u250C${border}\u2510`));
3054
- console.log(import_picocolors8.default.yellow(` \u2502`) + import_picocolors8.default.white(line1.padEnd(maxLen + 1)) + import_picocolors8.default.yellow(`\u2502`));
3055
- console.log(import_picocolors8.default.yellow(` \u2502`) + import_picocolors8.default.cyan(line2.padEnd(maxLen + 1)) + import_picocolors8.default.yellow(`\u2502`));
3117
+ console.log(import_picocolors8.default.yellow(` \u2502`) + import_picocolors8.default.white(line1.padEnd(maxLen + 2)) + import_picocolors8.default.yellow(`\u2502`));
3118
+ console.log(import_picocolors8.default.yellow(` \u2502`) + import_picocolors8.default.cyan(line2.padEnd(maxLen + 2)) + import_picocolors8.default.yellow(`\u2502`));
3056
3119
  console.log(import_picocolors8.default.yellow(` \u2514${border}\u2518`));
3057
3120
  console.log();
3058
3121
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nimbuslab/cli",
3
- "version": "0.13.6",
3
+ "version": "0.14.0",
4
4
  "description": "CLI para criar projetos nimbuslab",
5
5
  "type": "module",
6
6
  "bin": {
@@ -196,6 +196,8 @@ interface ProjectConfig {
196
196
  productionUrl: string
197
197
  // Template customizado
198
198
  customTemplate: string | null
199
+ // nimbus-core: URL do repo do cliente
200
+ clientRepoUrl?: string | null
199
201
  }
200
202
 
201
203
  interface CreateFlags {
@@ -547,17 +549,20 @@ async function promptConfig(initialName?: string, flags?: CreateFlags): Promise<
547
549
  console.log(pc.dim(" nimbus-core: Motor para projetos externos (stealth mode)"))
548
550
  console.log()
549
551
 
550
- // Sempre cria repo no GitHub (org nimbuslab, privado)
551
- const createGithub = await p.confirm({
552
- message: "Create GitHub repository? (nimbuslab, private)",
553
- initialValue: true,
552
+ // Perguntar se quer criar repo (GitHub ou nenhum)
553
+ const repoOption = await p.select({
554
+ message: "Create repository for this project?",
555
+ options: [
556
+ { value: "github", label: "GitHub (nimbuslab, private)", hint: "recommended" },
557
+ { value: "none", label: "No repository", hint: "just local" },
558
+ ],
554
559
  })
555
- if (p.isCancel(createGithub)) return createGithub
560
+ if (p.isCancel(repoOption)) return repoOption
556
561
 
557
562
  // Perguntar URL do repo do cliente para clonar no workspace
558
563
  const clientRepo = await p.text({
559
- message: "Client repo URL (optional, to clone in workspace):",
560
- placeholder: "git@github.com:client/repo.git",
564
+ message: "Client repo URL (to clone in workspace):",
565
+ placeholder: "git@github.com:client/repo.git ou Azure DevOps URL",
561
566
  })
562
567
  if (p.isCancel(clientRepo)) return clientRepo
563
568
 
@@ -567,7 +572,7 @@ async function promptConfig(initialName?: string, flags?: CreateFlags): Promise<
567
572
  monorepo: false,
568
573
  git: true, // sempre init git
569
574
  install: false, // nimbus-core não tem package.json
570
- github: createGithub as boolean,
575
+ github: repoOption === "github",
571
576
  githubOrg: "nimbuslab", // sempre na org nimbuslab
572
577
  githubDescription: `nimbus-core for ${name} - external project`,
573
578
  theme: "dark" as const,
@@ -580,7 +585,8 @@ async function promptConfig(initialName?: string, flags?: CreateFlags): Promise<
580
585
  railwayToken: "",
581
586
  stagingUrl: "",
582
587
  productionUrl: "",
583
- customTemplate: (clientRepo as string) || null, // reusa campo para URL do cliente
588
+ customTemplate: null, // não usa template customizado
589
+ clientRepoUrl: (clientRepo as string) || null, // URL do cliente separada
584
590
  }
585
591
  }
586
592
 
@@ -972,11 +978,20 @@ async function createProject(config: ProjectConfig) {
972
978
  }
973
979
 
974
980
  // nimbus-core: clone client repo in workspace if provided
975
- if (config.type === "nimbus-core" && config.customTemplate) {
976
- const clientRepoUrl = config.customTemplate
981
+ if (config.type === "nimbus-core" && config.clientRepoUrl) {
982
+ const clientRepoUrl = config.clientRepoUrl
977
983
  s.start(`Cloning client repo in workspace...`)
978
984
  try {
979
- const projectName = clientRepoUrl.split("/").pop()?.replace(".git", "") || "client-project"
985
+ // Extrair nome do projeto da URL (funciona com GitHub, GitLab, Azure DevOps)
986
+ let projectName = "client-project"
987
+ if (clientRepoUrl.includes("visualstudio.com") || clientRepoUrl.includes("dev.azure.com")) {
988
+ // Azure DevOps: serel@vs-ssh.visualstudio.com:v3/serel/Project/Repo
989
+ const parts = clientRepoUrl.split("/")
990
+ projectName = parts[parts.length - 1] || "client-project"
991
+ } else {
992
+ // GitHub/GitLab: git@github.com:org/repo.git
993
+ projectName = clientRepoUrl.split("/").pop()?.replace(".git", "") || "client-project"
994
+ }
980
995
  await $`git clone ${clientRepoUrl} ${config.name}/workspace/${projectName}`.quiet()
981
996
  s.stop(`Client repo cloned: workspace/${projectName}`)
982
997
  } catch (error) {
@@ -1204,13 +1219,8 @@ function showNextSteps(config: ProjectConfig) {
1204
1219
  console.log()
1205
1220
  console.log(pc.dim(" nimbus-core: Motor para projetos externos"))
1206
1221
  console.log()
1207
- console.log(pc.dim(" Para clonar repo do cliente:"))
1208
- console.log(` ${pc.cyan("cd")} workspace`)
1209
- console.log(` ${pc.cyan("git clone")} <repo-do-cliente>`)
1210
- console.log()
1211
1222
  console.log(pc.dim(" Para usar a Lola:"))
1212
- console.log(` ${pc.cyan("gemini")} ${pc.dim("# Gemini CLI")}`)
1213
- console.log(` ${pc.cyan("claude --append-system-prompt-file .claude/agents/lola.md")}`)
1223
+ console.log(` ${pc.cyan("lola")}`)
1214
1224
  console.log()
1215
1225
  console.log(pc.yellow(" STEALTH MODE: Commits sem mencao a nimbuslab/Lola/IA"))
1216
1226
  console.log()
@@ -8,6 +8,58 @@ const HOME = homedir()
8
8
  const LOLA_DIR = join(HOME, ".lola")
9
9
  const LOLA_REPO = "git@github.com:nimbuslab/lola.git"
10
10
  const USER_MEMORY = join(HOME, ".claude", "USER_MEMORY.md")
11
+ const LOLA_MEMORY_URL = "https://lola.nimbuslab.com.br/sse"
12
+ const LOLA_MEMORY_NAME = "lola-memory"
13
+
14
+ async function installLolaMemoryMCP(): Promise<void> {
15
+ console.log()
16
+ console.log(pc.cyan(" Configurando lola-memory MCP..."))
17
+
18
+ // Verificar se claude CLI existe
19
+ const claudeCheck = Bun.spawnSync(["which", "claude"], { stdout: "pipe" })
20
+ if (claudeCheck.exitCode !== 0) {
21
+ console.log(pc.yellow(" Claude CLI nao encontrado, pulando MCP"))
22
+ console.log(pc.dim(" Instale o Claude CLI e rode 'nimbus lola install' novamente"))
23
+ return
24
+ }
25
+
26
+ // Verificar se MCP já está configurado
27
+ const mcpList = Bun.spawnSync(["claude", "mcp", "list"], { stdout: "pipe", stderr: "pipe" })
28
+ const mcpOutput = mcpList.stdout.toString()
29
+
30
+ if (mcpOutput.includes(LOLA_MEMORY_NAME)) {
31
+ console.log(pc.green(" MCP lola-memory ja configurado"))
32
+ return
33
+ }
34
+
35
+ // Adicionar MCP lola-memory
36
+ console.log(pc.dim(" Adicionando MCP lola-memory..."))
37
+
38
+ const result = Bun.spawnSync([
39
+ "claude", "mcp", "add",
40
+ "-t", "sse",
41
+ "-s", "user",
42
+ LOLA_MEMORY_NAME,
43
+ "--",
44
+ "bunx", "mcp-remote", LOLA_MEMORY_URL
45
+ ], {
46
+ stdout: "inherit",
47
+ stderr: "inherit",
48
+ })
49
+
50
+ if (result.exitCode !== 0) {
51
+ console.log(pc.yellow(" Erro ao adicionar MCP, pode ser adicionado manualmente:"))
52
+ console.log(pc.dim(` claude mcp add -t sse -s user ${LOLA_MEMORY_NAME} -- bunx mcp-remote ${LOLA_MEMORY_URL}`))
53
+ return
54
+ }
55
+
56
+ console.log(pc.green(" MCP lola-memory instalado!"))
57
+ console.log()
58
+ console.log(pc.dim(" Comandos disponiveis:"))
59
+ console.log(pc.dim(" remember \"query\" - Buscar conhecimento"))
60
+ console.log(pc.dim(" learn \"content\" - Salvar conhecimento"))
61
+ console.log(pc.dim(" memory_stats - Ver estatisticas"))
62
+ }
11
63
 
12
64
  async function installLola(): Promise<void> {
13
65
  console.log()
@@ -162,6 +214,9 @@ fi
162
214
  }
163
215
  }
164
216
 
217
+ // Instalar MCP lola-memory
218
+ await installLolaMemoryMCP()
219
+
165
220
  // Verificar USER_MEMORY.md
166
221
  const claudeDir = join(HOME, ".claude")
167
222
  if (!existsSync(USER_MEMORY)) {
@@ -217,7 +272,11 @@ lola_profile: millennial
217
272
  console.log()
218
273
  console.log(pc.bold(" Para usar a Lola:"))
219
274
  console.log(pc.dim(" lola ") + pc.white("# Iniciar sessao"))
220
- console.log(pc.dim(" lola suggest \"x\" ") + pc.white("# Sugerir melhoria"))
275
+ console.log()
276
+ console.log(pc.bold(" lola-memory (conhecimento compartilhado):"))
277
+ console.log(pc.dim(" remember \"query\" ") + pc.white("# Buscar conhecimento"))
278
+ console.log(pc.dim(" learn \"content\" ") + pc.white("# Salvar conhecimento"))
279
+ console.log(pc.dim(" memory_stats ") + pc.white("# Ver estatisticas"))
221
280
  console.log()
222
281
  console.log(pc.bold(" Para mudar perfil, edite ~/.claude/USER_MEMORY.md:"))
223
282
  console.log(pc.dim(" lola_profile: millennial|genz|profissional|nerd|chill"))
@@ -620,7 +679,7 @@ function showLolaHelp() {
620
679
  console.log(pc.bold(" Uso:") + " nimbus lola [subcomando]")
621
680
  console.log()
622
681
  console.log(pc.bold(" Subcomandos:"))
623
- console.log(pc.dim(" install ") + pc.white("Instalar/atualizar Lola"))
682
+ console.log(pc.dim(" install ") + pc.white("Instalar/atualizar Lola + MCP"))
624
683
  console.log(pc.dim(" sync ") + pc.white("Alias para install"))
625
684
  console.log(pc.dim(" onboard ") + pc.white("Configurar perfil (novos devs)"))
626
685
  console.log(pc.dim(" quiz ") + pc.white("Quiz sobre a nimbuslab"))
@@ -633,4 +692,10 @@ function showLolaHelp() {
633
692
  console.log(pc.dim(" $ nimbus lola quiz"))
634
693
  console.log(pc.dim(" $ nimbus lola suggest \"adicionar suporte a X\""))
635
694
  console.log()
695
+ console.log(pc.bold(" lola-memory (dentro do Claude):"))
696
+ console.log(pc.dim(" remember \"query\" ") + pc.white("Buscar conhecimento"))
697
+ console.log(pc.dim(" learn \"content\" ") + pc.white("Salvar conhecimento"))
698
+ console.log(pc.dim(" memory_stats ") + pc.white("Ver estatisticas"))
699
+ console.log(pc.dim(" get_context ") + pc.white("Perfil + memorias recentes"))
700
+ console.log()
636
701
  }
package/src/index.ts CHANGED
@@ -58,8 +58,8 @@ function showUpdateNotice(latestVersion: string) {
58
58
  const border = "─".repeat(maxLen + 2)
59
59
 
60
60
  console.log(pc.yellow(` ┌${border}┐`))
61
- console.log(pc.yellow(` │`) + pc.white(line1.padEnd(maxLen + 1)) + pc.yellow(`│`))
62
- console.log(pc.yellow(` │`) + pc.cyan(line2.padEnd(maxLen + 1)) + pc.yellow(`│`))
61
+ console.log(pc.yellow(` │`) + pc.white(line1.padEnd(maxLen + 2)) + pc.yellow(`│`))
62
+ console.log(pc.yellow(` │`) + pc.cyan(line2.padEnd(maxLen + 2)) + pc.yellow(`│`))
63
63
  console.log(pc.yellow(` └${border}┘`))
64
64
  console.log()
65
65
  }