@dewtech/dare-cli 2.11.0 → 2.12.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.
Files changed (32) hide show
  1. package/README.md +5 -4
  2. package/dist/commands/init.d.ts.map +1 -1
  3. package/dist/commands/init.js +35 -7
  4. package/dist/commands/init.js.map +1 -1
  5. package/dist/core/types/project.d.ts +3 -0
  6. package/dist/core/types/project.d.ts.map +1 -1
  7. package/dist/utils/project-generator.d.ts +2 -0
  8. package/dist/utils/project-generator.d.ts.map +1 -1
  9. package/dist/utils/project-generator.js +122 -29
  10. package/dist/utils/project-generator.js.map +1 -1
  11. package/dist/utils/stack-bootstrap.d.ts +2 -0
  12. package/dist/utils/stack-bootstrap.d.ts.map +1 -1
  13. package/dist/utils/stack-bootstrap.js +5 -3
  14. package/dist/utils/stack-bootstrap.js.map +1 -1
  15. package/package.json +1 -1
  16. package/templates/ide/antigravity/templates/BLUEPRINT-template.md +193 -53
  17. package/templates/ide/antigravity/templates/DESIGN-template.md +129 -34
  18. package/templates/ide/antigravity/templates/TASK-SPEC-template.md +100 -43
  19. package/templates/ide/claude/.claude/commands/dare-blueprint.md +87 -81
  20. package/templates/ide/claude/.claude/commands/dare-design.md +45 -31
  21. package/templates/ide/claude/.claude/commands/dare-execute.md +131 -52
  22. package/templates/ide/claude/.claude/commands/dare-security.md +232 -0
  23. package/templates/ide/claude/CLAUDE.md +38 -10
  24. package/templates/ide/claude/templates/BLUEPRINT-template.md +193 -53
  25. package/templates/ide/claude/templates/DESIGN-template.md +129 -34
  26. package/templates/ide/claude/templates/TASK-SPEC-template.md +100 -43
  27. package/templates/ide/cursor/.cursor/commands/generate-blueprint.md +51 -21
  28. package/templates/ide/cursor/.cursor/commands/generate-design.md +35 -18
  29. package/templates/ide/cursor/.cursor/rules/skill-security.mdc +245 -57
  30. package/templates/ide/cursor/templates/BLUEPRINT-template.md +193 -53
  31. package/templates/ide/cursor/templates/DESIGN-template.md +129 -34
  32. package/templates/ide/cursor/templates/TASK-SPEC-template.md +100 -43
