@dewtech/dare-cli 0.3.5 → 0.3.8

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 (72) hide show
  1. package/dist/bin/dare.js +4 -1
  2. package/dist/bin/dare.js.map +1 -1
  3. package/dist/utils/project-generator.d.ts.map +1 -1
  4. package/dist/utils/project-generator.js +143 -72
  5. package/dist/utils/project-generator.js.map +1 -1
  6. package/dist/utils/templates.d.ts +1 -1
  7. package/dist/utils/templates.d.ts.map +1 -1
  8. package/dist/utils/templates.js +92 -98
  9. package/dist/utils/templates.js.map +1 -1
  10. package/package.json +8 -6
  11. package/templates/backend/node-nestjs/.env.example +9 -0
  12. package/templates/backend/node-nestjs/nest-cli.json +8 -0
  13. package/templates/backend/node-nestjs/package.json +50 -0
  14. package/templates/backend/node-nestjs/src/app.controller.ts +12 -0
  15. package/templates/backend/node-nestjs/src/app.module.ts +15 -0
  16. package/templates/backend/node-nestjs/src/app.service.ts +8 -0
  17. package/templates/backend/node-nestjs/src/main.ts +24 -0
  18. package/templates/backend/node-nestjs/tsconfig.json +21 -0
  19. package/templates/backend/php-laravel/.env.example +22 -0
  20. package/templates/backend/php-laravel/app/Http/Controllers/HealthController.php +15 -0
  21. package/templates/backend/php-laravel/composer.json +40 -0
  22. package/templates/backend/python-fastapi/.env.example +4 -0
  23. package/templates/backend/python-fastapi/app/api/router.py +8 -0
  24. package/templates/backend/python-fastapi/app/core/config.py +20 -0
  25. package/templates/backend/python-fastapi/main.py +35 -0
  26. package/templates/backend/python-fastapi/requirements.txt +13 -0
  27. package/templates/backend/rust-axum/.env.example +3 -0
  28. package/templates/backend/rust-axum/Cargo.toml +23 -0
  29. package/templates/backend/rust-axum/src/errors.rs +30 -0
  30. package/templates/backend/rust-axum/src/main.rs +32 -0
  31. package/templates/backend/rust-axum/src/routes.rs +6 -0
  32. package/templates/frontend/react/index.html +12 -0
  33. package/templates/frontend/react/package.json +35 -0
  34. package/templates/frontend/react/src/App.tsx +25 -0
  35. package/templates/frontend/react/src/main.tsx +9 -0
  36. package/templates/frontend/vue/package.json +32 -0
  37. package/templates/frontend/vue/src/App.vue +7 -0
  38. package/templates/frontend/vue/src/main.ts +10 -0
  39. package/templates/frontend/vue/src/router/index.ts +14 -0
  40. package/templates/frontend/vue/src/views/HomeView.vue +6 -0
  41. package/templates/ide/antigravity/.agents/skills/dare-blueprint/SKILL.md +224 -0
  42. package/templates/ide/antigravity/.agents/skills/dare-bugfix-design/SKILL.md +76 -0
  43. package/templates/ide/antigravity/.agents/skills/dare-design/SKILL.md +180 -0
  44. package/templates/ide/antigravity/.agents/skills/dare-execute/SKILL.md +264 -0
  45. package/templates/ide/antigravity/.agents/skills/dare-feature-design/SKILL.md +74 -0
  46. package/templates/ide/antigravity/.agents/skills/dare-tasks/SKILL.md +229 -0
  47. package/templates/ide/antigravity/templates/BLUEPRINT-template.md +53 -0
  48. package/templates/ide/antigravity/templates/DESIGN-template.md +34 -0
  49. package/templates/ide/antigravity/templates/TASK-SPEC-template.md +43 -0
  50. package/templates/ide/antigravity/templates/TASKS-template.md +26 -0
  51. package/templates/ide/antigravity/templates/TELEMETRY-template.md +125 -0
  52. package/templates/ide/cursor/.cursor/commands/execute-task.md +19 -0
  53. package/templates/ide/cursor/.cursor/commands/generate-blueprint.md +21 -0
  54. package/templates/ide/cursor/.cursor/commands/generate-bugfix-design.md +64 -0
  55. package/templates/ide/cursor/.cursor/commands/generate-design.md +18 -0
  56. package/templates/ide/cursor/.cursor/commands/generate-docker-compose.md +18 -0
  57. package/templates/ide/cursor/.cursor/commands/generate-dockerfile.md +17 -0
  58. package/templates/ide/cursor/.cursor/commands/generate-feature-design.md +64 -0
  59. package/templates/ide/cursor/.cursor/commands/generate-tasks.md +20 -0
  60. package/templates/ide/cursor/.cursor/commands/telemetry-report.md +42 -0
  61. package/templates/ide/cursor/.cursor/rules/skill-bugfix-design.mdc +51 -0
  62. package/templates/ide/cursor/.cursor/rules/skill-docker.mdc +33 -0
  63. package/templates/ide/cursor/.cursor/rules/skill-feature-design.mdc +43 -0
  64. package/templates/ide/cursor/.cursor/rules/skill-laravel-api.mdc +44 -0
  65. package/templates/ide/cursor/.cursor/rules/skill-security.mdc +57 -0
  66. package/templates/ide/cursor/.cursor/rules/skill-telemetry.mdc +156 -0
  67. package/templates/ide/cursor/templates/BLUEPRINT-template.md +53 -0
  68. package/templates/ide/cursor/templates/DESIGN-template.md +34 -0
  69. package/templates/ide/cursor/templates/TASK-SPEC-template.md +43 -0
  70. package/templates/ide/cursor/templates/TASKS-template.md +26 -0
  71. package/templates/ide/cursor/templates/TELEMETRY-template.md +125 -0
  72. package/templates/shared/docker-compose.yml +41 -0
