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.
- package/dist/commands/setup.js +39 -15
- package/package.json +1 -1
package/dist/commands/setup.js
CHANGED
|
@@ -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:
|
|
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
|
|
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
|
-
-
|
|
304
|
-
-
|
|
305
|
-
-
|
|
306
|
-
-
|
|
307
|
-
-
|
|
308
|
-
-
|
|
309
|
-
-
|
|
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.
|
|
343
|
-
4.
|
|
344
|
-
5.
|
|
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
|
|