vireum-spec-cli 0.2.1 → 0.3.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.
@@ -149,6 +149,7 @@ async function runSetup() {
149
149
  const mcpsSelecionados = await (0, prompts_1.checkbox)({
150
150
  message: 'Selecione os MCPs para este projeto:',
151
151
  choices: [
152
+ { name: 'context7 — docs atualizadas das libs do projeto', value: 'context7', checked: true },
152
153
  { name: 'github — PRs, issues, branches', value: 'github', checked: true },
153
154
  { name: 'database — consultar banco em dev', value: 'database', checked: true },
154
155
  { name: 'browser — testar endpoints e fluxos', value: 'browser', checked: true },
@@ -157,10 +158,14 @@ async function runSetup() {
157
158
  { name: 'redis — inspecionar cache e filas', value: 'redis', checked: false },
158
159
  ],
159
160
  });
161
+ // Context7 sempre presente
162
+ const mcpsFinais = mcpsSelecionados.includes('context7')
163
+ ? mcpsSelecionados
164
+ : ['context7', ...mcpsSelecionados];
160
165
  // ── Gerar arquivos ─────────────────────────────────────────────────────────
161
166
  console.log('');
162
167
  const projeto = extrairProjeto(path.join(specDir, 'INDEX.md'));
163
- const dados = { stack, infra, mcps: mcpsSelecionados, projeto };
168
+ const dados = { stack, infra, mcps: mcpsFinais, projeto };
164
169
  for (const dir of [vireumDir, cursorDir]) {
165
170
  if (!fs.existsSync(dir))
166
171
  fs.mkdirSync(dir, { recursive: true });
@@ -236,6 +241,7 @@ ${mcps.map((m) => `- ${m}`).join('\n')}
236
241
  }
237
242
  function gerarMcpSetup(d) {
238
243
  const mcpInfo = {
244
+ context7: 'https://github.com/upstash/context7',
239
245
  github: 'https://github.com/modelcontextprotocol/servers/tree/main/src/github',
240
246
  database: 'https://github.com/modelcontextprotocol/servers/tree/main/src/postgres',
241
247
  browser: 'https://github.com/modelcontextprotocol/servers/tree/main/src/puppeteer',
@@ -256,7 +262,7 @@ ${lista}
256
262
  1. Acesse o link de cada MCP acima
257
263
  2. Siga as instruções de instalação
258
264
  3. Configure as credenciais manualmente no seu cliente (Claude Code / Cursor)
259
- 4. Execute: vireum-spec verify-mcps (em breve)
265
+ 4. Execute: vireum-spec verify-mcps
260
266
  `;
261
267
  }
262
268
  function gerarRulesGlobal() {
@@ -300,18 +306,20 @@ function gerarMcpsGlobal(d) {
300
306
  > MCPs ativos por projeto estão em .spec/architecture.md
301
307
 
302
308
  ## Stack Padrão
303
- - filesystem leitura e escrita no projeto (nativo)
304
- - github PRs, issues, branches referenciando tasks
305
- - database validar schema e dados em desenvolvimento
306
- - browser testar endpoints e validar fluxos
307
- - puppeteer testes de jornada de UI
308
- - docker gerenciar containers em desenvolvimento
309
- - redis inspecionar cache e filas (quando aplicável)
309
+ - context7 documentação atualizada das libs (sempre ativo)
310
+ - filesystem leitura e escrita no projeto (nativo)
311
+ - github PRs, issues, branches referenciando tasks
312
+ - database validar schema e dados em desenvolvimento
313
+ - browser testar endpoints e validar fluxos
314
+ - puppeteer testes de jornada de UI
315
+ - docker gerenciar containers em desenvolvimento
316
+ - redis — inspecionar cache e filas (quando aplicável)
310
317
 
311
318
  ## MCPs Ativos Neste Projeto
312
319
  ${d.mcps.map((m) => `- ${m}`).join('\n')}
313
320
 
314
321
  ## Quando usar cada MCP
322
+ - Antes de usar qualquer lib → context7: buscar docs atualizadas
315
323
  - Task concluída → github: criar PR referenciando a task
316
324
  - Bug identificado → github: abrir issue com contexto
317
325
  - Decisão de schema → database: validar antes de implementar
@@ -323,6 +331,9 @@ function gerarClaudeMd(d) {
323
331
  const { projeto, stack, mcps } = d;
324
332
  const tenant = stack.multiTenant
325
333
  ? '\n- NUNCA fazer query sem filtro de tenantId — projeto multi-tenant' : '';
334
+ const libs = [stack.frontend, stack.backend, stack.orm, stack.cache]
335
+ .filter((l) => l && l !== 'Nenhum' && l !== 'Outro')
336
+ .join(', ');
326
337
  return `# ${projeto} — Vireum Spec Protocol
327
338
 
328
339
  > Este projeto usa Spec Driven Development pela Vireum Desenvolvimento.
@@ -339,9 +350,10 @@ function gerarClaudeMd(d) {
339
350
  Acionado por: "desenvolve", "implementa", "cria", + nome de task
340
351
  1. Leia \`.spec/tasks/active.md\`
341
352
  2. Leia \`.spec/requirements.md\` para contexto da feature
342
- 3. Implemente seguindo os critérios de aceitação da task
343
- 4. Ao concluir: marque como done, mova para \`tasks/done.md\`, atualize \`INDEX.md\`
344
- 5. Se decisão arquitetural tomada: registre em \`architecture.md\`
353
+ 3. Consulte o Context7 para docs atualizadas da lib que vai usar
354
+ 4. Implemente seguindo os critérios de aceitação da task
355
+ 5. Ao concluir: marque como done, mova para \`tasks/done.md\`, atualize \`INDEX.md\`
356
+ 6. Se decisão arquitetural tomada: registre em \`architecture.md\`
345
357
 
346
358
  ### Modo 2 — Bug
347
359
  Acionado por: "erro", "bug", "quebrou", "não funciona"
@@ -362,6 +374,11 @@ Acionado por: "como deve funcionar", "o que foi combinado", "qual o comportament
362
374
  1. Leia \`.spec/requirements.md\`
363
375
  2. Responda com base no spec — não invente comportamento
364
376
 
377
+ ## Context7 — Documentação atualizada
378
+ Sempre que for usar uma lib do projeto, consulte a documentação atualizada via Context7 antes de implementar.
379
+ Nunca assuma que você conhece a API mais recente — sempre verifique.
380
+ Libs deste projeto: ${libs}
381
+
365
382
  ## Regras globais
366
383
  Leia \`.vireum/rules.md\` — aplicam-se a todas as sessões.
367
384
 
@@ -394,10 +411,13 @@ function gerarAgentsMd(d) {
394
411
  2. Identifique o modo pela solicitação
395
412
  3. Siga o protocolo em CLAUDE.md
396
413
 
414
+ ## Context7
415
+ Sempre consultar docs atualizadas via Context7 antes de usar qualquer lib.
416
+
397
417
  ## Regras globais
398
418
  Ver \`.vireum/rules.md\`
399
419
 
400
- ## Regras do projeto
420
+ ## Regras do projeto
401
421
  Ver \`.spec/rules.md\`
402
422
 
403
423
  ## Stack
@@ -421,9 +441,13 @@ Este projeto usa Spec Driven Development pela Vireum Desenvolvimento.
421
441
  - Sempre leia \`.spec/INDEX.md\` primeiro
422
442
  - Carregue outros arquivos de spec apenas quando necessário
423
443
 
444
+ ## Context7
445
+ - Sempre consultar Context7 antes de usar qualquer lib do projeto
446
+ - Nunca assumir que conhece a API mais recente
447
+
424
448
  ## Modos
425
- - Implementar → leia tasks/active.md, siga critérios de aceitação
426
- - Bug → crie hotfix [H] em active.md, registre causa raiz em changelog.md
449
+ - Implementar → leia tasks/active.md, consulte Context7, siga critérios de aceitação
450
+ - Bug → crie hotfix [H] em active.md, registre causa raiz em changelog.md
427
451
  - Nova demanda → crie [PENDING] em backlog.md, aguarde aprovação
428
452
  - Dúvida de escopo → consulte requirements.md
429
453
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vireum-spec-cli",
3
- "version": "0.2.1",
3
+ "version": "0.3.0",
4
4
  "description": "Spec Driven Development framework by Vireum Desenvolvimento",
5
5
  "main": "dist/index.js",
6
6
  "bin": {