@neetru/cli 2.11.3 → 2.12.1

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 (56) hide show
  1. package/CHANGELOG.md +561 -547
  2. package/README.md +33 -5
  3. package/dist/commands/ai.js +40 -15
  4. package/dist/commands/ai.js.map +1 -1
  5. package/dist/commands/auth.js +8 -0
  6. package/dist/commands/auth.js.map +1 -1
  7. package/dist/commands/autocomplete.js +34 -34
  8. package/dist/commands/config.js +13 -3
  9. package/dist/commands/config.js.map +1 -1
  10. package/dist/commands/db.d.ts +6 -0
  11. package/dist/commands/db.js +58 -0
  12. package/dist/commands/db.js.map +1 -1
  13. package/dist/commands/deploy.js +64 -7
  14. package/dist/commands/deploy.js.map +1 -1
  15. package/dist/commands/dev-up.d.ts +70 -0
  16. package/dist/commands/dev-up.js +224 -0
  17. package/dist/commands/dev-up.js.map +1 -0
  18. package/dist/commands/doctor.js +14 -2
  19. package/dist/commands/doctor.js.map +1 -1
  20. package/dist/commands/dr.js +8 -0
  21. package/dist/commands/dr.js.map +1 -1
  22. package/dist/commands/fn.d.ts +6 -0
  23. package/dist/commands/fn.js +88 -0
  24. package/dist/commands/fn.js.map +1 -0
  25. package/dist/commands/init.js +164 -121
  26. package/dist/commands/init.js.map +1 -1
  27. package/dist/commands/marketplace.d.ts +36 -0
  28. package/dist/commands/marketplace.js +585 -0
  29. package/dist/commands/marketplace.js.map +1 -0
  30. package/dist/commands/ops.d.ts +41 -9
  31. package/dist/commands/ops.js +371 -21
  32. package/dist/commands/ops.js.map +1 -1
  33. package/dist/index.js +38 -5
  34. package/dist/index.js.map +1 -1
  35. package/dist/lib/ai/auth-discovery.d.ts +7 -1
  36. package/dist/lib/ai/auth-discovery.js +23 -1
  37. package/dist/lib/ai/auth-discovery.js.map +1 -1
  38. package/dist/lib/ai/context.d.ts +0 -3
  39. package/dist/lib/ai/context.js +109 -90
  40. package/dist/lib/ai/context.js.map +1 -1
  41. package/dist/lib/ai/orchestrator.d.ts +43 -8
  42. package/dist/lib/ai/orchestrator.js +452 -150
  43. package/dist/lib/ai/orchestrator.js.map +1 -1
  44. package/dist/lib/api-client.js +9 -2
  45. package/dist/lib/api-client.js.map +1 -1
  46. package/dist/lib/config.d.ts +5 -1
  47. package/dist/lib/config.js +5 -1
  48. package/dist/lib/config.js.map +1 -1
  49. package/package.json +1 -1
  50. package/templates/auth/callback.ts +22 -22
  51. package/templates/auth/sign-in.tsx +41 -41
  52. package/templates/billing/checkout.ts +22 -22
  53. package/templates/billing/page.tsx +43 -43
  54. package/templates/support/ticket-form.tsx +68 -68
  55. package/templates/usage/track.ts +30 -30
  56. package/templates/users/profile.tsx +43 -43
