@nimbuslab/cli 0.16.1 → 0.16.3

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.16.1",
153
+ version: "0.16.3",
154
154
  description: "CLI para criar projetos nimbuslab",
155
155
  type: "module",
156
156
  bin: {
@@ -2360,6 +2360,11 @@ function printUpgradePlan(name, plan) {
2360
2360
  var import_picocolors6 = __toESM(require_picocolors(), 1);
2361
2361
  import { execSync, spawnSync } from "child_process";
2362
2362
  var PACKAGE_NAME = "@nimbuslab/cli";
2363
+ function isUsingFnm() {
2364
+ const fnmDir = process.env.FNM_DIR || process.env.FNM_MULTISHELL_PATH;
2365
+ const whichNode = spawnSync("which", ["node"], { encoding: "utf-8", shell: true });
2366
+ return !!(fnmDir || whichNode.stdout && whichNode.stdout.includes("fnm"));
2367
+ }
2363
2368
  async function getAvailableVersions() {
2364
2369
  try {
2365
2370
  const res = await fetch(`https://registry.npmjs.org/${PACKAGE_NAME}`);
@@ -2522,6 +2527,12 @@ async function update(args) {
2522
2527
  } else {
2523
2528
  M2.success(`${PACKAGE_NAME} atualizado: ${currentVersion} -> ${newVersion}`);
2524
2529
  }
2530
+ if (isUsingFnm()) {
2531
+ console.log();
2532
+ console.log(import_picocolors6.default.yellow(" fnm detectado - execute para aplicar:"));
2533
+ console.log(import_picocolors6.default.cyan(" hash -r"));
2534
+ console.log(import_picocolors6.default.dim(" Ou abra um novo terminal."));
2535
+ }
2525
2536
  Se(import_picocolors6.default.green("Pronto!"));
2526
2537
  } catch (error) {
2527
2538
  spinner.stop("Erro na atualizacao");
@@ -3325,9 +3336,20 @@ lola_profile: millennial
3325
3336
  console.log();
3326
3337
  console.log(import_picocolors7.default.green(" Claude configurado!"));
3327
3338
  }
3339
+ var SUBCOMMAND_ALIASES = {
3340
+ i: "install",
3341
+ s: "suggest",
3342
+ o: "onboard",
3343
+ q: "quiz",
3344
+ h: "help",
3345
+ sync: "install",
3346
+ "--help": "help",
3347
+ "-h": "help"
3348
+ };
3328
3349
  async function lola(args) {
3329
- const subcommand = args[0];
3330
- if (!subcommand || subcommand === "install" || subcommand === "sync") {
3350
+ const rawSubcommand = args[0];
3351
+ const subcommand = rawSubcommand ? SUBCOMMAND_ALIASES[rawSubcommand] || rawSubcommand : null;
3352
+ if (!subcommand || subcommand === "install") {
3331
3353
  await installInteractive();
3332
3354
  } else if (subcommand === "onboard") {
3333
3355
  await onboardDev();
@@ -3336,10 +3358,10 @@ async function lola(args) {
3336
3358
  } else if (subcommand === "suggest") {
3337
3359
  const message = args.slice(1).join(" ");
3338
3360
  await suggestImprovement(message);
3339
- } else if (subcommand === "help" || subcommand === "--help" || subcommand === "-h") {
3361
+ } else if (subcommand === "help") {
3340
3362
  showLolaHelp();
3341
3363
  } else {
3342
- console.log(import_picocolors7.default.red(` Subcomando desconhecido: ${subcommand}`));
3364
+ console.log(import_picocolors7.default.red(` Subcomando desconhecido: ${rawSubcommand}`));
3343
3365
  showLolaHelp();
3344
3366
  process.exit(1);
3345
3367
  }
@@ -3351,18 +3373,17 @@ function showLolaHelp() {
3351
3373
  console.log(import_picocolors7.default.bold(" Uso:") + " nimbus lola [subcomando]");
3352
3374
  console.log();
3353
3375
  console.log(import_picocolors7.default.bold(" Subcomandos:"));
3354
- console.log(import_picocolors7.default.dim(" install ") + import_picocolors7.default.white("Instalar/atualizar Lola + MCP"));
3355
- console.log(import_picocolors7.default.dim(" sync ") + import_picocolors7.default.white("Alias para install"));
3356
- console.log(import_picocolors7.default.dim(" onboard ") + import_picocolors7.default.white("Configurar perfil (novos devs)"));
3357
- console.log(import_picocolors7.default.dim(" quiz ") + import_picocolors7.default.white("Quiz sobre a nimbuslab"));
3358
- console.log(import_picocolors7.default.dim(' suggest "msg" ') + import_picocolors7.default.white("Sugerir melhoria (cria issue)"));
3359
- console.log(import_picocolors7.default.dim(" help ") + import_picocolors7.default.white("Mostrar esta ajuda"));
3376
+ console.log(import_picocolors7.default.dim(" install, i ") + import_picocolors7.default.white("Instalar/atualizar Lola + MCP"));
3377
+ console.log(import_picocolors7.default.dim(" onboard, o ") + import_picocolors7.default.white("Configurar perfil (novos devs)"));
3378
+ console.log(import_picocolors7.default.dim(" quiz, q ") + import_picocolors7.default.white("Quiz sobre a nimbuslab"));
3379
+ console.log(import_picocolors7.default.dim(" suggest, s ") + import_picocolors7.default.white("Sugerir melhoria (cria issue)"));
3380
+ console.log(import_picocolors7.default.dim(" help, h ") + import_picocolors7.default.white("Mostrar esta ajuda"));
3360
3381
  console.log();
3361
3382
  console.log(import_picocolors7.default.bold(" Exemplos:"));
3362
- console.log(import_picocolors7.default.dim(" $ nimbus lola install"));
3363
- console.log(import_picocolors7.default.dim(" $ nimbus lola onboard"));
3364
- console.log(import_picocolors7.default.dim(" $ nimbus lola quiz"));
3365
- console.log(import_picocolors7.default.dim(' $ nimbus lola suggest "adicionar suporte a X"'));
3383
+ console.log(import_picocolors7.default.dim(" $ nimbus lola i"));
3384
+ console.log(import_picocolors7.default.dim(" $ nimbus lola o"));
3385
+ console.log(import_picocolors7.default.dim(" $ nimbus lola q"));
3386
+ console.log(import_picocolors7.default.dim(' $ nimbus lola s "adicionar suporte a X"'));
3366
3387
  console.log();
3367
3388
  console.log(import_picocolors7.default.bold(" lola-memory (dentro do Claude):"));
3368
3389
  console.log(import_picocolors7.default.dim(' remember "query" ') + import_picocolors7.default.white("Buscar conhecimento"));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nimbuslab/cli",
3
- "version": "0.16.1",
3
+ "version": "0.16.3",
4
4
  "description": "CLI para criar projetos nimbuslab",
5
5
  "type": "module",
6
6
  "bin": {
@@ -964,10 +964,23 @@ lola_profile: millennial
964
964
  console.log(pc.green(" Claude configurado!"))
965
965
  }
966
966
 
967
+ // Aliases para subcomandos
968
+ const SUBCOMMAND_ALIASES: Record<string, string> = {
969
+ i: "install",
970
+ s: "suggest",
971
+ o: "onboard",
972
+ q: "quiz",
973
+ h: "help",
974
+ sync: "install",
975
+ "--help": "help",
976
+ "-h": "help",
977
+ }
978
+
967
979
  export async function lola(args: string[]) {
968
- const subcommand = args[0]
980
+ const rawSubcommand = args[0]
981
+ const subcommand = rawSubcommand ? (SUBCOMMAND_ALIASES[rawSubcommand] || rawSubcommand) : null
969
982
 
970
- if (!subcommand || subcommand === "install" || subcommand === "sync") {
983
+ if (!subcommand || subcommand === "install") {
971
984
  await installInteractive()
972
985
  } else if (subcommand === "onboard") {
973
986
  await onboardDev()
@@ -976,10 +989,10 @@ export async function lola(args: string[]) {
976
989
  } else if (subcommand === "suggest") {
977
990
  const message = args.slice(1).join(" ")
978
991
  await suggestImprovement(message)
979
- } else if (subcommand === "help" || subcommand === "--help" || subcommand === "-h") {
992
+ } else if (subcommand === "help") {
980
993
  showLolaHelp()
981
994
  } else {
982
- console.log(pc.red(` Subcomando desconhecido: ${subcommand}`))
995
+ console.log(pc.red(` Subcomando desconhecido: ${rawSubcommand}`))
983
996
  showLolaHelp()
984
997
  process.exit(1)
985
998
  }
@@ -992,18 +1005,17 @@ function showLolaHelp() {
992
1005
  console.log(pc.bold(" Uso:") + " nimbus lola [subcomando]")
993
1006
  console.log()
994
1007
  console.log(pc.bold(" Subcomandos:"))
995
- console.log(pc.dim(" install ") + pc.white("Instalar/atualizar Lola + MCP"))
996
- console.log(pc.dim(" sync ") + pc.white("Alias para install"))
997
- console.log(pc.dim(" onboard ") + pc.white("Configurar perfil (novos devs)"))
998
- console.log(pc.dim(" quiz ") + pc.white("Quiz sobre a nimbuslab"))
999
- console.log(pc.dim(" suggest \"msg\" ") + pc.white("Sugerir melhoria (cria issue)"))
1000
- console.log(pc.dim(" help ") + pc.white("Mostrar esta ajuda"))
1008
+ console.log(pc.dim(" install, i ") + pc.white("Instalar/atualizar Lola + MCP"))
1009
+ console.log(pc.dim(" onboard, o ") + pc.white("Configurar perfil (novos devs)"))
1010
+ console.log(pc.dim(" quiz, q ") + pc.white("Quiz sobre a nimbuslab"))
1011
+ console.log(pc.dim(" suggest, s ") + pc.white("Sugerir melhoria (cria issue)"))
1012
+ console.log(pc.dim(" help, h ") + pc.white("Mostrar esta ajuda"))
1001
1013
  console.log()
1002
1014
  console.log(pc.bold(" Exemplos:"))
1003
- console.log(pc.dim(" $ nimbus lola install"))
1004
- console.log(pc.dim(" $ nimbus lola onboard"))
1005
- console.log(pc.dim(" $ nimbus lola quiz"))
1006
- console.log(pc.dim(" $ nimbus lola suggest \"adicionar suporte a X\""))
1015
+ console.log(pc.dim(" $ nimbus lola i"))
1016
+ console.log(pc.dim(" $ nimbus lola o"))
1017
+ console.log(pc.dim(" $ nimbus lola q"))
1018
+ console.log(pc.dim(" $ nimbus lola s \"adicionar suporte a X\""))
1007
1019
  console.log()
1008
1020
  console.log(pc.bold(" lola-memory (dentro do Claude):"))
1009
1021
  console.log(pc.dim(" remember \"query\" ") + pc.white("Buscar conhecimento"))
@@ -6,6 +6,13 @@ const PACKAGE_NAME = "@nimbuslab/cli"
6
6
 
7
7
  type PackageManager = "bun" | "npm" | "unknown"
8
8
 
9
+ // Detecta se está usando fnm (Fast Node Manager)
10
+ function isUsingFnm(): boolean {
11
+ const fnmDir = process.env.FNM_DIR || process.env.FNM_MULTISHELL_PATH
12
+ const whichNode = spawnSync("which", ["node"], { encoding: "utf-8", shell: true })
13
+ return !!(fnmDir || (whichNode.stdout && whichNode.stdout.includes("fnm")))
14
+ }
15
+
9
16
  async function getAvailableVersions(): Promise<string[]> {
10
17
  try {
11
18
  const res = await fetch(`https://registry.npmjs.org/${PACKAGE_NAME}`)
@@ -229,6 +236,15 @@ export async function update(args: string[]) {
229
236
  } else {
230
237
  p.log.success(`${PACKAGE_NAME} atualizado: ${currentVersion} -> ${newVersion}`)
231
238
  }
239
+
240
+ // Se usa fnm, avisar sobre hash
241
+ if (isUsingFnm()) {
242
+ console.log()
243
+ console.log(pc.yellow(" fnm detectado - execute para aplicar:"))
244
+ console.log(pc.cyan(" hash -r"))
245
+ console.log(pc.dim(" Ou abra um novo terminal."))
246
+ }
247
+
232
248
  p.outro(pc.green("Pronto!"))
233
249
  } catch (error) {
234
250
  spinner.stop("Erro na atualizacao")