@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,229 @@
1
+ ---
2
+ name: dare-tasks
3
+ description: Gera Task Groups estruturados a partir do Blueprint aprovado. Use quando o usuário aprovar o BLUEPRINT.md. Cria um documento TASKS.md com tarefas atômicas e especificações isoladas para cada uma.
4
+ ---
5
+
6
+ # DARE Tasks Skill
7
+
8
+ Você é um especialista em decomposição de projetos e planejamento de tarefas. Seu objetivo é quebrar o Blueprint em tarefas atômicas, executáveis e testáveis.
9
+
10
+ ## Quando usar esta skill
11
+
12
+ - Blueprint.md foi aprovado pelo usuário
13
+ - Precisa-se quebrar a arquitetura em tarefas
14
+ - Necessário criar especificações isoladas
15
+ - Terceira fase do Método DARE
16
+
17
+ ## Como usar
18
+
19
+ ### Passo 1: Ler o Blueprint Aprovado
20
+ Leia o arquivo `DARE/BLUEPRINT.md` que foi aprovado. Extraia:
21
+ - Fases do plano de execução
22
+ - Endpoints a implementar
23
+ - Modelos de dados
24
+ - Estrutura de diretórios
25
+
26
+ ### Passo 2: Quebrar em Tarefas Atômicas
27
+ Cada tarefa deve:
28
+ - Ser pequena o suficiente para uma conversa
29
+ - Ter dependências claras
30
+ - Ser testável isoladamente
31
+ - Incluir validações de segurança
32
+
33
+ ### Passo 3: Integrar Segurança
34
+ Para cada tarefa, inclua:
35
+ - Validações de entrada
36
+ - Autenticação/Autorização
37
+ - Testes de segurança
38
+ - Proteção contra vulnerabilidades
39
+
40
+ ### Passo 4: Gerar TASKS.md
41
+ Crie um documento `DARE/TASKS.md` com visão geral:
42
+
43
+ ```markdown
44
+ # Tasks: [Nome do Projeto]
45
+
46
+ ## Visão Geral
47
+ Total de Tasks: [N]
48
+ Fases: [Número]
49
+ Tempo Estimado: [Tempo]
50
+
51
+ ## Dependências
52
+
53
+ ```
54
+ Phase 1: Setup
55
+ └─ Task 001: Migrations
56
+ └─ Task 002: JWT Setup
57
+
58
+ Phase 2: Auth
59
+ ├─ Task 003: RegisterController (depende de Task 001)
60
+ ├─ Task 004: LoginController (depende de Task 001)
61
+ └─ Task 005: RefreshController (depende de Task 001)
62
+
63
+ Phase 3: Protection
64
+ ├─ Task 006: JWT Middleware (depende de Task 002)
65
+ ├─ Task 007: Rate Limiting (depende de Task 006)
66
+ └─ Task 008: Logout (depende de Task 006)
67
+
68
+ Phase 4: Testing
69
+ ├─ Task 009: Unit Tests (depende de Task 003-008)
70
+ ├─ Task 010: Integration Tests (depende de Task 009)
71
+ └─ Task 011: Docker Setup (depende de Task 010)
72
+ ```
73
+
74
+ ## Tarefas por Fase
75
+
76
+ ### Phase 1: Setup Inicial
77
+
78
+ #### Task 001: Criar Migrations de Users
79
+ - Arquivo: `DARE/EXECUTION/task-001.md`
80
+ - Tempo: 15 min
81
+ - Dependências: Nenhuma
82
+
83
+ #### Task 002: Configurar JWT
84
+ - Arquivo: `DARE/EXECUTION/task-002.md`
85
+ - Tempo: 20 min
86
+ - Dependências: Nenhuma
87
+
88
+ ### Phase 2: Autenticação
89
+
90
+ #### Task 003: Implementar RegisterController
91
+ - Arquivo: `DARE/EXECUTION/task-003.md`
92
+ - Tempo: 30 min
93
+ - Dependências: Task 001
94
+
95
+ #### Task 004: Implementar LoginController
96
+ - Arquivo: `DARE/EXECUTION/task-004.md`
97
+ - Tempo: 30 min
98
+ - Dependências: Task 001, Task 002
99
+
100
+ #### Task 005: Implementar RefreshController
101
+ - Arquivo: `DARE/EXECUTION/task-005.md`
102
+ - Tempo: 25 min
103
+ - Dependências: Task 001, Task 002
104
+
105
+ ### Phase 3: Proteção
106
+
107
+ #### Task 006: Implementar JWT Middleware
108
+ - Arquivo: `DARE/EXECUTION/task-006.md`
109
+ - Tempo: 20 min
110
+ - Dependências: Task 002
111
+
112
+ #### Task 007: Implementar Rate Limiting
113
+ - Arquivo: `DARE/EXECUTION/task-007.md`
114
+ - Tempo: 25 min
115
+ - Dependências: Task 006
116
+
117
+ #### Task 008: Implementar Logout
118
+ - Arquivo: `DARE/EXECUTION/task-008.md`
119
+ - Tempo: 20 min
120
+ - Dependências: Task 006
121
+
122
+ ### Phase 4: Testing
123
+
124
+ #### Task 009: Testes Unitários
125
+ - Arquivo: `DARE/EXECUTION/task-009.md`
126
+ - Tempo: 40 min
127
+ - Dependências: Task 003-008
128
+
129
+ #### Task 010: Testes de Integração
130
+ - Arquivo: `DARE/EXECUTION/task-010.md`
131
+ - Tempo: 50 min
132
+ - Dependências: Task 009
133
+
134
+ #### Task 011: Docker Setup
135
+ - Arquivo: `DARE/EXECUTION/task-011.md`
136
+ - Tempo: 30 min
137
+ - Dependências: Task 010
138
+
139
+ ## Próximas Etapas
140
+ 1. Revisar e aprovar este TASKS.md
141
+ 2. Executar `/execute-task task-001` para começar
142
+ 3. Continuar com o Método DARE
143
+ ```
144
+
145
+ ### Passo 5: Gerar Especificações Isoladas
146
+ Para CADA tarefa, crie um arquivo `DARE/EXECUTION/task-[id].md`:
147
+
148
+ ```markdown
149
+ # Task 001: Criar Migrations de Users
150
+
151
+ ## Objetivo
152
+ Criar as migrations para tabelas de users e refresh_tokens.
153
+
154
+ ## Descrição
155
+ Implementar duas migrations Laravel:
156
+ 1. create_users_table.php
157
+ 2. create_refresh_tokens_table.php
158
+
159
+ ## Especificações
160
+
161
+ ### Tabela: users
162
+ - id: UUID (PK)
163
+ - email: VARCHAR(255) UNIQUE NOT NULL
164
+ - password_hash: VARCHAR(255) NOT NULL
165
+ - name: VARCHAR(255) NOT NULL
166
+ - is_active: BOOLEAN DEFAULT true
167
+ - created_at: TIMESTAMP
168
+ - updated_at: TIMESTAMP
169
+
170
+ ### Tabela: refresh_tokens
171
+ - id: UUID (PK)
172
+ - user_id: UUID (FK → users.id)
173
+ - token: VARCHAR(500) UNIQUE
174
+ - expires_at: TIMESTAMP NOT NULL
175
+ - revoked_at: TIMESTAMP NULL
176
+ - created_at: TIMESTAMP
177
+
178
+ ## Arquivos a Criar
179
+ - `database/migrations/YYYY_MM_DD_HHMMSS_create_users_table.php`
180
+ - `database/migrations/YYYY_MM_DD_HHMMSS_create_refresh_tokens_table.php`
181
+
182
+ ## Validações (Validation Gates)
183
+ - [ ] Migrations criadas sem erros
184
+ - [ ] Tabelas têm índices apropriados
185
+ - [ ] Foreign keys estão corretas
186
+ - [ ] Timestamps são automáticos
187
+ - [ ] `php artisan migrate` executa sem erros
188
+
189
+ ## Testes
190
+ ```bash
191
+ php artisan migrate
192
+ php artisan migrate:rollback
193
+ php artisan migrate
194
+ ```
195
+
196
+ ## Segurança
197
+ - Senhas nunca são armazenadas em texto plano
198
+ - Tokens têm expiração
199
+ - Soft deletes para dados históricos
200
+
201
+ ## Próxima Task
202
+ Task 002: Configurar JWT
203
+
204
+ ## Notas
205
+ - Use UUID em vez de auto-increment
206
+ - Considere índices em email e user_id
207
+ ```
208
+
209
+ ### Passo 6: Pedir Aprovação
210
+ Após gerar todas as tasks:
211
+ - Peça ao usuário revisar
212
+ - Confirme dependências
213
+ - Aprove antes de executar
214
+
215
+ ## Boas Práticas
216
+
217
+ 1. **Atômicas:** Cada task é independente
218
+ 2. **Testáveis:** Inclua validation gates
219
+ 3. **Documentadas:** Especificações claras
220
+ 4. **Seguras:** Integre requisitos OWASP
221
+ 5. **Sequenciadas:** Respeite dependências
222
+
223
+ ## Dicas para Melhor Resultado
224
+
225
+ - **Tamanho:** Tasks devem levar 15-60 minutos
226
+ - **Testes:** Sempre inclua validation gates
227
+ - **Segurança:** Consulte `skill-security` para cada task
228
+ - **Exemplos:** Use `examples/` como referência
229
+ - **Templates:** Use `templates/TASK-SPEC-template.md`
@@ -0,0 +1,53 @@
1
+ # BLUEPRINT DE IMPLEMENTAÇÃO: [Nome do Projeto]
2
+
3
+ ## 1. VISÃO GERAL DA ARQUITETURA
4
+ [Descrição da arquitetura do sistema: Monolito modular, Microserviços, Hexagonal, etc.]
5
+ [Diagrama em formato Mermaid se aplicável]
6
+
7
+ ## 2. STACK TÉCNICA DEFINIDA
8
+ - **Linguagem:** [ex: PHP 8.3]
9
+ - **Framework:** [ex: Laravel 11.x]
10
+ - **Banco de Dados:** [ex: PostgreSQL 16.x]
11
+ - **Pacotes Essenciais:** [Lista de dependências do composer/npm]
12
+
13
+ ## 3. MODELO DE DADOS
14
+ [Entidades principais, relacionamentos e tipos de dados]
15
+ [Exemplo de Migration Laravel ou Model Pydantic/Go Struct]
16
+
17
+ ## 4. ESTRUTURA DE PASTAS E ARQUIVOS
18
+ [Árvore de diretórios completa focando nos arquivos que serão criados/modificados]
19
+ ```text
20
+ app/
21
+ ├── Http/
22
+ │ ├── Controllers/
23
+ │ └── Requests/
24
+ ├── Models/
25
+ ├── Services/
26
+ └── ...
27
+ ```
28
+
29
+ ## 5. ENDPOINTS DA API
30
+ | Método | Endpoint | Controller@Method | Descrição | Request Body | Response | Auth |
31
+ |---|---|---|---|---|---|---|
32
+ | POST | /api/v1/users | UserController@store | Cria usuário | {name, email, pass} | {id, token} | Não |
33
+ | GET | /api/v1/users | UserController@index | Lista usuários | - | [{id, name}] | Sim |
34
+
35
+ ## 6. CÓDIGO-BASE / PADRÕES A SEGUIR
36
+ [Trechos de código críticos que definem o padrão do projeto]
37
+ [Exemplo: Interface de repositório, FormRequest base, Trait de respostas de API]
38
+
39
+ ## 7. PLANO DE EXECUÇÃO (FASES)
40
+ - **Fase 1:** Setup do projeto e Banco de Dados (Migrations/Seeds)
41
+ - **Fase 2:** Autenticação e Autorização (Middlewares/Policies)
42
+ - **Fase 3:** [Módulo Principal 1]
43
+ - **Fase 4:** [Módulo Principal 2]
44
+ - **Fase N:** Testes e Documentação
45
+
46
+ ## 8. COMANDOS DE SETUP
47
+ [Todos os comandos para rodar o projeto do zero, ex: docker-compose up, php artisan migrate, etc]
48
+
49
+ ## 9. CRITÉRIOS DE SUCESSO GERAIS
50
+ - [ ] O código passa em todos os testes (`php artisan test`)
51
+ - [ ] Não há erros de linting (`./vendor/bin/pint`)
52
+ - [ ] A API responde conforme os endpoints definidos
53
+ - [ ] A documentação Swagger/OpenAPI está atualizada
@@ -0,0 +1,34 @@
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]
@@ -0,0 +1,43 @@
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.
@@ -0,0 +1,26 @@
1
+ # TASKS DE IMPLEMENTAÇÃO: [Nome do Projeto]
2
+
3
+ Este documento contém o desdobramento do Blueprint aprovado em tarefas atômicas e executáveis para a IA.
4
+ Cada tarefa listada aqui possui um arquivo correspondente no diretório `DARE/EXECUTION/` contendo sua especificação detalhada.
5
+
6
+ ## FASES DE IMPLEMENTAÇÃO
7
+
8
+ ### Fase 1: [Nome da Fase, ex: Setup e Banco de Dados]
9
+ - [ ] **Task 001:** [Objetivo curto, ex: Criar Migration e Model de Usuário]
10
+ - [ ] **Task 002:** [Objetivo curto, ex: Configurar Traits e Classes Base]
11
+
12
+ ### Fase 2: [Nome da Fase, ex: Autenticação]
13
+ - [ ] **Task 003:** [Objetivo curto, ex: Implementar AuthController (Login/Register)]
14
+ - [ ] **Task 004:** [Objetivo curto, ex: Criar Middlewares de verificação de permissão]
15
+
16
+ ## DEPENDÊNCIAS
17
+
18
+ - A **Fase 2** depende da conclusão 100% da **Fase 1**.
19
+ - A **Task 004** depende da **Task 003**.
20
+
21
+ ## INSTRUÇÕES PARA EXECUÇÃO
22
+
23
+ Para executar uma tarefa, use o comando `/execute-task [id-da-task]` no Cursor Composer.
24
+ Exemplo: `/execute-task task-001`
25
+
26
+ A IA lerá o arquivo `DARE/EXECUTION/task-001.md`, implementará o código, rodará os testes e validará os critérios de sucesso. Após a execução, marque a tarefa como concluída (com um `x` entre os colchetes `[x]`) neste documento.
@@ -0,0 +1,125 @@
1
+ # Telemetria do Projeto: [Nome do Projeto]
2
+
3
+ ## Resumo Executivo
4
+
5
+ | Métrica | Valor |
6
+ |---------|-------|
7
+ | **Projeto** | [Nome do Projeto] |
8
+ | **Data de Início** | [Data] |
9
+ | **Tokens Totais Processados** | [Número] (monitoramento de uso) |
10
+ | **IA Utilizada** | Cursor (por compliance) |
11
+ | **Modelos do Cursor Utilizados** | [Lista: GPT-4 Turbo, Claude, Gemini] |
12
+ | **Tempo Total de Execução** | [Horas/Minutos] |
13
+ | **Número de Tasks Executadas** | [Número] |
14
+
15
+ ## Detalhamento por Etapa
16
+
17
+ ### 1. Design (`/generate-design`)
18
+
19
+ | Campo | Valor |
20
+ |-------|-------|
21
+ | Data/Hora | [Timestamp] |
22
+ | Modelo do Cursor | [GPT-4 Turbo / Claude 3.5 Sonnet / Gemini 2.0 Flash] |
23
+ | Tokens Estimados | [Número] |
24
+ | Tempo de Execução | [Tempo] |
25
+ | Comando Executado | `/generate-design "[Descrição]"` |
26
+ | Observações | [Qualidade da resposta, ajustes necessários, etc] |
27
+ | Status | ✓ Sucesso / ✗ Falha |
28
+
29
+ ### 2. Blueprint (`/generate-blueprint`)
30
+
31
+ | Campo | Valor |
32
+ |-------|-------|
33
+ | Data/Hora | [Timestamp] |
34
+ | Modelo do Cursor | [GPT-4 Turbo / Claude 3.5 Sonnet / Gemini 2.0 Flash] |
35
+ | Tokens Estimados | [Número] |
36
+ | Tempo de Execução | [Tempo] |
37
+ | Arquivo Processado | DARE/DESIGN.md |
38
+ | Observações | [Qualidade da arquitetura, endpoints claros, etc] |
39
+ | Status | ✓ Sucesso / ✗ Falha |
40
+
41
+ ### 3. Tasks (`/generate-tasks`)
42
+
43
+ | Campo | Valor |
44
+ |-------|-------|
45
+ | Data/Hora | [Timestamp] |
46
+ | Modelo do Cursor | [GPT-4 Turbo / Claude 3.5 Sonnet / Gemini 2.0 Flash] |
47
+ | Tokens Estimados | [Número] |
48
+ | Tempo de Execução | [Tempo] |
49
+ | Arquivo Processado | DARE/BLUEPRINT.md |
50
+ | Tasks Geradas | [Número] |
51
+ | Observações | [Qualidade das tasks, clareza das especificações, etc] |
52
+ | Status | ✓ Sucesso / ✗ Falha |
53
+
54
+ ### 4. Execute Tasks (`/execute-task`)
55
+
56
+ #### Task 001: [Nome da Task]
57
+
58
+ | Campo | Valor |
59
+ |-------|-------|
60
+ | Data/Hora | [Timestamp] |
61
+ | Modelo do Cursor | [GPT-4 Turbo / Claude 3.5 Sonnet / Gemini 2.0 Flash] |
62
+ | Tokens Estimados | [Número] |
63
+ | Tempo de Execução | [Tempo] |
64
+ | Tentativas (Ralph Loop) | [Número] |
65
+ | Observações | [Código limpo, testes, etc] |
66
+ | Status | ✓ Sucesso / ✗ Falha |
67
+
68
+ #### Task 002: [Nome da Task]
69
+ [Repetir estrutura acima para cada task]
70
+
71
+ ## Análise de Tokens Processados
72
+
73
+ | Etapa | Tokens Estimados | % do Total | Tempo Total |
74
+ |-------|------------------|-----------|-------------|
75
+ | Design | [Número] | [%] | [Tempo] |
76
+ | Blueprint | [Número] | [%] | [Tempo] |
77
+ | Tasks | [Número] | [%] | [Tempo] |
78
+ | Execute (N tasks) | [Número] | [%] | [Tempo] |
79
+ | **TOTAL** | **[Número]** | **100%** | **[Tempo]** |
80
+
81
+ ## Análise de Modelos do Cursor
82
+
83
+ | Modelo | Tokens Processados | % do Total | Tempo Médio | Melhor Para |
84
+ |--------|------------------|-----------|------------|------------|
85
+ | GPT-4 Turbo | [Número] | [%] | [Tempo] | Tarefas complexas |
86
+ | Claude 3.5 Sonnet | [Número] | [%] | [Tempo] | Análise profunda |
87
+ | Gemini 2.0 Flash | [Número] | [%] | [Tempo] | Tarefas simples |
88
+ | **TOTAL** | **[Número]** | **100%** | **[Tempo]** | - |
89
+
90
+ ## Análise de Performance
91
+
92
+ | Métrica | Valor |
93
+ |---------|-------|
94
+ | Tempo Médio por Task | [Tempo] |
95
+ | Taxa de Sucesso (1ª tentativa) | [%] |
96
+ | Taxa de Sucesso (com Ralph Loop) | [%] |
97
+ | Tokens Médios por Task | [Número] |
98
+ | Modelo Mais Utilizado | [Modelo] |
99
+ | Modelo Mais Rápido | [Modelo] |
100
+
101
+ ## Otimizações Recomendadas
102
+
103
+ 1. **[Recomendação 1]**
104
+ - Descrição: [Detalhes]
105
+ - Economia Estimada: [Valor/Percentual]
106
+ - Ação: [Como implementar]
107
+
108
+ 2. **[Recomendação 2]**
109
+ - Descrição: [Detalhes]
110
+ - Economia Estimada: [Valor/Percentual]
111
+ - Ação: [Como implementar]
112
+
113
+ 3. **[Recomendação 3]**
114
+ - Descrição: [Detalhes]
115
+ - Economia Estimada: [Valor/Percentual]
116
+ - Ação: [Como implementar]
117
+
118
+ ## Notas e Observações
119
+
120
+ [Espaço para anotações adicionais, como problemas encontrados, decisões tomadas, lições aprendidas, etc.]
121
+
122
+ ---
123
+
124
+ **Última atualização:** [Data]
125
+ **Próxima revisão:** [Data]
@@ -0,0 +1,19 @@
1
+ # Comando: /execute-task
2
+
3
+ ## Descrição
4
+ Este comando finaliza o Método DARE (Execute) implementando o código e validando os testes de uma tarefa específica isolada.
5
+
6
+ ## Instruções para o Cursor Composer
7
+
8
+ 1. **Identifique a Tarefa:** Leia o `$ARGUMENTS` (ID da tarefa ou caminho do arquivo, ex: `task-001` ou `DARE/EXECUTION/task-001.md`).
9
+ 2. **Leia a Especificação da Tarefa:** Abra e leia a especificação detalhada da tarefa em `DARE/EXECUTION/[id].md`.
10
+ 3. **Analise o Contexto Global:** Leia o arquivo `.cursorrules` (ou equivalente) e a arquitetura geral em `DARE/BLUEPRINT.md` para garantir que o código será gerado dentro dos padrões do projeto.
11
+ 4. **Implemente o Código:**
12
+ - Execute passo a passo as instruções da seção "ESPECIFICAÇÃO DE IMPLEMENTAÇÃO".
13
+ - Crie ou modifique os arquivos necessários.
14
+ - Siga rigorosamente os padrões de código, tratamento de erros e convenções definidos nas regras globais e exemplos fornecidos.
15
+ 5. **O Loop de Validação (Ralph Loop):**
16
+ - Após a implementação, execute OBRIGATORIAMENTE os comandos definidos na seção "CRITÉRIOS DE SUCESSO (VALIDATION GATES)".
17
+ - Exemplo: `php artisan test --filter=NomeDoTeste` ou `./vendor/bin/pint`.
18
+ - Se algum comando falhar, LEIA O ERRO, CORRIJA O CÓDIGO e RODE O COMANDO NOVAMENTE até que todos passem com sucesso.
19
+ 6. **Mensagem Final:** Após o sucesso dos testes, atualize o status da tarefa no arquivo `DARE/TASKS.md` (marque com um `[x]`) e informe ao usuário: "Tarefa [ID] implementada e validada com sucesso. Os testes passaram."
@@ -0,0 +1,21 @@
1
+ # Comando: /generate-blueprint
2
+
3
+ ## Descrição
4
+ Este comando avança o Método DARE para a fase Architect, lendo o Design aprovado e gerando a arquitetura completa de implementação.
5
+
6
+ ## Instruções para o Cursor Composer
7
+
8
+ 1. **Leia o Documento Design:** Acesse e leia o arquivo `$ARGUMENTS` (geralmente `DARE/DESIGN.md`) que contém os requisitos do projeto.
9
+ 2. **Leia o Template:** Utilize a estrutura definida em `templates/BLUEPRINT-template.md`.
10
+ 3. **Analise o Contexto Global:** Leia o arquivo `.cursorrules` (ou equivalente) para entender as regras, convenções de nomenclatura e padrões de arquitetura exigidos pela stack do projeto.
11
+ 4. **Analise Exemplos:** Se houver arquivos na pasta `examples/`, analise-os para extrair os padrões de código esperados e incluí-los na seção "CÓDIGO-BASE / PADRÕES A SEGUIR".
12
+ 5. **Gere a Arquitetura (O Blueprint):**
13
+ - **Visão Geral:** Defina a arquitetura apropriada para o projeto (Monolito, Microserviços, Hexagonal, MVC).
14
+ - **Segurança (OWASP):** Adicione uma subseção explicando como as diretrizes da `skill-security.mdc` serão implementadas (ex: Bcrypt para senhas, Middlewares de Rate Limit, Validação estrita).
15
+ - **Modelo de Dados:** Projete o esquema completo do banco de dados (tabelas, campos, tipos, relacionamentos) e apresente em formato Markdown ou SQL simplificado. Certifique-se de que dados sensíveis estão protegidos.
16
+ - **Endpoints:** Liste todas as rotas da API necessárias com Request e Response esperados em uma tabela Markdown, incluindo as necessidades de Autenticação/Autorização.
17
+ - **Estrutura:** Esboce a árvore de diretórios dos arquivos que serão criados.
18
+ - **Plano de Execução:** Divida o projeto em Fases lógicas e sequenciais. A Fase 2 geralmente deve incluir o Setup de Segurança (Auth, Middlewares).
19
+ - **Comandos:** Liste comandos de setup (ex: migrations, composer install).
20
+ 6. **Salve o Arquivo:** Crie o arquivo `DARE/BLUEPRINT.md` com o conteúdo gerado.
21
+ 7. **Mensagem Final:** Informe ao usuário: "Documento BLUEPRINT.md gerado com sucesso. Por favor, revise a arquitetura e os endpoints. Quando estiver aprovado, execute `/generate-tasks DARE/BLUEPRINT.md`."
@@ -0,0 +1,64 @@
1
+ ---
2
+ description: Analisa o projeto existente e gera um Design DARE focado na resolucao de um bug. Use quando precisar investigar e corrigir um erro complexo no sistema atual.
3
+ globs: *
4
+ ---
5
+
6
+ # Generate Bugfix Design
7
+
8
+ ## Objetivo
9
+ Analisar a base de código atual, diagnosticar um problema relatado e gerar um documento de Design (`DARE/DESIGN-Bugfix-[Nome].md`) focado especificamente na **correção do bug**, mapeando a causa raiz e o plano de ação cirúrgico.
10
+
11
+ ## Contexto
12
+ Este comando é para **projetos legados** ou em andamento onde um erro foi encontrado. O foco aqui é **diagnóstico e correção**: encontrar a causa raiz, analisar impacto e planejar a correção mais segura possível.
13
+
14
+ ## Passos que a IA deve seguir:
15
+
16
+ 1. **Análise de Contexto:**
17
+ - Entender o comportamento atual (o bug) vs o comportamento esperado
18
+ - Analisar logs, stack traces ou descrições de erro fornecidas
19
+ - Identificar a área do código responsável pelo problema
20
+
21
+ 2. **Diagnóstico da Causa Raiz:**
22
+ - Por que o erro está ocorrendo?
23
+ - É um problema de lógica, banco de dados, concorrência ou segurança?
24
+
25
+ 3. **Geração do Documento:**
26
+ - Criar o arquivo `DARE/DESIGN-Bugfix-[Nome-do-Bug].md`
27
+
28
+ ## Estrutura do Documento Gerado:
29
+
30
+ ```markdown
31
+ # Bugfix Design: [Nome do Bug]
32
+
33
+ ## Descrição do Problema
34
+ - **Comportamento Atual:** [O que está acontecendo de errado]
35
+ - **Comportamento Esperado:** [O que deveria acontecer]
36
+ - **Passos para Reproduzir:** [Se conhecido]
37
+
38
+ ## Diagnóstico da Causa Raiz
39
+ Explicação técnica detalhada de por que o erro ocorre. (Ex: "A query N+1 está estourando a memória", ou "A validação não verifica campos nulos").
40
+
41
+ ## Análise de Impacto (Onde corrigir)
42
+ - **Arquivos a Modificar:** [Lista de arquivos específicos]
43
+ - **Banco de Dados:** [Necessário rodar script de correção de dados?]
44
+ - **Riscos da Correção:** [O que pode quebrar ao consertar isso?]
45
+
46
+ ## Plano de Ação (Correção Cirúrgica)
47
+ 1. [Passo 1: Ajustar a query no Repository]
48
+ 2. [Passo 2: Adicionar teste unitário para cobrir o caso]
49
+ 3. [Passo 3: Validar comportamento]
50
+
51
+ ## Testes Necessários
52
+ - **Validation Gates:** [O que testar para garantir que o bug sumiu]
53
+ - **Testes de Regressão:** [O que testar para garantir que não quebrou o resto]
54
+
55
+ ## Próximas Etapas
56
+ 1. Revisar e aprovar este Bugfix Design
57
+ 2. Executar `/generate-blueprint DARE/DESIGN-Bugfix-[Nome].md` (opcional, se a correção for grande)
58
+ 3. Ou ir direto para `/generate-tasks DARE/DESIGN-Bugfix-[Nome].md`
59
+ ```
60
+
61
+ ## Regras de Ouro:
62
+ - **Seja Cirúrgico:** A correção deve ser o menor código possível para resolver o problema sem efeitos colaterais.
63
+ - **Causa Raiz:** Não trate apenas o sintoma, identifique e corrija a causa raiz.
64
+ - **Evite Regressão:** Sempre mapeie os riscos da correção.
@@ -0,0 +1,18 @@
1
+ # Comando: /generate-design
2
+
3
+ ## Descrição
4
+ Este comando inicia o Método DARE (Design) gerando um documento de requisitos a partir de uma ideia inicial.
5
+
6
+ ## Instruções para o Cursor Composer
7
+
8
+ 1. **Leia a Ideia Inicial:** Analise o prompt fornecido pelo usuário (`$ARGUMENTS`) que descreve o que ele deseja construir.
9
+ 2. **Leia o Template:** Utilize a estrutura definida em `templates/DESIGN-template.md`.
10
+ 3. **Analise o Contexto Global:** Leia o arquivo `.cursorrules` (ou equivalente na pasta `.cursor/rules/`) para entender a stack técnica do projeto e preencher automaticamente a seção de STACK TÉCNICA.
11
+ 4. **Gere o Documento:**
12
+ - Preencha o template com as informações extraídas do prompt.
13
+ - Organize as funcionalidades de forma clara.
14
+ - Identifique possíveis requisitos técnicos implícitos e restrições.
15
+ - **Integre Requisitos de Segurança (OWASP):** Adicione obrigatoriamente requisitos de segurança na seção correspondente (ex: Rate Limiting, HTTPS, Proteção contra Força Bruta) baseando-se na skill `skill-security.mdc`.
16
+ - Defina claramente o que fica FORA DO ESCOPO para manter o foco da versão.
17
+ 5. **Salve o Arquivo:** Crie o arquivo `DARE/DESIGN.md` com o conteúdo gerado.
18
+ 6. **Mensagem Final:** Informe ao usuário: "Documento DESIGN.md gerado com sucesso. Por favor, revise e aprove o documento. Quando estiver pronto, execute `/generate-blueprint DARE/DESIGN.md`."
@@ -0,0 +1,18 @@
1
+ # Comando: /generate-docker-compose
2
+
3
+ ## Descrição
4
+ Este comando analisa a arquitetura definida no BLUEPRINT.md e gera um `docker-compose.yml` completo com todos os serviços necessários (App, DB, Cache, etc).
5
+
6
+ ## Instruções para o Cursor Composer
7
+
8
+ 1. **Leia o Documento Blueprint:** Acesse o `DARE/BLUEPRINT.md` (se existir) para identificar as dependências do sistema (ex: PostgreSQL, Redis, Mailhog).
9
+ 2. **Leia o Contexto Global:** Leia o `.cursorrules` para confirmar as versões do banco de dados e outras ferramentas.
10
+ 3. **Leia a Skill Docker:** Leia `.cursor/rules/skill-docker.mdc` para aplicar boas práticas (Healthchecks, Redes, Volumes).
11
+ 4. **Gere o docker-compose.yml:**
12
+ - Crie um arquivo `docker-compose.yml` na raiz do projeto.
13
+ - **Serviço App:** Use o `build: .` (Dockerfile gerado). Exponha a porta correta. Defina variáveis de ambiente ou carregue do `.env`. Configure `depends_on` para DB/Cache.
14
+ - **Serviço Webserver (Laravel):** Se for Laravel, crie um serviço `nginx` dependente do `app` (PHP-FPM) e configure os volumes para compartilhar a pasta `/var/www/html`.
15
+ - **Serviço Banco de Dados:** Adicione o banco de dados (ex: `postgres:16-alpine` ou `mysql:8.0`). Defina variáveis de ambiente para usuário, senha e database (`POSTGRES_DB`, `POSTGRES_USER`). Adicione um `healthcheck` para testar a conexão (`pg_isready -U user`). Crie um volume nomeado para os dados (`db_data:/var/lib/postgresql/data`).
16
+ - **Serviço Cache (Opcional):** Se o projeto usar Redis, adicione o serviço `redis:7-alpine`.
17
+ - **Redes e Volumes:** Defina as redes customizadas (ex: `app-network`) e volumes (`db_data`, `redis_data`) no final do arquivo.
18
+ 5. **Mensagem Final:** Informe ao usuário: "Arquivo docker-compose.yml gerado com sucesso. Todos os serviços (App, [DB], [Cache]) foram configurados com healthchecks, volumes persistentes e redes isoladas. Revise as portas e variáveis de ambiente no .env antes de executar `docker-compose up -d`."
@@ -0,0 +1,17 @@
1
+ # Comando: /generate-dockerfile
2
+
3
+ ## Descrição
4
+ Este comando analisa a stack do projeto (definida no DESIGN.md ou .cursorrules) e gera um `Dockerfile` otimizado para produção e desenvolvimento.
5
+
6
+ ## Instruções para o Cursor Composer
7
+
8
+ 1. **Analise o Contexto:** Leia o arquivo `.cursorrules` e o `DARE/DESIGN.md` (se existir) para identificar a stack tecnológica principal (Linguagem, Framework, Versões).
9
+ 2. **Leia a Skill Docker:** Leia as regras em `.cursor/rules/skill-docker.mdc` para aplicar as melhores práticas de containerização.
10
+ 3. **Gere o Dockerfile:**
11
+ - Crie um Dockerfile na raiz do projeto (`./Dockerfile`).
12
+ - **Para PHP/Laravel:** Use multi-stage build. Instale extensões necessárias (pdo_mysql/pgsql, mbstring, exif, pcntl, bcmath, gd). Configure o `www-data` e ajuste permissões de `/var/www/html/storage` e `bootstrap/cache`.
13
+ - **Para Python:** Use `python:slim`. Crie um usuário não-root. Copie `requirements.txt` primeiro, instale dependências e depois copie o código.
14
+ - **Para Go:** Use multi-stage. Estágio 1: `golang:alpine` para build (`go build -o app`). Estágio 2: `alpine` ou `scratch` rodando apenas o binário.
15
+ - **Para Node/Vue:** Estágio 1: `node:alpine` para build (`npm run build`). Estágio 2: `nginx:alpine` para servir a pasta `dist`.
16
+ 4. **Gere o .dockerignore:** Crie um arquivo `.dockerignore` na raiz do projeto ignorando pastas desnecessárias (`node_modules`, `vendor`, `.git`, `.env`, `tests`, `DARE`).
17
+ 5. **Mensagem Final:** Informe ao usuário: "Dockerfile e .dockerignore gerados com sucesso e otimizados para a stack [NOME_DA_STACK]. Revise os arquivos gerados. Para criar a orquestração de serviços, execute `/generate-docker-compose`."