@@ -40,7 +40,19 @@ async function inspectDir(dir) {
40
40
  */
41
41
  async function resolveTarget(name, cwd, opts) {
42
42
  const subDir = path.resolve(cwd, name);
43
+ // bug: --path aceitava '../../../tmp/pwned' sem checagem — path traversal.
44
+ // Garante que o destino fica dentro do cwd (ou é o próprio cwd).
45
+ const cwdNorm = path.resolve(cwd);
46
+ function assertInsideCwd(target, label) {
47
+ const norm = path.resolve(target);
48
+ return norm === cwdNorm || norm.startsWith(cwdNorm + path.sep);
49
+ }
43
50
  const customDir = opts.path ? path.resolve(cwd, opts.path) : null;
51
+ if (customDir && !assertInsideCwd(customDir, '--path')) {
52
+ log.error(`--path deve ser dentro do diretório atual (${cwdNorm})`);
53
+ safeExit(1);
54
+ return null; // satisfaz tipos — safeExit lança
55
+ }
44
56
  const cwdInspection = await inspectDir(cwd);
45
57
  // ── Flags explícitas curtem o prompt ─────────────────────────────────
46
58
  if (opts.here) {
@@ -120,6 +132,11 @@ async function resolveTarget(name, cwd, opts) {
120
132
  { type: 'input', name: 'custom', message: 'Caminho (relativo ou absoluto):', default: `./${name}` },
121
133
  ]);
122
134
  dir = path.resolve(cwd, custom);
135
+ // Mesma guarda de path traversal do branch --path.
136
+ if (!assertInsideCwd(dir, 'caminho customizado')) {
137
+ log.error(`O caminho deve estar dentro do diretório atual (${cwdNorm})`);
138
+ return null;
139
+ }
123
140
  const insp = await inspectDir(dir);
124
141
  mode = insp.isEmpty || !insp.exists ? 'new' : 'merge';
125
142
  }
@@ -299,96 +316,106 @@ async function scaffoldNextjs(dir, name, write) {
299
316
  },
300
317
  }, null, 2));
301
318
  // next.config.mjs
