vireum-spec-cli 0.5.0 → 0.7.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.
@@ -0,0 +1,568 @@
1
+ # Vireum Spec Framework — Documentação Completa
2
+
3
+ > **Versão:** 0.7.0
4
+ > **Autor:** Vireum Desenvolvimento
5
+ > **Licença:** ISC
6
+
7
+ ---
8
+
9
+ ## 📌 O que é o Vireum Spec?
10
+
11
+ **Vireum Spec** é um **framework de Spec Driven Development** — uma abordagem estruturada para documentar e estruturar projetos de software desde o planejamento até a implementação.
12
+
13
+ ### Problema que Resolve
14
+
15
+ 1. **Falta de clareza nos requisitos** — Briefings confusos, mal documentados
16
+ 2. **Desalinhamento com cliente** — Expectativas diferentes entre dev e cliente
17
+ 3. **Specs incompletos ou desatualizados** — Documentação que não reflete realidade
18
+ 4. **Difícil onboarding** — Novos devs entendem difícil a arquitetura
19
+ 5. **Falta de rastreabilidade** — Quem decidiu o quê? Por quê?
20
+ 6. **Retrofitting em projetos existentes** — Documentar o que já existe é árduo
21
+ 7. **IA sem direção** — Claude Code trabalha melhor com briefing estruturado
22
+
23
+ ---
24
+
25
+ ## 🎯 Filosofia
26
+
27
+ O framework acredita que:
28
+ - **Spec bem feito = dev mais rápida e com menos bugs**
29
+ - **Spec é vivo** — muda conforme você aprende
30
+ - **Spec é para humanos e máquinas** — IA entende melhor contexto estruturado
31
+ - **Brevidade é força** — 80% do spec em 20% do esforço
32
+
33
+ ---
34
+
35
+ ## 🛠️ O que o Framework Gera
36
+
37
+ ### 1. **Briefing** (`.spec/briefing.md`)
38
+
39
+ Documento estruturado com 6 seções que captura:
40
+ - Informações gerais (projeto, cliente, responsável, data)
41
+ - Problema e caso de uso
42
+ - Fonte de conhecimento/dados
43
+ - Interface e interação esperada
44
+ - Modelo e infraestrutura
45
+ - Qualidade e supervisão
46
+
47
+ **Propósito:** Source of truth sobre o que foi discutido com o cliente.
48
+
49
+ ---
50
+
51
+ ### 2. **Requirements** (`.spec/requirements.md`)
52
+
53
+ Especificação técnica e funcional gerada automaticamente a partir do briefing.
54
+
55
+ **Contém:**
56
+ - Objetivo do projeto
57
+ - Features MVP (checklist)
58
+ - Features Fase 2
59
+ - Regras de negócio
60
+ - Integrações planejadas
61
+ - Modelo financeiro (se aplicável)
62
+ - KPIs e métricas de sucesso
63
+
64
+ **Exemplo:**
65
+ ```markdown
66
+ ## Funcionalidades — MVP
67
+ - [ ] R-001 Autenticação com JWT
68
+ - [ ] R-002 CRUD de usuários
69
+ - [ ] R-003 Dashboard com gráficos
70
+ ```
71
+
72
+ ---
73
+
74
+ ### 3. **Architecture** (`.spec/architecture.md`)
75
+
76
+ Diagrama técnico e explicação da solução.
77
+
78
+ **Contém:**
79
+ - Stack escolhida (frontend, backend, BD, cache, auth)
80
+ - Fluxo de dados
81
+ - Componentes principais
82
+ - Estratégia de deployment
83
+ - Escalabilidade
84
+ - High-level design
85
+
86
+ ---
87
+
88
+ ### 4. **Users** (`.spec/users.md`)
89
+
90
+ Personas e perfis de usuário do sistema.
91
+
92
+ **Contém:**
93
+ - Quem usa o sistema
94
+ - Goals de cada persona
95
+ - Pain points
96
+ - Permissões e acessos
97
+ - Jornada esperada
98
+
99
+ **Exemplo:**
100
+ ```markdown
101
+ ## Admin
102
+ - **Goal:** Gerenciar usuários e permissões
103
+ - **Pain points:** Muita clicagem para tasks simples
104
+ - **Permissões:** CRUD total
105
+ ```
106
+
107
+ ---
108
+
109
+ ### 5. **Risks** (`.spec/risks.md`)
110
+
111
+ Identificação de riscos potenciais.
112
+
113
+ **Contém:**
114
+ - Riscos técnicos (performance, scaling, integração)
115
+ - Riscos jurídicos/compliance (LGPD, PCI-DSS, saúde)
116
+ - Riscos operacionais (suporte, manutenção)
117
+ - Mitigação de cada risco
118
+
119
+ ---
120
+
121
+ ### 6. **Rules** (`.spec/rules.md`)
122
+
123
+ Regras de negócio estruturadas.
124
+
125
+ **Formato:**
126
+ - Cada regra tem um ID único
127
+ - Descreve comportamento esperado
128
+ - Exceções e casos especiais
129
+ - Impacto na implementação
130
+
131
+ **Exemplo:**
132
+ ```
133
+ RN-001: Usuários grátis só podem ter 10 projetos
134
+ RN-002: Admin pode resestar senha de qualquer usuário
135
+ RN-003: Dados devem ser deletados após 30 dias de inatividade
136
+ ```
137
+
138
+ ---
139
+
140
+ ### 7. **INDEX** (`.spec/INDEX.md`)
141
+
142
+ Mapa completo do spec. Ponto de partida para entender tudo.
143
+
144
+ **Contém:**
145
+ - Resumo executivo
146
+ - Links para todos os documentos
147
+ - Estado atual do projeto
148
+ - Próximos passos
149
+
150
+ ---
151
+
152
+ ### 8. **Changelog** (`.spec/changelog.md`)
153
+
154
+ Histórico de mudanças no spec.
155
+
156
+ **Rastreia:**
157
+ - O que mudou
158
+ - Quando mudou
159
+ - Por quê
160
+ - Quem decidiu
161
+
162
+ ---
163
+
164
+ ### 9. **Tasks** (`.spec/tasks/`)
165
+
166
+ Backlog estruturado em 3 arquivos:
167
+
168
+ #### **active.md**
169
+ Tasks atualmente em desenvolvimento.
170
+ ```markdown
171
+ ## [ID] Titulo da Task
172
+ - Status: In Progress / To Do
173
+ - Assignee: Nome
174
+ - Prioridade: Alta / Média / Baixa
175
+ - Estimativa: X pontos
176
+ ```
177
+
178
+ #### **backlog.md**
179
+ Próximas tasks planejadas.
180
+
181
+ #### **done.md**
182
+ Tasks concluídas. Histórico de trabalho.
183
+
184
+ ---
185
+
186
+ ### 10. **Stack Configuration** (`.vireum/stack.json`)
187
+
188
+ Configuração técnica escolhida no `setup`.
189
+
190
+ **Exemplo:**
191
+ ```json
192
+ {
193
+ "frontend": "Next.js",
194
+ "backend": "Node.js + Express",
195
+ "database": "PostgreSQL",
196
+ "orm": "Prisma",
197
+ "cache": "Redis + BullMQ",
198
+ "auth": "JWT + Refresh Token",
199
+ "multiTenant": true,
200
+ "tenantStrategy": "schema-isolation"
201
+ }
202
+ ```
203
+
204
+ ---
205
+
206
+ ### 11. **AI Protocol** (`.vireum/protocol.md`)
207
+
208
+ Instruções estruturadas para a IA trabalhar efetivamente no projeto.
209
+
210
+ **Contém:**
211
+ - Objetivo do projeto (para IA)
212
+ - Padrões de código esperados
213
+ - Como estruturar prompts
214
+ - Guardrails (o que não fazer)
215
+ - Tools disponíveis
216
+ - Exemplos de work flow
217
+
218
+ ---
219
+
220
+ ### 12. **Cursor Rules** (`.cursor/rules/`)
221
+
222
+ Regras específicas para Claude Code executar tarefas melhor.
223
+
224
+ Arquivos gerados:
225
+ - `project-overview.md` — Visão geral
226
+ - `coding-standards.md` — Padrões de código
227
+ - `architecture.md` — Arquitetura esperada
228
+ - `testing.md` — Estratégia de testes
229
+ - `security.md` — Segurança
230
+
231
+ ---
232
+
233
+ ## 🎨 Tipos de Projeto Suportados
234
+
235
+ ### 1. **System** (padrão)
236
+ Sistema completo/multi-módulo.
237
+ - Briefing genérico
238
+ - Aplicável a qualquer tipo
239
+
240
+ ### 2. **Web**
241
+ Landing pages, sites, plataformas web.
242
+ - Perguntas específicas sobre UI/UX
243
+ - SEO, analytics, conversão
244
+ - Seções da página
245
+ - Formulários
246
+
247
+ ### 3. **API**
248
+ REST API, GraphQL, backend services.
249
+ - Endpoints esperados
250
+ - Autenticação/autorização
251
+ - Rate limiting
252
+ - Versionamento
253
+
254
+ ### 4. **Mobile**
255
+ iOS, Android, ou ambos.
256
+ - Plataforma (iOS, Android, ambas)
257
+ - Tipo (nativa, cross-platform)
258
+ - Offline-first?
259
+ - Push notifications
260
+
261
+ ### 5. **Automation**
262
+ RPA, workflows, automação de processos.
263
+ - Qual processo automatizar?
264
+ - Gatilhos
265
+ - Integração com sistemas
266
+ - Frequência
267
+
268
+ ### 6. **AI**
269
+ Chatbots, agentes de IA, extração de dados.
270
+ - Tarefa que IA resolve
271
+ - Fonte de conhecimento
272
+ - Provider de IA
273
+ - Nível de autonomia
274
+ - Dados sensíveis?
275
+
276
+ ---
277
+
278
+ ## 📊 Fluxo de Dados
279
+
280
+ ```
281
+ Briefing Interativo (init)
282
+
283
+ Briefing.md
284
+
285
+ Distill (análise)
286
+
287
+ ┌──────────────────────────────┐
288
+ │ Requirements, Users, Risks │
289
+ │ Rules, Architecture, Tasks │
290
+ │ INDEX, Changelog │
291
+ └──────────────────────────────┘
292
+
293
+ Setup (Tech Stack)
294
+
295
+ ┌──────────────────────────────┐
296
+ │ stack.json, protocol.md │
297
+ │ .cursor/rules/* │
298
+ └──────────────────────────────┘
299
+
300
+ Desenvolvimento com
301
+ Spec como Guia
302
+ ```
303
+
304
+ ---
305
+
306
+ ## 🔄 Operações Disponíveis
307
+
308
+ ### **init** — Criar Novo Spec
309
+ ```bash
310
+ vireum-spec init --type <web|api|mobile|ai|automation|system>
311
+ ```
312
+ - Briefing interativo
313
+ - Salva em `.spec/briefing.md`
314
+
315
+ ### **distill** — Gerar Documentação
316
+ ```bash
317
+ vireum-spec distill
318
+ ```
319
+ - Lê briefing.md
320
+ - Gera requirements.md, users.md, risks.md, etc.
321
+ - Detecta tipo automaticamente
322
+
323
+ ### **setup** — Configurar Stack
324
+ ```bash
325
+ vireum-spec setup
326
+ ```
327
+ - Perguntas sobre tecnologias
328
+ - Gera stack.json e protocol.md
329
+ - Cria .cursor/rules/
330
+
331
+ ### **retrofit** — Documentar Projeto Existente
332
+ ```bash
333
+ vireum-spec retrofit
334
+ ```
335
+ - Analisa projeto automaticamente
336
+ - Detecta stack, rotas, features
337
+ - Pergunta sobre o não-detectado
338
+ - Gera briefing e spec
339
+
340
+ ### **prioritize** — Classificar Features
341
+ ```bash
342
+ vireum-spec prioritize
343
+ ```
344
+ - MVP (deve ter)
345
+ - Fase 2 (deveria ter)
346
+ - Fora do escopo (pode deixar)
347
+
348
+ ### **health** — Verificar Consistências
349
+ ```bash
350
+ vireum-spec health
351
+ ```
352
+ - Verifica se briefing e spec batem
353
+ - Alerta sobre gaps
354
+ - Sugere atualizações
355
+
356
+ ### **brief** — Resumo Executivo
357
+ ```bash
358
+ vireum-spec brief
359
+ ```
360
+ - Gera resumo do projeto
361
+ - Status atual
362
+ - Próximos passos
363
+ - Ideal para stakeholders
364
+
365
+ ### **verify-mcps** — Diagnóstico
366
+ ```bash
367
+ vireum-spec verify-mcps
368
+ ```
369
+ - Verifica MCPs/ferramentas instalados
370
+ - Alerta sobre problemas
371
+
372
+ ### **skills** — Integração com IA
373
+ ```bash
374
+ vireum-spec skills
375
+ ```
376
+ - Instala skills no Claude Code
377
+ - Skills facilitam trabalho com spec
378
+
379
+ ### **enrich** — Encontrar Gaps
380
+ ```bash
381
+ vireum-spec enrich
382
+ ```
383
+ - Gera prompt para IA analisar spec
384
+ - Identifica inconsistências
385
+ - Sugere melhorias
386
+
387
+ ---
388
+
389
+ ## 📝 Qual Documento para Quê?
390
+
391
+ | Você quer... | Leia isto |
392
+ |---|---|
393
+ | Entender tudo rapidamente | `INDEX.md` |
394
+ | Ver o que foi combinado com cliente | `briefing.md` |
395
+ | Começar a codar | `requirements.md` + `architecture.md` |
396
+ | Entender usuarios | `users.md` |
397
+ | Dormir tranquilo (riscos) | `risks.md` |
398
+ | Explicar regras | `rules.md` |
399
+ | Saber quem faz o quê | `tasks/active.md` |
400
+ | Reportar status | `brief` (comando) |
401
+ | Debugar problema de spec | `health` (comando) |
402
+
403
+ ---
404
+
405
+ ## 🤖 Para IA (Claude Code)
406
+
407
+ Quando você tem o spec completo:
408
+ 1. IA entende melhor o contexto
409
+ 2. Prompts mais específicos
410
+ 3. Menos erros
411
+ 4. Onboarding mais rápido
412
+ 5. Decisões mais alinhadas
413
+
414
+ Rode `vireum-spec skills` para instalar skills que fazem IA usar melhor seu spec.
415
+
416
+ ---
417
+
418
+ ## 🔐 Segurança
419
+
420
+ O framework ajuda a documentar:
421
+ - Dados sensíveis (saúde, financeiro, pessoal)
422
+ - Restrições de API/local
423
+ - Autenticação e autorização
424
+ - Compliance (LGPD, PCI-DSS)
425
+
426
+ **Tudo em `risks.md`** com ações de mitigação.
427
+
428
+ ---
429
+
430
+ ## 📈 Escalabilidade
431
+
432
+ Stack pode ser configurado para:
433
+ - **Baixo volume:** SQLite, sem cache
434
+ - **Médio volume:** PostgreSQL, Redis
435
+ - **Alto volume:** Multi-DB, CDN, replicação
436
+ - **Global:** Multi-region, multi-tenant
437
+
438
+ Tudo documentado no `architecture.md`.
439
+
440
+ ---
441
+
442
+ ## 🚀 Deployment
443
+
444
+ Setup pode gerar instruções para:
445
+ - Docker / Docker Compose
446
+ - Vercel, Netlify (frontend)
447
+ - AWS, GCP, Azure (backend)
448
+ - CI/CD pipelines
449
+
450
+ ---
451
+
452
+ ## 📚 Exemplo Prático: Startup de IA
453
+
454
+ ```bash
455
+ # 1. Criar projeto de IA
456
+ vireum-spec init --type ai
457
+
458
+ # Responde:
459
+ # - Projeto: "ChatBot de Atendimento"
460
+ # - Problema: "Suporte responde 200 tickets/dia, 2-3h por ticket"
461
+ # - Provider: "Anthropic (Claude)"
462
+ # - Dados: "PDFs com base de conhecimento"
463
+ # - Supervisão: "Human-in-the-loop"
464
+
465
+ # 2. Gerar spec
466
+ vireum-spec distill
467
+
468
+ # 3. Configurar
469
+ vireum-spec setup
470
+ # - Frontend: Next.js
471
+ # - Backend: Node.js + Express
472
+ # - BD: PostgreSQL
473
+ # - Auth: JWT
474
+ # - IA Protocol: RAG com embeddings
475
+
476
+ # 4. Priorizar
477
+ vireum-spec prioritize
478
+
479
+ # 5. Instalar skills
480
+ vireum-spec skills
481
+
482
+ # Agora você tem:
483
+ # - .spec/ com tudo documentado
484
+ # - Stack técnica definida
485
+ # - Protocol de IA
486
+ # - Tasks prontas para dev
487
+ # - Claude Code com skills instaladas
488
+ ```
489
+
490
+ ---
491
+
492
+ ## 🎓 Melhores Práticas
493
+
494
+ ### ✅ Faça:
495
+ - **Seja específico no briefing** — "Chat web com Claude Sonnet" > "chatbot"
496
+ - **Documente decisões** — Por que PostgreSQL e não MongoDB?
497
+ - **Mantenha risco atualizado** — Novos riscos aparecem durante dev
498
+ - **Use status nas tasks** — Saiba quem faz o quê
499
+ - **Roda health regularmente** — Catch gaps cedo
500
+
501
+ ### ❌ Evite:
502
+ - **Deixar briefing vago** — Leva a retrabalho
503
+ - **Não revisar spec gerado** — Pode ter interpretações erradas
504
+ - **Esquecer de atualizar changelog** — Perde rastreabilidade
505
+ - **Ignorar avisos de health** — Acumula débito técnico
506
+ - **Spec preso em git sem usar** — Não é documentação, é decoração
507
+
508
+ ---
509
+
510
+ ## 🔗 Integração com Fluxo de Dev
511
+
512
+ 1. **Planning:** Rode `init` + `distill`
513
+ 2. **Refinement:** Use `prioritize` + `enrich`
514
+ 3. **Dev:** Consulte spec como single source of truth
515
+ 4. **PR:** Reference `rules.md` e `architecture.md`
516
+ 5. **Maintenance:** Rode `health` periodicamente
517
+ 6. **Retrospective:** Atualiza `changelog.md`
518
+
519
+ ---
520
+
521
+ ## 📦 Stack Técnica Mínima
522
+
523
+ - Node.js 18+
524
+ - TypeScript (recomendado)
525
+ - Commander CLI
526
+ - Chalk (colors)
527
+ - Inquirer (prompts)
528
+ - Ora (spinners)
529
+
530
+ **Peso:** ~10MB instalado
531
+
532
+ ---
533
+
534
+ ## 🛣️ Roadmap
535
+
536
+ **Planejado:**
537
+ - UI web para gerenciar spec
538
+ - Integração com Linear/Jira
539
+ - Geração de código a partir de spec
540
+ - Multi-language support
541
+ - API pública para tooling
542
+
543
+ ---
544
+
545
+ ## 📞 Suporte
546
+
547
+ - **Issues:** GitHub do projeto
548
+ - **Comunidade:** Discord da Vireum
549
+ - **Consultoria:** vireum@dev.com
550
+
551
+ ---
552
+
553
+ ## 📄 Licença
554
+
555
+ ISC — Usável em projetos comerciais e pessoais.
556
+
557
+ ---
558
+
559
+ ## Conclusão
560
+
561
+ **Vireum Spec** é a ponte entre:
562
+ - **Ideias** (o que o cliente quer)
563
+ - **Planejamento** (como vamos fazer)
564
+ - **Execução** (código que funciona)
565
+ - **Manutenção** (saber por que foi feito)
566
+
567
+ Use bem e seu projeto será mais rápido, com melhor qualidade e muito menos dor de cabeça. 🚀
568
+
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vireum-spec-cli",
3
- "version": "0.5.0",
3
+ "version": "0.7.0",
4
4
  "description": "Spec Driven Development framework by Vireum Desenvolvimento",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -10,11 +10,15 @@
10
10
  "build": "tsc",
11
11
  "dev": "ts-node src/index.ts",
12
12
  "start": "node dist/index.js",
13
+ "test": "vitest",
14
+ "test:ui": "vitest --ui",
13
15
  "prepublishOnly": "npm run build"
14
16
  },
15
17
  "files": [
16
18
  "dist/",
17
- "src/skills/"
19
+ "src/skills/",
20
+ "README.md",
21
+ "docs/"
18
22
  ],
19
23
  "keywords": [
20
24
  "spec",
@@ -33,7 +37,9 @@
33
37
  },
34
38
  "devDependencies": {
35
39
  "@types/node": "^20.0.0",
40
+ "@vitest/ui": "^1.0.0",
36
41
  "ts-node": "^10.9.0",
37
- "typescript": "^5.0.0"
42
+ "typescript": "^5.0.0",
43
+ "vitest": "^1.0.0"
38
44
  }
39
45
  }