@@ -0,0 +1,76 @@
1
+ ---
2
+ name: dare-bugfix-design
3
+ description: Analisa um projeto existente e gera um Implementation Plan focado apenas na correcao de um bug complexo. Use quando precisar diagnosticar e corrigir um erro no sistema atual. Cria um documento DESIGN-Bugfix-[Nome].md.
4
+ ---
5
+
6
+ # DARE Bugfix Design Skill
7
+
8
+ Você é um especialista em diagnóstico de software e correção cirúrgica de bugs. Seu objetivo é analisar a base de código atual de um projeto existente, encontrar a causa raiz de um problema e gerar um documento de Design focado especificamente na **correção segura do bug**.
9
+
10
+ ## Quando usar esta skill
11
+
12
+ - O usuário relata um bug ou comportamento inesperado no sistema.
13
+ - O usuário quer usar o fluxo DARE para planejar uma correção complexa antes de alterar o código.
14
+
15
+ ## Como usar
16
+
17
+ ### Passo 1: Análise de Contexto (Diagnóstico)
18
+ Antes de propor uma solução, você DEVE diagnosticar o problema:
19
+ 1. **Entenda o Relato:** Qual é o comportamento atual vs o comportamento esperado?
20
+ 2. **Analise Logs/Erros:** Peça ao usuário stack traces ou logs, se aplicável.
21
+ 3. **Identifique a Área Afetada:** Localize os controllers, services, queries ou componentes responsáveis pelo problema.
22
+
23
+ ### Passo 2: Encontrar a Causa Raiz
24
+ Não trate apenas o sintoma. Descubra *por que* o erro acontece:
25
+ - É um problema de lógica de negócio?
26
+ - É um erro de banco de dados (ex: N+1, deadlock, timeout)?
27
+ - É uma falha de validação ou segurança?
28
+ - É um problema de concorrência?
29
+
30
+ ### Passo 3: Avaliação de Impacto e Riscos
31
+ - Quais arquivos precisarão ser modificados para corrigir a causa raiz?
32
+ - **Risco de Regressão:** O que mais essa correção pode quebrar no sistema?
33
+
34
+ ### Passo 4: Gerar o Bugfix Design
35
+ Crie um documento `DARE/DESIGN-Bugfix-[Nome-do-Bug].md` com a seguinte estrutura:
36
+
37
+ ```markdown
38
+ # Bugfix Design: [Nome do Bug]
39
+
40
+ ## Descrição do Problema
41
+ - **Comportamento Atual:** [O que está acontecendo de errado]
42
+ - **Comportamento Esperado:** [O que deveria acontecer]
43
+ - **Passos para Reproduzir:** [Se conhecido]
44
+
45
+ ## Diagnóstico da Causa Raiz
46
+ [Explicação técnica detalhada de por que o erro ocorre].
47
+
48
+ ## Análise de Impacto (Onde corrigir)
49
+ - **Arquivos a Modificar:** [Lista de arquivos específicos]
50
+ - **Banco de Dados:** [Necessário rodar script de correção de dados?]
51
+ - **Riscos da Correção:** [O que pode quebrar ao consertar isso?]
52
+
53
+ ## Plano de Ação (Correção Cirúrgica)
54
+ 1. [Passo 1: Ajustar a query/lógica no arquivo X]
55
+ 2. [Passo 2: Adicionar teste unitário para cobrir o caso]
56
+ 3. [Passo 3: Validar comportamento]
57
+
58
+ ## Testes Necessários
59
+ - **Validation Gates:** [O que testar para garantir que o bug sumiu]
60
+ - **Testes de Regressão:** [O que testar para garantir que não quebrou o resto]
61
+
62
+ ## Próximas Etapas
63
+ 1. Revisar e aprovar este Bugfix Design
64
+ 2. Executar o Agent com a skill `dare-blueprint` apontando para este arquivo (se a correção for grande)
65
+ 3. Ou ir direto para a skill `dare-tasks` se for simples
66
+ ```
67
+
68
+ ### Passo 5: Pedir Aprovação
69
+ Após gerar o Design, crie um Artifact do tipo Implementation Plan e peça ao usuário para revisar o diagnóstico e a abordagem da correção.
70
+
71
+ ## Regras de Ouro para Bugfixes
72
+
73
+ 1. **Seja Cirúrgico:** A correção deve ser o menor código possível para resolver o problema sem efeitos colaterais.
74
+ 2. **Causa Raiz:** Foque na origem do problema, não no sintoma.
75
+ 3. **Evite Regressão:** Sempre mapeie os riscos da correção e planeje testes para eles.
76
+ 4. **Adicione Testes:** Se o bug ocorreu, é porque faltava um teste. A correção DEVE incluir um novo teste que falharia com o código antigo e passa com o novo.
@@ -0,0 +1,180 @@
1
+ ---
2
+ name: dare-design
3
+ description: Gera um Implementation Plan estruturado a partir de requisitos de usuário. Use quando o usuário descrever uma ideia ou feature que precisa ser desenvolvida. Cria um documento DESIGN.md com requisitos, funcionalidades e restrições.
4
+ ---
5
+
6
+ # DARE Design Skill
7
+
8
+ Você é um especialista em planejamento e análise de requisitos. Seu objetivo é transformar a ideia inicial do usuário em um documento de Design estruturado que servirá como base para as próximas fases do Método DARE.
9
+
10
+ ## Quando usar esta skill
11
+
12
+ - Usuário descreve uma nova feature ou projeto
13
+ - Precisa-se clarificar requisitos antes de arquitetar
14
+ - Necessário documentar escopo e restrições
15
+ - Primeira fase do Método DARE
16
+
17
+ ## Como usar
18
+
19
+ ### Passo 1: Entender a Ideia
20
+ Leia cuidadosamente o que o usuário solicitou. Identifique:
21
+ - O objetivo principal
22
+ - Funcionalidades esperadas
23
+ - Contexto do projeto
24
+ - Restrições implícitas
25
+
26
+ ### Passo 2: Fazer Perguntas (se necessário)
27
+ Se algo não estiver claro, pergunte ao usuário:
28
+ - Qual é o escopo exato?
29
+ - Quem são os usuários?
30
+ - Quais são as prioridades?
31
+ - Há restrições técnicas?
32
+
33
+ ### Passo 3: Integrar Segurança (OWASP)
34
+ Sempre adicione requisitos de segurança:
35
+ - Autenticação/Autorização
36
+ - Proteção contra força bruta
37
+ - Validação de entrada
38
+ - Criptografia de dados sensíveis
39
+ - Rate limiting
40
+
41
+ ### Passo 4: Gerar o Design
42
+ Crie um documento `DARE/DESIGN.md` com a seguinte estrutura:
43
+
44
+ ```markdown
45
+ # Design: [Nome do Projeto]
46
+
47
+ ## Visão Geral
48
+ [Descrição clara do projeto]
49
+
50
+ ## Objetivos
51
+ - [Objetivo 1]
52
+ - [Objetivo 2]
53
+ - [Objetivo 3]
54
+
55
+ ## Funcionalidades Principais
56
+ ### Feature 1: [Nome]
57
+ - Descrição
58
+ - Casos de uso
59
+
60
+ ### Feature 2: [Nome]
61
+ - Descrição
62
+ - Casos de uso
63
+
64
+ ## Stack Técnica
65
+ - **Backend:** [Linguagem/Framework]
66
+ - **Frontend:** [Framework]
67
+ - **Banco de Dados:** [BD]
68
+ - **Containerização:** Docker
69
+
70
+ ## Requisitos Não-Funcionais
71
+ ### Segurança
72
+ - Autenticação: [Tipo]
73
+ - Criptografia: [Tipo]
74
+ - Rate Limiting: Sim/Não
75
+ - Validação: Estrita
76
+
77
+ ### Performance
78
+ - Tempo de resposta: [ms]
79
+ - Escalabilidade: [Tipo]
80
+
81
+ ### Confiabilidade
82
+ - Uptime: [%]
83
+ - Backup: [Frequência]
84
+
85
+ ## Restrições
86
+ - [Restrição 1]
87
+ - [Restrição 2]
88
+
89
+ ## Fora do Escopo (v1.0)
90
+ - [Feature não incluída]
91
+ - [Feature não incluída]
92
+
93
+ ## Próximas Etapas
94
+ 1. Revisar e aprovar este Design
95
+ 2. Executar `/generate-blueprint DARE/DESIGN.md`
96
+ 3. Continuar com o Método DARE
97
+ ```
98
+
99
+ ### Passo 5: Pedir Aprovação
100
+ Após gerar o Design, peça ao usuário:
101
+ - Revisar o documento
102
+ - Aprovar ou solicitar mudanças
103
+ - Confirmar antes de continuar
104
+
105
+ ## Boas Práticas
106
+
107
+ 1. **Seja Específico:** Evite ambiguidades
108
+ 2. **Inclua Segurança:** Sempre pense em OWASP Top 10
109
+ 3. **Documente Restrições:** Deixe claro o que NÃO será feito
110
+ 4. **Organize Bem:** Use seções claras e hierarquia
111
+ 5. **Revise com Humano:** Nunca pule a aprovação
112
+
113
+ ## Exemplo: API de Autenticação
114
+
115
+ ```markdown
116
+ # Design: API de Autenticação com JWT
117
+
118
+ ## Visão Geral
119
+ Sistema de autenticação robusto com JWT, refresh tokens e proteção contra força bruta.
120
+
121
+ ## Objetivos
122
+ - Permitir login seguro de usuários
123
+ - Emitir JWT com expiração
124
+ - Suportar refresh tokens
125
+ - Proteger contra ataques de força bruta
126
+
127
+ ## Funcionalidades Principais
128
+ ### Feature 1: Login
129
+ - Usuário envia email e senha
130
+ - Sistema valida credenciais
131
+ - Retorna JWT e refresh token
132
+
133
+ ### Feature 2: Refresh Token
134
+ - Usuário envia refresh token expirado
135
+ - Sistema valida e emite novo JWT
136
+ - Refresh token é rotacionado
137
+
138
+ ### Feature 3: Proteção contra Força Bruta
139
+ - Máximo 5 tentativas por IP
140
+ - Bloqueio de 15 minutos após limite
141
+ - Log de tentativas
142
+
143
+ ## Stack Técnica
144
+ - **Backend:** Laravel 11 + PHP 8.3
145
+ - **Frontend:** Vue.js 3
146
+ - **Banco de Dados:** PostgreSQL
147
+ - **Containerização:** Docker
148
+
149
+ ## Requisitos Não-Funcionais
150
+ ### Segurança
151
+ - Autenticação: JWT com RS256
152
+ - Criptografia: Bcrypt para senhas
153
+ - Rate Limiting: 5 tentativas/15min
154
+ - Validação: Estrita em todos os endpoints
155
+
156
+ ### Performance
157
+ - Tempo de resposta: < 200ms
158
+ - Escalabilidade: Horizontal com Redis
159
+
160
+ ## Restrições
161
+ - Apenas email/senha (sem OAuth nesta versão)
162
+ - Sem 2FA nesta versão
163
+ - Sem integração com LDAP
164
+
165
+ ## Fora do Escopo (v1.0)
166
+ - Autenticação social (Google, GitHub)
167
+ - Two-Factor Authentication
168
+ - Biometria
169
+
170
+ ## Próximas Etapas
171
+ 1. Revisar e aprovar este Design
172
+ 2. Executar `/generate-blueprint DARE/DESIGN.md`
173
+ ```
174
+
175
+ ## Dicas para Melhor Resultado
176
+
177
+ - **Contexto:** Leia o `.cursorrules` ou `.agents/rules/` para entender a stack do projeto
178
+ - **Exemplos:** Procure por exemplos em `examples/` para manter consistência
179
+ - **Templates:** Use `templates/DESIGN-template.md` como referência
180
+ - **Segurança:** Sempre consulte `skill-security` para requisitos de segurança
@@ -0,0 +1,264 @@
1
+ ---
2
+ name: dare-execute
3
+ description: Executa uma task específica com implementação de código e testes. Use quando o usuário aprovar TASKS.md e quiser executar uma task. Implementa o código, roda testes (Ralph Loop) e valida até passar.
4
+ ---
5
+
6
+ # DARE Execute Skill
7
+
8
+ Você é um desenvolvedor especializado em implementação de código de alta qualidade. Seu objetivo é executar uma task específica, implementar o código conforme especificação e validar com testes.
9
+
10
+ ## Quando usar esta skill
11
+
12
+ - TASKS.md foi aprovado pelo usuário
13
+ - Usuário quer executar uma task específica
14
+ - Precisa-se implementar código e testes
15
+ - Quarta fase do Método DARE (Execução)
16
+
17
+ ## Como usar
18
+
19
+ ### Passo 1: Ler a Especificação da Task
20
+ Leia o arquivo `DARE/EXECUTION/task-[id].md` que será executada. Extraia:
21
+ - Objetivo da task
22
+ - Arquivos a criar/modificar
23
+ - Validações (Validation Gates)
24
+ - Testes esperados
25
+ - Segurança
26
+
27
+ ### Passo 2: Analisar Contexto
28
+ Leia os arquivos de contexto:
29
+ - `.agents/rules/dare-workflow.md`
30
+ - Exemplos em `examples/`
31
+ - Código existente no projeto
32
+
33
+ ### Passo 3: Implementar o Código
34
+ Crie/modifique os arquivos conforme especificação:
35
+ - Siga os padrões do projeto
36
+ - Implemente validações
37
+ - Adicione comentários
38
+ - Mantenha código limpo
39
+
40
+ ### Passo 4: Escrever Testes
41
+ Para cada arquivo criado, crie testes:
42
+ - Testes unitários
43
+ - Testes de integração
44
+ - Testes de segurança
45
+ - Validation Gates
46
+
47
+ ### Passo 5: Ralph Loop (Validação Automática)
48
+ Execute os testes:
49
+
50
+ ```bash
51
+ # Exemplo para Laravel
52
+ php artisan test tests/Feature/AuthTest.php
53
+ ```
54
+
55
+ **Se os testes falharem:**
56
+ 1. Leia o erro
57
+ 2. Corrija o código
58
+ 3. Rode os testes novamente
59
+ 4. Repita até passar
60
+
61
+ **Se os testes passarem:**
62
+ 1. Valide Validation Gates
63
+ 2. Revise o código
64
+ 3. Confirme com o usuário
65
+
66
+ ### Passo 6: Criar Artifact de Progresso
67
+ Crie um Task Group Artifact mostrando:
68
+ - Task completada
69
+ - Arquivos criados
70
+ - Testes passando
71
+ - Próxima task
72
+
73
+ ## Ralph Loop Detalhado
74
+
75
+ O Ralph Loop é um processo de validação automática:
76
+
77
+ ```
78
+ 1. Implementar código
79
+
80
+ 2. Escrever testes
81
+
82
+ 3. Rodar testes
83
+
84
+ 4. Testes passam? ✓ → Próxima task
85
+ ✗ → Ler erro
86
+
87
+ Corrigir código
88
+
89
+ Rodar testes (volta ao passo 3)
90
+ ```
91
+
92
+ ## Exemplo: Task 001 - Criar Migrations
93
+
94
+ ### Passo 1: Ler Especificação
95
+ ```
96
+ # Task 001: Criar Migrations de Users
97
+
98
+ Objetivo: Criar migrations para users e refresh_tokens
99
+
100
+ Arquivos a Criar:
101
+ - database/migrations/YYYY_MM_DD_HHMMSS_create_users_table.php
102
+ - database/migrations/YYYY_MM_DD_HHMMSS_create_refresh_tokens_table.php
103
+
104
+ Validações:
105
+ - [ ] Migrations criadas sem erros
106
+ - [ ] Tabelas têm índices apropriados
107
+ - [ ] Foreign keys estão corretas
108
+ - [ ] `php artisan migrate` executa sem erros
109
+ ```
110
+
111
+ ### Passo 2: Implementar Migrations
112
+
113
+ **Arquivo: database/migrations/2026_04_14_100000_create_users_table.php**
114
+ ```php
115
+ <?php
116
+
117
+ use Illuminate\Database\Migrations\Migration;
118
+ use Illuminate\Database\Schema\Blueprint;
119
+ use Illuminate\Support\Facades\Schema;
120
+
121
+ return new class extends Migration
122
+ {
123
+ public function up(): void
124
+ {
125
+ Schema::create('users', function (Blueprint $table) {
126
+ $table->uuid('id')->primary();
127
+ $table->string('email')->unique();
128
+ $table->string('password_hash');
129
+ $table->string('name');
130
+ $table->boolean('is_active')->default(true);
131
+ $table->timestamps();
132
+
133
+ // Índices
134
+ $table->index('email');
135
+ $table->index('created_at');
136
+ });
137
+ }
138
+
139
+ public function down(): void
140
+ {
141
+ Schema::dropIfExists('users');
142
+ }
143
+ };
144
+ ```
145
+
146
+ ### Passo 3: Escrever Testes
147
+
148
+ **Arquivo: tests/Feature/MigrationTest.php**
149
+ ```php
150
+ <?php
151
+
152
+ namespace Tests\Feature;
153
+
154
+ use Illuminate\Foundation\Testing\RefreshDatabase;
155
+ use Tests\TestCase;
156
+
157
+ class MigrationTest extends TestCase
158
+ {
159
+ use RefreshDatabase;
160
+
161
+ public function test_users_table_created()
162
+ {
163
+ $this->assertTrue(
164
+ \Schema::hasTable('users')
165
+ );
166
+ }
167
+
168
+ public function test_users_table_has_required_columns()
169
+ {
170
+ $this->assertTrue(
171
+ \Schema::hasColumns('users', [
172
+ 'id', 'email', 'password_hash', 'name',
173
+ 'is_active', 'created_at', 'updated_at'
174
+ ])
175
+ );
176
+ }
177
+
178
+ public function test_email_is_unique()
179
+ {
180
+ $this->assertTrue(
181
+ \Schema::hasColumn('users', 'email')
182
+ );
183
+ }
184
+ }
185
+ ```
186
+
187
+ ### Passo 4: Rodar Testes
188
+
189
+ ```bash
190
+ php artisan migrate
191
+ php artisan test tests/Feature/MigrationTest.php
192
+ ```
193
+
194
+ **Saída esperada:**
195
+ ```
196
+ ✓ test_users_table_created
197
+ ✓ test_users_table_has_required_columns
198
+ ✓ test_email_is_unique
199
+
200
+ Tests: 3 passed
201
+ ```
202
+
203
+ ### Passo 5: Validar Validation Gates
204
+
205
+ ```bash
206
+ # ✓ Migrations criadas sem erros
207
+ php artisan migrate
208
+
209
+ # ✓ Tabelas têm índices apropriados
210
+ php artisan tinker
211
+ >>> Schema::getColumnListing('users')
212
+
213
+ # ✓ Foreign keys estão corretas
214
+ # (Verificado no código)
215
+
216
+ # ✓ php artisan migrate executa sem erros
217
+ php artisan migrate:rollback
218
+ php artisan migrate
219
+ ```
220
+
221
+ ## Boas Práticas
222
+
223
+ 1. **Siga Padrões:** Use convenções do projeto
224
+ 2. **Teste Tudo:** Cobertura de testes alta
225
+ 3. **Segurança:** Implemente proteções OWASP
226
+ 4. **Documentação:** Adicione comentários
227
+ 5. **Limpo:** Código legível e manutenível
228
+
229
+ ## Segurança em Execução
230
+
231
+ Para cada task, verifique:
232
+ - Validação de entrada
233
+ - Autenticação/Autorização
234
+ - Criptografia de dados sensíveis
235
+ - Proteção contra SQL Injection
236
+ - Proteção contra XSS
237
+ - Rate Limiting (se aplicável)
238
+
239
+ ## Dicas para Melhor Resultado
240
+
241
+ - **Contexto:** Leia exemplos em `examples/`
242
+ - **Padrões:** Siga convenções do projeto
243
+ - **Testes:** Use `skill-security` para testes de segurança
244
+ - **Feedback:** Peça aprovação após cada task
245
+ - **Ralph Loop:** Não pule validações
246
+
247
+ ## Próxima Task
248
+
249
+ Após completar uma task:
250
+ 1. Crie Artifact de progresso
251
+ 2. Peça aprovação do usuário
252
+ 3. Execute a próxima task
253
+ 4. Repita até completar todas
254
+
255
+ ## Exemplo de Artifact de Progresso
256
+
257
+ ```
258
+ ✓ Task 001: Criar Migrations de Users
259
+ - Migrations criadas: 2
260
+ - Testes passando: 3/3
261
+ - Validation Gates: 4/4 ✓
262
+
263
+ Próxima: Task 002: Configurar JWT
264
+ ```
@@ -0,0 +1,74 @@
1
+ ---
2
+ name: dare-feature-design
3
+ description: Analisa um projeto existente e gera um Implementation Plan focado apenas na adicao de uma nova feature. Use quando o projeto ja existe e precisa adicionar uma funcionalidade sem reescrever todo o sistema. Cria um documento DESIGN-Feature-[Nome].md.
4
+ ---
5
+
6
+ # DARE Feature Design Skill
7
+
8
+ Você é um especialista em modernização de sistemas legados e análise de impacto focado em expansão. Seu objetivo é analisar a base de código atual de um projeto existente e gerar um documento de Design focado especificamente na **adição de uma nova feature**, respeitando a arquitetura existente.
9
+
10
+ ## Quando usar esta skill
11
+
12
+ - O usuário pede para adicionar uma feature em um projeto que já possui código.
13
+ - O projeto não nasceu com o Método DARE, mas o usuário quer introduzi-lo agora para novas funcionalidades.
14
+
15
+ ## Como usar
16
+
17
+ ### Passo 1: Análise de Contexto (Obrigatório)
18
+ Antes de escrever qualquer coisa, você DEVE analisar o projeto atual:
19
+ 1. **Identifique a Stack:** Leia arquivos de configuração (composer.json, package.json, etc).
20
+ 2. **Identifique a Arquitetura:** Entenda o padrão atual (MVC, Hexagonal, etc).
21
+ 3. **Analise o Banco de Dados:** Entenda o esquema atual relacionado à nova feature.
22
+ 4. **Verifique Dependências:** Quais pacotes chave estão sendo usados?
23
+
24
+ ### Passo 2: Entendimento da Feature
25
+ Identifique o valor de negócio e os novos endpoints/telas que serão necessários. Como a feature se conecta com o que já existe?
26
+
27
+ ### Passo 3: Avaliação de Impacto e Segurança
28
+ - Quais arquivos existentes serão modificados?
29
+ - Quais novas tabelas/colunas serão criadas?
30
+ - **Segurança (OWASP):** Como proteger essa feature especificamente?
31
+
32
+ ### Passo 4: Gerar o Feature Design
33
+ Crie um documento `DARE/DESIGN-Feature-[Nome-da-Feature].md` com a seguinte estrutura:
34
+
35
+ ```markdown
36
+ # Feature Design: [Nome da Feature]
37
+
38
+ ## Contexto no Projeto Existente
39
+ Breve resumo de como a feature se encaixa no ecossistema atual.
40
+
41
+ ## Objetivos da Feature
42
+ - [Objetivo 1]
43
+ - [Objetivo 2]
44
+
45
+ ## Análise de Impacto (O que muda no legado)
46
+ - **Novos Arquivos:** [Lista de arquivos a serem criados]
47
+ - **Arquivos Modificados:** [Lista de arquivos existentes que sofrerão alteração]
48
+ - **Banco de Dados:** [Novas tabelas ou alterações]
49
+
50
+ ## Requisitos Técnicos
51
+ ### Funcionalidades
52
+ - [Funcionalidade 1]
53
+ - [Funcionalidade 2]
54
+
55
+ ### Segurança Específica (OWASP)
56
+ - [Validações e controles de acesso]
57
+
58
+ ## Restrições e Cuidados
59
+ - **O que NÃO alterar:** [Partes do código legado que não devem ser tocadas]
60
+
61
+ ## Próximas Etapas
62
+ 1. Revisar e aprovar este Feature Design
63
+ 2. Executar o Agent com a skill `dare-blueprint` apontando para este arquivo
64
+ ```
65
+
66
+ ### Passo 5: Pedir Aprovação
67
+ Após gerar o Design, crie um Artifact do tipo Implementation Plan e peça ao usuário para revisar o impacto no código legado e aprovar.
68
+
69
+ ## Regras de Ouro para Features em Projetos Existentes
70
+
71
+ 1. **Siga os Padrões Locais:** Adapte a feature ao padrão existente.
72
+ 2. **Isolamento:** Mantenha o impacto da feature o mais isolado possível.
73
+ 3. **Testes Nascem com a Feature:** A nova feature DEVE nascer com testes isolados.
74
+ 4. **Segurança Inegociável:** Aplique regras OWASP na nova feature.