@@ -1,34 +1,129 @@
1
- # PROJETO: [Nome do Projeto]
2
-
3
- ## DESCRIÇÃO
4
- [O que é o sistema em 2-3 frases claras e objetivas]
5
-
6
- ## FUNCIONALIDADES
7
- - [Funcionalidade 1: descrição detalhada]
8
- - [Funcionalidade 2: descrição detalhada]
9
- - [...]
10
-
11
- ## STACK TÉCNICA
12
- - **Linguagem:** [ex: PHP 8.3]
13
- - **Framework:** [ex: Laravel 11]
14
- - **Banco de Dados:** [ex: PostgreSQL 16]
15
- - **Frontend:** [ex: Vue.js 3 / Nuxt]
16
- - **Outros:** [ex: Redis, S3]
17
-
18
- ## REQUISITOS TÉCNICOS E DE NEGÓCIO
19
- - [Requisito 1: ex. API deve responder em menos de 200ms]
20
- - [Requisito 2: ex. Autenticação via JWT (Sanctum)]
21
- - [Requisito 3: ex. Cobertura de testes unitários > 80%]
22
-
23
- ## INTEGRAÇÕES
24
- - [Integração 1: ex. Stripe para pagamentos (link da doc)]
25
- - [Integração 2: ex. AWS S3 para armazenamento de arquivos]
26
-
27
- ## RESTRIÇÕES
28
- - **Prazo:** [Data limite ou restrição de tempo]
29
- - **Orçamento:** [Limitações de custo com infra/APIs]
30
- - **Limitações Técnicas:** [ex. Não pode usar banco NoSQL]
31
-
32
- ## FORA DO ESCOPO
33
- - [O que NÃO será feito nesta versão]
34
- - [Funcionalidades adiadas para v2]
1
+ # DESIGN: [Nome do Projeto / Feature]
2
+
3
+ > **Versão:** v1.0 | **Data:** YYYY-MM-DD | **Status:** DRAFT → APROVADO
4
+
5
+ ---
6
+
7
+ ## 1. DESCRIÇÃO
8
+
9
+ [O que é o sistema e qual problema ele resolve — 3 a 5 frases claras e objetivas. Evite jargão.]
10
+
11
+ ---
12
+
13
+ ## 2. OBJETIVOS E MÉTRICAS DE SUCESSO
14
+
15
+ | # | Objetivo | Métrica verificável | Meta |
16
+ |---|----------|---------------------|------|
17
+ | O-01 | [ex: Reduzir tempo de resposta da API] | p99 latência em produção | < 200 ms |
18
+ | O-02 | [ex: Aumentar cobertura de testes] | `coverage --summary` | > 80 % |
19
+ | O-03 | | | |
20
+
21
+ ---
22
+
23
+ ## 3. STAKEHOLDERS
24
+
25
+ | Papel | Nome / Time | Interesse principal |
26
+ |-------|-------------|---------------------|
27
+ | Product Owner | | Aprovação de scope e prioridades |
28
+ | Tech Lead | | Decisões arquiteturais |
29
+ | Usuário Final | | [Persona] — [necessidade] |
30
+ | Operações / SRE | | SLA, alertas, deploys |
31
+
32
+ ---
33
+
34
+ ## 4. REQUISITOS FUNCIONAIS
35
+
36
+ | ID | Requisito | Prioridade | Critério de aceite |
37
+ |----|-----------|------------|--------------------|
38
+ | RF-01 | | MUST | |
39
+ | RF-02 | | SHOULD | |
40
+ | RF-03 | | COULD | |
41
+
42
+ > Prioridades: **MUST** (bloqueia v1) · **SHOULD** (importante, mas não bloqueia) · **COULD** (nice to have)
43
+
44
+ ---
45
+
46
+ ## 5. REQUISITOS NÃO-FUNCIONAIS
47
+
48
+ | ID | Categoria | Requisito | Meta |
49
+ |----|-----------|-----------|------|
50
+ | RNF-01 | Performance | [ex: API responde dentro do SLA] | p95 < 500 ms |
51
+ | RNF-02 | Disponibilidade | [ex: uptime mensal] | ≥ 99,5 % |
52
+ | RNF-03 | Segurança | Autenticação obrigatória em todos os endpoints sensíveis | JWT + refresh |
53
+ | RNF-04 | Segurança | Rate limiting em endpoints públicos | ≤ 60 req/min/IP |
54
+ | RNF-05 | Segurança | Dados sensíveis (PII, tokens) nunca em logs | auditoria automática |
55
+ | RNF-06 | Observabilidade | Logs estruturados (JSON) com trace-id | OpenTelemetry |
56
+ | RNF-07 | Manutenibilidade | Cobertura de testes | > 80 % |
57
+
58
+ ---
59
+
60
+ ## 6. REQUISITOS DE SEGURANÇA
61
+
62
+ | ID | Requisito | Referência |
63
+ |----|-----------|------------|
64
+ | RS-01 | Todas as entradas do usuário validadas no servidor antes de qualquer processamento | OWASP A03 |
65
+ | RS-02 | Senhas e segredos nunca armazenados em texto plano; hash Argon2/Bcrypt | OWASP A02 |
66
+ | RS-03 | Controle de acesso verificado por recurso (não só por rota) | OWASP A01 |
67
+ | RS-04 | Dependências auditadas antes de cada release (sem CVE HIGH/CRITICAL) | OWASP A06 |
68
+ | RS-05 | Segredos gerenciados via variáveis de ambiente / vault — nunca em código | Supply chain |
69
+ | RS-06 | [Requisito específico do domínio] | |
70
+
71
+ ---
72
+
73
+ ## 7. STACK TÉCNICA
74
+
75
+ | Camada | Tecnologia | Versão |
76
+ |--------|-----------|--------|
77
+ | Linguagem / Runtime | | |
78
+ | Framework principal | | |
79
+ | Banco de dados | | |
80
+ | Cache | | |
81
+ | Frontend | | |
82
+ | Infra / deploy | | |
83
+ | Observabilidade | | |
84
+
85
+ ---
86
+
87
+ ## 8. INTEGRAÇÕES EXTERNAS
88
+
89
+ | Sistema | Tipo | Protocolo | Direção | Dados trocados | Responsável |
90
+ |---------|------|-----------|---------|----------------|-------------|
91
+ | [ex: Stripe] | Pagamento | REST/webhook | Saída + entrada | Cobrança, confirmação | Time Pagamentos |
92
+ | [ex: Auth0] | IdP | OIDC | Entrada | ID Token, Claims | Time Auth |
93
+
94
+ ---
95
+
96
+ ## 9. RESTRIÇÕES
97
+
98
+ - **Prazo:** [Data de entrega ou milestone]
99
+ - **Orçamento de infra:** [Limite de custo mensal ou por request]
100
+ - **Limitações técnicas:** [ex: não pode usar banco NoSQL; deve usar Go ≥ 1.22]
101
+ - **Regulatórias / Compliance:** [ex: LGPD, GDPR, SOC 2, PCI-DSS se aplicável]
102
+
103
+ ---
104
+
105
+ ## 10. FORA DO ESCOPO (v1)
106
+
107
+ - [Funcionalidade adiada para v2 — e o motivo]
108
+ - [Caso de uso que NÃO será tratado nesta versão]
109
+
110
+ ---
111
+
112
+ ## 11. RISCOS E MITIGAÇÕES
113
+
114
+ | # | Risco | Probabilidade | Impacto | Mitigação |
115
+ |---|-------|---------------|---------|-----------|
116
+ | R-01 | [ex: Latência alta no serviço de terceiros] | Média | Alto | Circuit breaker + fallback |
117
+ | R-02 | [ex: Falta de dados históricos para ML] | Alta | Médio | Dataset sintético inicial |
118
+ | R-03 | | | | |
119
+
120
+ ---
121
+
122
+ ## 12. CHECKLIST DE APROVAÇÃO
123
+
124
+ - [ ] Requisitos funcionais revisados e priorizados
125
+ - [ ] Requisitos de segurança validados pelo Tech Lead
126
+ - [ ] Stack técnica aprovada
127
+ - [ ] Integrações externas confirmadas com responsáveis
128
+ - [ ] Fora do escopo alinhado com Product Owner
129
+ - [ ] Riscos críticos com mitigação definida
@@ -1,43 +1,100 @@
1
- # ESPECIFICAÇÃO DE TAREFA: [ID da Task, ex: task-001]
2
-
3
- ## OBJETIVO DA TAREFA
4
- [Descrição concisa do que precisa ser implementado, ex: Criar o Model, Migration e Factory para a entidade Usuário.]
5
-
6
- ## CONTEXTO E DEPENDÊNCIAS
7
- - **Fase:** [Nome da Fase]
8
- - **Depende de:** [ID de tasks anteriores, ex: Nenhuma / task-000]
9
- - **Arquivos Relacionados Existentes:** [Arquivos que servem de base ou serão modificados, ex: `app/Models/User.php`]
10
-
11
- ## ESPECIFICAÇÃO DE IMPLEMENTAÇÃO (O QUE FAZER)
12
- [Instruções detalhadas passo a passo para a IA Executora]
13
-
14
- 1. **[Passo 1, ex: Atualizar a migration `create_users_table`]**
15
- - Adicionar coluna `role` (enum: admin, user).
16
- - Adicionar coluna `is_active` (boolean, default true).
17
-
18
- 2. **[Passo 2, ex: Atualizar o Model `User`]**
19
- - Adicionar campos ao `$fillable`.
20
- - Criar os casts corretos.
21
-
22
- 3. **[Passo 3, ex: Criar/Atualizar a Factory]**
23
- - Garantir que os novos campos sejam gerados pelo Faker.
24
-
25
- ## EXEMPLOS E PADRÕES A SEGUIR
26
- - **Referência:** Siga o padrão de formatação definido em `.cursorrules`.
27
- - **Exemplo Existente:** Se houver um model parecido, cite aqui (ex: `app/Models/Product.php`).
28
-
29
- ## CRITÉRIOS DE SUCESSO (VALIDATION GATES)
30
- Estes comandos DEVEM ser executados pela IA para validar a implementação antes de concluir a tarefa.
31
-
32
- ```bash
33
- # 1. Linting / Formatação
34
- ./vendor/bin/pint
35
-
36
- # 2. Análise Estática (se aplicável, ex: PHPStan/Larastan)
37
- ./vendor/bin/phpstan analyse
38
-
39
- # 3. Testes Unitários/Feature
40
- php artisan test --filter=UserTest
41
- ```
42
-
43
- Se algum comando falhar, a IA deve ler o erro, consertar o código e rodar o comando novamente (Ralph Loop) até que todos os testes passem.
1
+ # TASK [ID]: [Título da Task]
2
+
3
+ > **Complexidade:** LOW / MED / HIGH
4
+ > **Depends on:** [task-ids ou ]
5
+ > **Estimativa:** [X horas]
6
+
7
+ ---
8
+
9
+ ## 1. OBJETIVO
10
+
11
+ [Uma frase precisa do que esta task entrega. Deve ser verificável — termine com um estado observável, não uma ação.]
12
+
13
+ Exemplo: _"Ao final desta task, o endpoint `POST /api/v1/users` aceita cadastro, valida unicidade de e-mail e retorna JWT."_
14
+
15
+ ---
16
+
17
+ ## 2. CONTEXTO
18
+
19
+ - **Fase no BLUEPRINT:** Fase [N] — [Nome da fase]
20
+ - **Arquivos existentes relevantes:** [caminhos de arquivos que servem de referência ou serão modificados]
21
+ - **Decisões do BLUEPRINT que afetam esta task:** [cite seção/decisão específica]
22
+
23
+ ---
24
+
25
+ ## 3. ARQUIVOS A CRIAR / MODIFICAR
26
+
27
+ | Ação | Caminho | Descrição |
28
+ |------|---------|-----------|
29
+ | CRIAR | `src/[módulo]/[arquivo]` | [o que contém] |
30
+ | MODIFICAR | `src/[módulo]/[arquivo]` | [o que muda] |
31
+ | CRIAR | `tests/[arquivo].test.[ext]` | Testes da feature |
32
+
33
+ ---
34
+
35
+ ## 4. IMPLEMENTAÇÃO
36
+
37
+ ### Passo 1: [Nome do passo]
38
+ [Descrição precisa do que fazer. Inclua assinaturas de função/struct se crítico.]
39
+
40
+ ```[lang]
41
+ // Exemplo de padrão esperado
42
+ ```
43
+
44
+ ### Passo 2: [Nome do passo]
45
+ [Descrição]
46
+
47
+ ### Passo 3: Testes
48
+ - [ ] Teste do caminho feliz (`should_[comportamento]_when_[condição]`)
49
+ - [ ] Teste de erro de validação (400 / erro de negócio)
50
+ - [ ] Teste de autorização (401 / 403 quando aplicável)
51
+ - [ ] Teste de edge case: [descrever]
52
+
53
+ ---
54
+
55
+ ## 5. CONSIDERAÇÕES DE SEGURANÇA
56
+
57
+ - [ ] **Input validation:** toda entrada do usuário validada no servidor antes de qualquer processamento
58
+ - [ ] **Autenticação / Autorização:** verificar se o usuário tem permissão sobre o *recurso específico*, não só sobre a rota
59
+ - [ ] **Dados sensíveis:** senhas, tokens e PII nunca aparecem em logs, responses de erro ou mensagens de exceção
60
+ - [ ] **SQL / Command Injection:** usar ORM / prepared statements; nunca concatenar strings em queries
61
+ - [ ] **Dependências novas:** se esta task adicionar uma dependência, verificar CVEs com `npm audit` / `cargo audit` / `pip-audit` antes de commitar
62
+ - [ ] **Segredo em código:** nenhum token, chave ou credencial hardcoded — sempre via variável de ambiente
63
+
64
+ ---
65
+
66
+ ## 6. VALIDATION GATES (RALPH LOOP)
67
+
68
+ Execute **todos** antes de marcar a task como DONE. Se qualquer um falhar, leia o erro, corrija e reexecute.
69
+
70
+ ```bash
71
+ # 1. Build — sem erros de compilação
72
+ [comando de build da stack]
73
+
74
+ # 2. Tests — todos passando, incluindo os novos
75
+ [comando de test]
76
+
77
+ # 3. Lint — sem warnings
78
+ [comando de lint]
79
+
80
+ # 4. Auditoria de dependências (se novas deps foram adicionadas nesta task)
81
+ [npm audit --audit-level=high | cargo audit | pip-audit | composer audit]
82
+ ```
83
+
84
+ > **Gate de segurança obrigatório:** se esta task adicionar dependências externas, `[audit-cmd]` não pode retornar CVE de nível HIGH ou CRITICAL.
85
+
86
+ ---
87
+
88
+ ## 7. CRITÉRIOS DE DONE
89
+
90
+ - [ ] Todos os 4 validation gates passaram sem erros
91
+ - [ ] Testes cobrem caminho feliz + erros + edge cases da seção 4
92
+ - [ ] Considerações de segurança da seção 5 todas checadas
93
+ - [ ] Arquivos listados na seção 3 criados/modificados conforme spec
94
+ - [ ] `DARE/TASKS.md` atualizado com status `DONE`
95
+
96
+ ---
97
+
98
+ ## 8. PRÓXIMA TASK SUGERIDA
99
+
100
+ `[task-id]` — [título] _(desbloqueada após conclusão desta task)_