@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 +36 -15
- package/package.json +1 -1
- package/src/commands/lola.ts +26 -14
- package/src/commands/update.ts +16 -0
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.
|
|
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
|
|
3330
|
-
|
|
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"
|
|
3361
|
+
} else if (subcommand === "help") {
|
|
3340
3362
|
showLolaHelp();
|
|
3341
3363
|
} else {
|
|
3342
|
-
console.log(import_picocolors7.default.red(` Subcomando desconhecido: ${
|
|
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
|
|
3355
|
-
console.log(import_picocolors7.default.dim("
|
|
3356
|
-
console.log(import_picocolors7.default.dim("
|
|
3357
|
-
console.log(import_picocolors7.default.dim("
|
|
3358
|
-
console.log(import_picocolors7.default.dim(
|
|
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
|
|
3363
|
-
console.log(import_picocolors7.default.dim(" $ nimbus lola
|
|
3364
|
-
console.log(import_picocolors7.default.dim(" $ nimbus lola
|
|
3365
|
-
console.log(import_picocolors7.default.dim(' $ nimbus lola
|
|
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
package/src/commands/lola.ts
CHANGED
|
@@ -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
|
|
980
|
+
const rawSubcommand = args[0]
|
|
981
|
+
const subcommand = rawSubcommand ? (SUBCOMMAND_ALIASES[rawSubcommand] || rawSubcommand) : null
|
|
969
982
|
|
|
970
|
-
if (!subcommand || subcommand === "install"
|
|
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"
|
|
992
|
+
} else if (subcommand === "help") {
|
|
980
993
|
showLolaHelp()
|
|
981
994
|
} else {
|
|
982
|
-
console.log(pc.red(` Subcomando desconhecido: ${
|
|
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
|
|
996
|
-
console.log(pc.dim("
|
|
997
|
-
console.log(pc.dim("
|
|
998
|
-
console.log(pc.dim("
|
|
999
|
-
console.log(pc.dim("
|
|
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
|
|
1004
|
-
console.log(pc.dim(" $ nimbus lola
|
|
1005
|
-
console.log(pc.dim(" $ nimbus lola
|
|
1006
|
-
console.log(pc.dim(" $ nimbus lola
|
|
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"))
|
package/src/commands/update.ts
CHANGED
|
@@ -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")
|