302
- await write(path.join(dir, 'next.config.mjs'), `/** @type {import('next').NextConfig} */
303
- const nextConfig = {};
304
- export default nextConfig;
319
+ await write(path.join(dir, 'next.config.mjs'), `/** @type {import('next').NextConfig} */
320
+ const nextConfig = {};
321
+ export default nextConfig;
305
322
  `);
306
323
  // Layout raiz
307
- await write(path.join(dir, 'src', 'app', 'layout.tsx'), `import type { Metadata } from 'next';
308
-
309
- export const metadata: Metadata = {
310
- title: '${name}',
311
- };
312
-
313
- export default function RootLayout({ children }: { children: React.ReactNode }) {
314
- return (
315
- <html lang="pt-BR">
316
- <body>{children}</body>
317
- </html>
318
- );
319
- }
324
+ await write(path.join(dir, 'src', 'app', 'layout.tsx'), `import type { Metadata } from 'next';
325
+
326
+ export const metadata: Metadata = {
327
+ title: '${name}',
328
+ };
329
+
330
+ export default function RootLayout({ children }: { children: React.ReactNode }) {
331
+ return (
332
+ <html lang="pt-BR">
333
+ <body>{children}</body>
334
+ </html>
335
+ );
336
+ }
320
337
  `);
321
338
  // Página inicial com auth gate via SDK 1.1
322
- await write(path.join(dir, 'src', 'app', 'page.tsx'), `// Produto Neetru — gerado por neetru init
323
- // Auth via @neetru/sdk client (createNeetruClient + auth namespace)
324
-
325
- 'use client';
326
-
327
- import { createNeetruClient } from '@neetru/sdk';
328
- import { useEffect, useState } from 'react';
329
- import type { NeetruUser } from '@neetru/sdk';
330
-
331
- const neetru = createNeetruClient({
332
- apiKey: process.env.NEXT_PUBLIC_NEETRU_API_KEY,
333
- env: (process.env.NEXT_PUBLIC_NEETRU_ENV as 'dev' | 'prod') ?? 'dev',
334
- });
335
-
336
- export default function HomePage() {
337
- const [user, setUser] = useState<NeetruUser | null>(null);
338
- const [loading, setLoading] = useState(true);
339
-
340
- useEffect(() => {
341
- let unsub: (() => void) | undefined;
342
- neetru.auth.getUser().then((u) => {
343
- setUser(u);
344
- setLoading(false);
345
- });
346
- unsub = neetru.auth.onAuthStateChanged((u) => setUser(u));
347
- return () => unsub?.();
348
- }, []);
349
-
350
- if (loading) return <main><p>Carregando...</p></main>;
351
- if (!user) {
352
- return (
353
- <main>
354
- <h1>${name}</h1>
355
- <button onClick={() => neetru.auth.signIn()}>Entrar com Neetru</button>
356
- </main>
357
- );
358
- }
359
- return (
360
- <main>
361
- <h1>Bem-vindo, {user.email}</h1>
362
- <p>UID: {user.uid}</p>
363
- <button onClick={() => neetru.auth.signOut()}>Sair</button>
364
- </main>
365
- );
366
- }
339
+ await write(path.join(dir, 'src', 'app', 'page.tsx'), `// Produto Neetru — gerado por neetru init
340
+ // Auth via @neetru/sdk client (createNeetruClient + auth namespace)
341
+
342
+ 'use client';
343
+
344
+ import { createNeetruClient } from '@neetru/sdk';
345
+ import { useEffect, useState } from 'react';
346
+ import type { NeetruUser } from '@neetru/sdk';
347
+
348
+ // [C1] Falha rápido se NEXT_PUBLIC_NEETRU_ENV não estiver configurada —
349
+ // nunca defaulta silenciosamente pra 'dev' em produção.
350
+ const _neetruEnv = process.env.NEXT_PUBLIC_NEETRU_ENV;
351
+ if (!_neetruEnv) {
352
+ throw new Error(
353
+ 'NEXT_PUBLIC_NEETRU_ENV não está definida. ' +
354
+ 'Defina como "prod" no ambiente de produção e "dev" no ambiente de desenvolvimento. ' +
355
+ 'Exemplo: NEXT_PUBLIC_NEETRU_ENV=prod',
356
+ );
357
+ }
358
+ const neetru = createNeetruClient({
359
+ apiKey: process.env.NEXT_PUBLIC_NEETRU_API_KEY,
360
+ env: _neetruEnv as 'dev' | 'prod',
361
+ });
362
+
363
+ export default function HomePage() {
364
+ const [user, setUser] = useState<NeetruUser | null>(null);
365
+ const [loading, setLoading] = useState(true);
366
+
367
+ useEffect(() => {
368
+ let unsub: (() => void) | undefined;
369
+ neetru.auth.getUser().then((u) => {
370
+ setUser(u);
371
+ setLoading(false);
372
+ });
373
+ unsub = neetru.auth.onAuthStateChanged((u) => setUser(u));
374
+ return () => unsub?.();
375
+ }, []);
376
+
377
+ if (loading) return <main><p>Carregando...</p></main>;
378
+ if (!user) {
379
+ return (
380
+ <main>
381
+ <h1>${name}</h1>
382
+ <button onClick={() => neetru.auth.signIn()}>Entrar com Neetru</button>
383
+ </main>
384
+ );
385
+ }
386
+ return (
387
+ <main>
388
+ <h1>Bem-vindo, {user.email}</h1>
389
+ <p>UID: {user.uid}</p>
390
+ <button onClick={() => neetru.auth.signOut()}>Sair</button>
391
+ </main>
392
+ );
393
+ }
367
394
  `);
368
395
  // Middleware Next.js — gate de cookie de sessão em rotas privadas
369
- await write(path.join(dir, 'src', 'middleware.ts'), `import { NextRequest, NextResponse } from 'next/server';
370
-
371
- const PUBLIC_PATHS = ['/login', '/api/auth', '/_next', '/favicon.ico'];
372
-
373
- export function middleware(request: NextRequest) {
374
- const { pathname } = request.nextUrl;
375
- if (PUBLIC_PATHS.some((p) => pathname.startsWith(p))) {
376
- return NextResponse.next();
377
- }
378
-
379
- const hasSession = request.cookies.has('__session');
380
- if (!hasSession) {
381
- const url = request.nextUrl.clone();
382
- url.pathname = '/login';
383
- return NextResponse.redirect(url);
384
- }
385
-
386
- return NextResponse.next();
387
- }
388
-
389
- export const config = {
390
- matcher: ['/((?!_next/static|_next/image|favicon.ico).*)'],
391
- };
396
+ await write(path.join(dir, 'src', 'middleware.ts'), `import { NextRequest, NextResponse } from 'next/server';
397
+
398
+ const PUBLIC_PATHS = ['/login', '/api/auth', '/_next', '/favicon.ico'];
399
+
400
+ export function middleware(request: NextRequest) {
401
+ const { pathname } = request.nextUrl;
402
+ if (PUBLIC_PATHS.some((p) => pathname.startsWith(p))) {
403
+ return NextResponse.next();
404
+ }
405
+
406
+ const hasSession = request.cookies.has('__session');
407
+ if (!hasSession) {
408
+ const url = request.nextUrl.clone();
409
+ url.pathname = '/login';
410
+ return NextResponse.redirect(url);
411
+ }
412
+
413
+ return NextResponse.next();
414
+ }
415
+
416
+ export const config = {
417
+ matcher: ['/((?!_next/static|_next/image|favicon.ico).*)'],
418
+ };
392
419
  `);
393
420
  // tsconfig.json
394
421
  await write(path.join(dir, 'tsconfig.json'), JSON.stringify({
@@ -434,43 +461,59 @@ async function scaffoldNodeApi(dir, name, write) {
434
461
  '@types/node': '^22.0.0',
435
462
  },
436
463
  }, null, 2));
437
- await write(path.join(dir, 'src', 'index.ts'), `import Fastify from 'fastify';
438
- import { createNeetruClient } from '@neetru/sdk';
439
-
440
- // Padrão @neetru/sdk@1.1 — namespaces server-side: entitlements/usage/telemetry.
441
- const neetru = createNeetruClient({
442
- apiKey: process.env.NEETRU_API_KEY,
443
- env: (process.env.NEETRU_ENV as 'dev' | 'prod') ?? 'dev',
444
- });
445
-
446
- const PRODUCT_SLUG = process.env.NEETRU_PRODUCT_SLUG ?? '${name}';
447
-
448
- const app = Fastify({ logger: true });
449
-
450
- function requireEntitlement(feature: string) {
451
- return async (
452
- _request: import('fastify').FastifyRequest,
453
- reply: import('fastify').FastifyReply,
454
- ) => {
455
- const allowed = await neetru.entitlements.check(PRODUCT_SLUG, feature);
456
- if (!allowed) {
457
- return reply.code(403).send({ error: 'entitlement_denied', feature });
458
- }
459
- };
460
- }
461
-
462
- app.get('/health', async () => ({ status: 'ok' }));
463
-
464
- app.get(
465
- '/api/data',
466
- { preHandler: requireEntitlement('api-access') },
467
- async () => {
468
- await neetru.usage.report('api_call', 1, { productId: PRODUCT_SLUG });
469
- return { data: [] };
470
- },
471
- );
472
-
473
- await app.listen({ port: 3000, host: '0.0.0.0' });
464
+ await write(path.join(dir, 'src', 'index.ts'), `import Fastify from 'fastify';
465
+ import { createNeetruClient } from '@neetru/sdk';
466
+
467
+ // Padrão @neetru/sdk@1.1 — namespaces server-side: entitlements/usage/telemetry.
468
+ // [C1] Falha rápido se NEETRU_ENV não estiver configurada.
469
+ const _neetruEnv = process.env.NEETRU_ENV;
470
+ if (!_neetruEnv) {
471
+ throw new Error(
472
+ 'NEETRU_ENV não está definida. ' +
473
+ 'Defina como "prod" no ambiente de produção e "dev" no ambiente de desenvolvimento. ' +
474
+ 'Exemplo: NEETRU_ENV=prod',
475
+ );
476
+ }
477
+ // [C2] NEETRU_API_KEY é obrigatória — falha rápido com mensagem clara.
478
+ const apiKey = process.env.NEETRU_API_KEY;
479
+ if (!apiKey) {
480
+ throw new Error(
481
+ 'NEETRU_API_KEY é obrigatória. Configure a variável de ambiente antes de iniciar o servidor.',
482
+ );
483
+ }
484
+ const neetru = createNeetruClient({
485
+ apiKey,
486
+ env: _neetruEnv as 'dev' | 'prod',
487
+ });
488
+
489
+ const PRODUCT_SLUG = process.env.NEETRU_PRODUCT_SLUG ?? '${name}';
490
+
491
+ const app = Fastify({ logger: true });
492
+
493
+ function requireEntitlement(feature: string) {
494
+ return async (
495
+ _request: import('fastify').FastifyRequest,
496
+ reply: import('fastify').FastifyReply,
497
+ ) => {
498
+ const allowed = await neetru.entitlements.check(PRODUCT_SLUG, feature);
499
+ if (!allowed) {
500
+ return reply.code(403).send({ error: 'entitlement_denied', feature });
501
+ }
502
+ };
503
+ }
504
+
505
+ app.get('/health', async () => ({ status: 'ok' }));
506
+
507
+ app.get(
508
+ '/api/data',
509
+ { preHandler: requireEntitlement('api-access') },
510
+ async () => {
511
+ await neetru.usage.report('api_call', 1, { productId: PRODUCT_SLUG });
512
+ return { data: [] };
513
+ },
514
+ );
515
+
516
+ await app.listen({ port: 3000, host: '0.0.0.0' });
474
517
  `);
475
518
  }
476
519
  //# sourceMappingURL=init.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ export declare function getCacheDir(): string;
2
+ /**
3
+ * Resolve o diretorio fonte das skills no cache local.
4
+ *
5
+ * Suporta 2 estruturas no repo neetru-libs/claude-skills/:
6
+ *
7
+ * 1. Marketplace estruturado (atual): plugins/PLUGIN/skills/SKILL/SKILL.md
8
+ * - descobre todos os plugins/PLUGIN/skills/ e retorna o primeiro.
9
+ * 2. Plugin direto (legado): skills/SKILL/SKILL.md
10
+ * - retorna single path.
11
+ *
12
+ * Pra simplicidade, esta funcao devolve UMA root virtual:
13
+ * - Se existir claude-skills/plugins/PLUGIN/skills/, retorna a primeira (assume 1 plugin).
14
+ * - Senao, fallback pra claude-skills/skills/ (estrutura legada).
15
+ */
16
+ export declare function getSkillsSourceDir(): string;
17
+ export declare function getClaudeSkillsDir(): string;
18
+ export interface SkillInfo {
19
+ name: string;
20
+ description: string;
21
+ version: string;
22
+ installed: boolean;
23
+ }
24
+ export declare function listAvailableSkills(): Promise<SkillInfo[]>;
25
+ export declare function runSkillsInstall(): Promise<void>;
26
+ export declare function runSkillsUpdate(): Promise<void>;
27
+ export declare function runSkillsList(): Promise<void>;
28
+ export declare function runSkillsUninstall(opts?: {
29
+ yes?: boolean;
30
+ }): Promise<void>;
31
+ export declare function runSdkInit(): Promise<void>;
32
+ export declare function runSdkTemplates(): Promise<void>;
33
+ export declare function runSdkAddTemplate(template: string, opts?: {
34
+ force?: boolean;
35
+ }): Promise<void>;
36
+ export declare function runMarketplaceBrowse(): Promise<void>;