@onion-architect-ai/cli 4.1.0-beta.4 → 4.1.0-beta.5

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 (97) hide show
  1. package/dist/cli.js +1 -1
  2. package/dist/cli.js.map +1 -1
  3. package/package.json +1 -1
  4. package/templates/.cursor/agents/development/c4-architecture-specialist.md +712 -0
  5. package/templates/.cursor/agents/development/c4-documentation-specialist.md +658 -0
  6. package/templates/.cursor/agents/development/clickup-specialist.md +397 -0
  7. package/templates/.cursor/agents/development/cursor-specialist.md +249 -0
  8. package/templates/.cursor/agents/development/docs-reverse-engineer.md +418 -0
  9. package/templates/.cursor/agents/development/gamma-api-specialist.md +1169 -0
  10. package/templates/.cursor/agents/development/gitflow-specialist.md +1207 -0
  11. package/templates/.cursor/agents/development/linux-security-specialist.md +676 -0
  12. package/templates/.cursor/agents/development/mermaid-specialist.md +516 -0
  13. package/templates/.cursor/agents/development/nodejs-specialist.md +673 -0
  14. package/templates/.cursor/agents/development/nx-migration-specialist.md +867 -0
  15. package/templates/.cursor/agents/development/nx-monorepo-specialist.md +619 -0
  16. package/templates/.cursor/agents/development/postgres-specialist.md +1124 -0
  17. package/templates/.cursor/agents/development/react-developer.md +132 -0
  18. package/templates/.cursor/agents/development/runflow-specialist.md +278 -0
  19. package/templates/.cursor/agents/development/system-documentation-orchestrator.md +1388 -0
  20. package/templates/.cursor/agents/development/task-specialist.md +618 -0
  21. package/templates/.cursor/agents/development/whisper-specialist.md +373 -0
  22. package/templates/.cursor/agents/development/zen-engine-specialist.md +421 -0
  23. package/templates/.cursor/agents/git/branch-code-reviewer.md +200 -0
  24. package/templates/.cursor/agents/git/branch-documentation-writer.md +162 -0
  25. package/templates/.cursor/agents/git/branch-metaspec-checker.md +68 -0
  26. package/templates/.cursor/agents/git/branch-test-planner.md +177 -0
  27. package/templates/.cursor/agents/product/branding-positioning-specialist.md +1030 -0
  28. package/templates/.cursor/agents/product/extract-meeting-specialist.md +395 -0
  29. package/templates/.cursor/agents/product/meeting-consolidator.md +483 -0
  30. package/templates/.cursor/agents/product/pain-price-specialist.md +509 -0
  31. package/templates/.cursor/agents/product/presentation-orchestrator.md +1191 -0
  32. package/templates/.cursor/agents/product/product-agent.md +202 -0
  33. package/templates/.cursor/agents/product/story-points-framework-specialist.md +539 -0
  34. package/templates/.cursor/agents/product/storytelling-business-specialist.md +891 -0
  35. package/templates/.cursor/agents/review/code-reviewer.md +155 -0
  36. package/templates/.cursor/agents/testing/test-agent.md +425 -0
  37. package/templates/.cursor/agents/testing/test-engineer.md +295 -0
  38. package/templates/.cursor/agents/testing/test-planner.md +118 -0
  39. package/templates/.cursor/commands/docs/build-business-docs.md +276 -0
  40. package/templates/.cursor/commands/docs/build-index.md +128 -0
  41. package/templates/.cursor/commands/docs/build-tech-docs.md +204 -0
  42. package/templates/.cursor/commands/docs/consolidate-documents.md +424 -0
  43. package/templates/.cursor/commands/docs/docs-health.md +142 -0
  44. package/templates/.cursor/commands/docs/help.md +306 -0
  45. package/templates/.cursor/commands/docs/refine-vision.md +27 -0
  46. package/templates/.cursor/commands/docs/reverse-consolidate.md +160 -0
  47. package/templates/.cursor/commands/docs/sync-sessions.md +320 -0
  48. package/templates/.cursor/commands/docs/validate-docs.md +159 -0
  49. package/templates/.cursor/commands/engineer/bump.md +43 -0
  50. package/templates/.cursor/commands/engineer/docs.md +39 -0
  51. package/templates/.cursor/commands/engineer/help.md +329 -0
  52. package/templates/.cursor/commands/engineer/hotfix.md +186 -0
  53. package/templates/.cursor/commands/engineer/plan.md +111 -0
  54. package/templates/.cursor/commands/engineer/pr-update.md +198 -0
  55. package/templates/.cursor/commands/engineer/pr.md +136 -0
  56. package/templates/.cursor/commands/engineer/pre-pr.md +91 -0
  57. package/templates/.cursor/commands/engineer/start.md +266 -0
  58. package/templates/.cursor/commands/engineer/validate-phase-sync.md +118 -0
  59. package/templates/.cursor/commands/engineer/warm-up.md +173 -0
  60. package/templates/.cursor/commands/engineer/work.md +169 -0
  61. package/templates/.cursor/commands/git/code-review.md +215 -0
  62. package/templates/.cursor/commands/git/fast-commit.md +45 -0
  63. package/templates/.cursor/commands/git/feature/finish.md +90 -0
  64. package/templates/.cursor/commands/git/feature/publish.md +91 -0
  65. package/templates/.cursor/commands/git/feature/start.md +158 -0
  66. package/templates/.cursor/commands/git/help.md +306 -0
  67. package/templates/.cursor/commands/git/hotfix/finish.md +98 -0
  68. package/templates/.cursor/commands/git/hotfix/start.md +94 -0
  69. package/templates/.cursor/commands/git/init.md +139 -0
  70. package/templates/.cursor/commands/git/release/finish.md +98 -0
  71. package/templates/.cursor/commands/git/release/start.md +95 -0
  72. package/templates/.cursor/commands/git/sync.md +228 -0
  73. package/templates/.cursor/commands/global/help.md +388 -0
  74. package/templates/.cursor/commands/product/analyze-pain-price.md +709 -0
  75. package/templates/.cursor/commands/product/branding.md +460 -0
  76. package/templates/.cursor/commands/product/check.md +48 -0
  77. package/templates/.cursor/commands/product/checklist-sync.md +241 -0
  78. package/templates/.cursor/commands/product/collect.md +96 -0
  79. package/templates/.cursor/commands/product/consolidate-meetings.md +306 -0
  80. package/templates/.cursor/commands/product/convert-to-tasks.md +220 -0
  81. package/templates/.cursor/commands/product/estimate.md +519 -0
  82. package/templates/.cursor/commands/product/extract-meeting.md +241 -0
  83. package/templates/.cursor/commands/product/feature.md +431 -0
  84. package/templates/.cursor/commands/product/help.md +212 -0
  85. package/templates/.cursor/commands/product/light-arch.md +97 -0
  86. package/templates/.cursor/commands/product/presentation.md +189 -0
  87. package/templates/.cursor/commands/product/refine.md +186 -0
  88. package/templates/.cursor/commands/product/spec.md +107 -0
  89. package/templates/.cursor/commands/product/task-check.md +340 -0
  90. package/templates/.cursor/commands/product/task.md +585 -0
  91. package/templates/.cursor/commands/product/transform-consolidated.md +592 -0
  92. package/templates/.cursor/commands/product/validate-task.md +294 -0
  93. package/templates/.cursor/commands/product/warm-up.md +187 -0
  94. package/templates/.cursor/commands/product/whisper.md +325 -0
  95. package/templates/.cursor/commands/test/e2e.md +392 -0
  96. package/templates/.cursor/commands/test/integration.md +523 -0
  97. package/templates/.cursor/commands/test/unit.md +378 -0
@@ -0,0 +1,325 @@
1
+ ---
2
+ name: whisper
3
+ description: |
4
+ Facilita o uso eficiente do agente Whisper para transcrição de áudio.
5
+ Detecta necessidade do usuário e delega para @whisper-specialist com contexto otimizado.
6
+ model: sonnet
7
+
8
+ parameters:
9
+ - name: query
10
+ description: Sua pergunta ou necessidade (instalação, uso, troubleshooting, workflow)
11
+ required: false
12
+ - name: audio_file
13
+ description: Arquivo de áudio para transcrever (opcional)
14
+ required: false
15
+ - name: platform
16
+ description: Plataforma (windows/linux/macos) para comandos específicos
17
+ required: false
18
+
19
+ category: product
20
+ tags:
21
+ - whisper
22
+ - transcription
23
+ - audio-processing
24
+ - meeting-processing
25
+
26
+ version: "4.0.0"
27
+ updated: "2025-12-20"
28
+
29
+ related_commands:
30
+ - /product/extract-meeting
31
+ - /product/consolidate-meetings
32
+ - /product/convert-to-tasks
33
+
34
+ related_agents:
35
+ - whisper-specialist
36
+ - extract-meeting-specialist
37
+ level: intermediate
38
+ context: business
39
+ ---
40
+
41
+ # 🎤 Whisper - Transcrição de Áudio
42
+
43
+ Comando facilitador para usar o agente @whisper-specialist com eficiência máxima.
44
+
45
+ ## 🎯 Objetivo
46
+
47
+ Facilitar o uso do Whisper para transcrição de áudio, integrando com workflows do Sistema Onion:
48
+ - Detectar necessidade do usuário automaticamente
49
+ - Delegar para @whisper-specialist com contexto otimizado
50
+ - Conectar com workflow completo de processamento de reuniões
51
+ - Fornecer comandos prontos para uso
52
+
53
+ ## ⚡ Fluxo de Execução
54
+
55
+ ### Passo 1: Detectar Necessidade do Usuário
56
+
57
+ Analisar `{{query}}` e `{{audio_file}}` para identificar necessidade:
58
+
59
+ **SE `{{audio_file}}` fornecido:**
60
+ - Necessidade: Transcrever arquivo específico
61
+ - Ação: Preparar comando Whisper otimizado
62
+
63
+ **SE `{{query}}` contém palavras-chave:**
64
+ - "instalar", "setup", "configurar" → Instalação
65
+ - "usar", "transcrever", "processar" → Uso
66
+ - "erro", "problema", "não funciona" → Troubleshooting
67
+ - "workflow", "integração", "sistema onion" → Workflow completo
68
+
69
+ **SE nenhum parâmetro:**
70
+ - Mostrar ajuda geral e opções disponíveis
71
+
72
+ ### Passo 2: Delegar para @whisper-specialist
73
+
74
+ Invocar agente com contexto otimizado:
75
+
76
+ ```markdown
77
+ @whisper-specialist
78
+
79
+ {{query_completa_com_contexto}}
80
+
81
+ **Contexto Adicional:**
82
+ - Plataforma: {{platform}} (se fornecido)
83
+ - Arquivo de áudio: {{audio_file}} (se fornecido)
84
+ - Necessidade detectada: {{necessidade_detectada}}
85
+
86
+ **Por favor, forneça:**
87
+ - Comandos específicos para a plataforma
88
+ - Explicação clara dos passos
89
+ - Validação e testes
90
+ - Próximos passos no workflow (se aplicável)
91
+ ```
92
+
93
+ ### Passo 3: Integrar com Workflow do Sistema Onion
94
+
95
+ **SE transcrição foi realizada:**
96
+
97
+ Apresentar workflow completo:
98
+
99
+ ```markdown
100
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
101
+ ✅ TRANSCRIÇÃO CONCLUÍDA
102
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
103
+
104
+ 📄 **Arquivo transcrito:** {{arquivo_txt}}
105
+
106
+ 🔗 **Próximos passos no Sistema Onion:**
107
+
108
+ 1. Extrair conhecimento estruturado:
109
+ /product/extract-meeting source={{arquivo_txt}} level=executive
110
+
111
+ 2. Consolidar múltiplas reuniões:
112
+ /product/consolidate-meetings source=docs/meet/
113
+
114
+ 3. Converter em tasks:
115
+ /product/convert-to-tasks source=docs/meet/consolidation-*.md
116
+
117
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
118
+ ```
119
+
120
+ ## 📤 Output Esperado
121
+
122
+ ### Para Instalação
123
+
124
+ ```
125
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
126
+ 🔧 INSTALAÇÃO WHISPER - {{platform}}
127
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
128
+
129
+ 📋 **Comandos para executar:**
130
+
131
+ {{comandos_específicos_da_plataforma}}
132
+
133
+ ✅ **Validação:**
134
+ {{comando_de_teste}}
135
+
136
+ 💡 **Dica:** Use @whisper-specialist para ajuda detalhada
137
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
138
+ ```
139
+
140
+ ### Para Transcrição
141
+
142
+ ```
143
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
144
+ 🎤 COMANDO WHISPER OTIMIZADO
145
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
146
+
147
+ 📋 **Comando recomendado:**
148
+ {{comando_completo_otimizado}}
149
+
150
+ 📊 **Parâmetros:**
151
+ ∟ Modelo: {{modelo_recomendado}}
152
+ ∟ Idioma: pt (português)
153
+ ∟ Formato: txt (para Sistema Onion)
154
+ ∟ GPU: {{device}} (se disponível)
155
+
156
+ 🔗 **Próximo passo:**
157
+ /product/extract-meeting source={{arquivo_txt}}
158
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
159
+ ```
160
+
161
+ ### Para Troubleshooting
162
+
163
+ ```
164
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
165
+ 🔧 SOLUÇÃO IDENTIFICADA
166
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
167
+
168
+ ⚠️ **Problema:** {{problema_identificado}}
169
+
170
+ ✅ **Solução:**
171
+ {{solução_detalhada}}
172
+
173
+ 📋 **Comandos para executar:**
174
+ {{comandos_de_solução}}
175
+
176
+ 💡 **Prevenção:**
177
+ {{dicas_para_evitar_problema}}
178
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
179
+ ```
180
+
181
+ ## 🎯 Casos de Uso
182
+
183
+ ### Caso 1: Instalação
184
+
185
+ ```bash
186
+ # Detectar plataforma automaticamente ou especificar
187
+ /product/whisper "Como instalar Whisper?" platform=linux
188
+
189
+ # Ou deixar detectar automaticamente
190
+ /product/whisper "Preciso instalar Whisper no Ubuntu"
191
+ ```
192
+
193
+ ### Caso 2: Transcrição Simples
194
+
195
+ ```bash
196
+ # Transcrever arquivo específico
197
+ /product/whisper audio_file=reuniao.mp3
198
+
199
+ # Com pergunta específica
200
+ /product/whisper "Qual melhor modelo para português?" audio_file=reuniao.mp3
201
+ ```
202
+
203
+ ### Caso 3: Workflow Completo
204
+
205
+ ```bash
206
+ # 1. Transcrever
207
+ /product/whisper audio_file=reuniao-28-nov.m4a
208
+
209
+ # 2. Extrair conhecimento (comando gerado automaticamente)
210
+ /product/extract-meeting source=reuniao-28-nov.txt
211
+
212
+ # 3. Consolidar e converter (workflow completo)
213
+ /product/consolidate-meetings source=docs/meet/
214
+ /product/convert-to-tasks source=docs/meet/consolidation-*.md
215
+ ```
216
+
217
+ ### Caso 4: Troubleshooting
218
+
219
+ ```bash
220
+ # Problema específico
221
+ /product/whisper "FFmpeg não encontrado no Windows"
222
+
223
+ # Erro de GPU
224
+ /product/whisper "GPU não detectada" platform=linux
225
+ ```
226
+
227
+ ### Caso 5: Ajuda Geral
228
+
229
+ ```bash
230
+ # Sem parâmetros - mostra ajuda
231
+ /product/whisper
232
+
233
+ # Pergunta geral
234
+ /product/whisper "Como usar Whisper com eficiência?"
235
+ ```
236
+
237
+ ## 🔗 Integração com Sistema Onion
238
+
239
+ ### Workflow Completo Automatizado
240
+
241
+ Este comando facilita o workflow completo:
242
+
243
+ ```bash
244
+ # 1. Transcrever reunião
245
+ /product/whisper audio_file=reuniao.m4a
246
+
247
+ # → Gera: reuniao.txt
248
+
249
+ # 2. Extrair conhecimento (Framework EXTRACT)
250
+ /product/extract-meeting source=reuniao.txt level=executive
251
+
252
+ # → Gera: conhecimento estruturado
253
+
254
+ # 3. Consolidar múltiplas reuniões
255
+ /product/consolidate-meetings source=docs/meet/sprint-planning/
256
+
257
+ # → Gera: documento consolidado
258
+
259
+ # 4. Converter em tasks
260
+ /product/convert-to-tasks source=docs/meet/consolidation-*.md
261
+
262
+ # → Gera: tasks no Task Manager
263
+ ```
264
+
265
+ ### Otimizações Automáticas
266
+
267
+ - **Formato de saída**: Sempre `txt` para melhor integração
268
+ - **Modelo recomendado**: `small` ou `medium` para português (equilíbrio)
269
+ - **GPU**: Detecta e usa automaticamente se disponível
270
+ - **Idioma**: Sempre `pt` para português
271
+
272
+ ## ⚙️ Parâmetros Detalhados
273
+
274
+ ### `query`
275
+ - **Opcional**: Pergunta ou necessidade do usuário
276
+ - **Exemplos**:
277
+ - "Como instalar?"
278
+ - "Melhor modelo para português"
279
+ - "FFmpeg não encontrado"
280
+ - "Workflow completo com Sistema Onion"
281
+
282
+ ### `audio_file`
283
+ - **Opcional**: Caminho para arquivo de áudio
284
+ - **Formatos suportados**: .mp3, .m4a, .wav, .mp4, etc
285
+ - **Quando fornecido**: Prepara comando de transcrição otimizado
286
+
287
+ ### `platform`
288
+ - **Opcional**: windows | linux | macos
289
+ - **Quando não fornecido**: Detecta automaticamente ou pergunta
290
+ - **Uso**: Para comandos específicos de instalação
291
+
292
+ ## 💡 Boas Práticas
293
+
294
+ 1. **Sempre especifique plataforma** para instalação (mais preciso)
295
+ 2. **Forneça arquivo de áudio** quando quiser transcrição direta
296
+ 3. **Use workflow completo** para máximo aproveitamento
297
+ 4. **Consulte @whisper-specialist** para questões técnicas detalhadas
298
+ 5. **Revise transcrição** antes de processar com Framework EXTRACT
299
+
300
+ ## ⚠️ Notas Importantes
301
+
302
+ - **Delegação**: Este comando delega para @whisper-specialist
303
+ - **Knowledge Base**: @whisper-specialist consulta `docs/knowbase/tools/whisper.md`
304
+ - **Workflow**: Sempre sugere próximos passos no Sistema Onion
305
+ - **Plataforma**: Detecta automaticamente ou permite especificar
306
+ - **Otimização**: Comandos gerados são otimizados para português e Sistema Onion
307
+
308
+ ## 🔄 Relacionamentos
309
+
310
+ **Agente Principal:**
311
+ - `@whisper-specialist` - Especialista técnico em Whisper
312
+
313
+ **Comandos Relacionados:**
314
+ - `/product/extract-meeting` - Extrair conhecimento de transcrições
315
+ - `/product/consolidate-meetings` - Consolidar múltiplas reuniões
316
+ - `/product/convert-to-tasks` - Converter em tasks acionáveis
317
+
318
+ **Knowledge Base:**
319
+ - `docs/knowbase/tools/whisper.md` - Conhecimento completo sobre Whisper
320
+
321
+ ---
322
+
323
+ **Versão:** 3.0.0
324
+ **Última atualização:** 2025-12-02
325
+
@@ -0,0 +1,392 @@
1
+ ---
2
+ name: e2e
3
+ description: |
4
+ Gera e executa testes end-to-end automaticamente com detecção de framework.
5
+ Use para criar testes E2E seguindo padrões do projeto e executá-los com gravação.
6
+ model: sonnet
7
+
8
+ parameters:
9
+ - name: feature-name
10
+ description: Nome da feature para testar (ex: "login", "checkout")
11
+ required: true
12
+ - name: --generate
13
+ description: Gera arquivo de teste se não existir
14
+ required: false
15
+ - name: --run
16
+ description: Executa os testes
17
+ required: false
18
+ - name: --headless
19
+ description: Executa sem interface gráfica (default: true)
20
+ required: false
21
+ - name: --record
22
+ description: Grava vídeo/screenshots dos testes
23
+ required: false
24
+ - name: --framework
25
+ description: Framework específico (sobrescreve auto-detecção: cypress|playwright|selenium)
26
+ required: false
27
+
28
+ category: test
29
+ tags:
30
+ - testing
31
+ - e2e-tests
32
+ - test-generation
33
+ - automation
34
+ - cypress
35
+ - playwright
36
+ - recording
37
+
38
+ version: "4.0.0"
39
+ updated: "2025-12-20"
40
+
41
+ related_commands:
42
+ - /test/unit
43
+ - /test/integration
44
+ - /validate/test-strategy/create
45
+ - /engineer/work
46
+
47
+ related_agents:
48
+ - test-engineer
49
+ - test-planner
50
+ level: advanced
51
+ context: technical
52
+ ---
53
+
54
+ # 🎭 Test E2E
55
+
56
+ Gera e executa testes end-to-end automaticamente com detecção inteligente de framework, geração de cenários baseados em features e integração com gravação de vídeo/screenshots.
57
+
58
+ ## 🎯 Objetivo
59
+
60
+ Automatizar o ciclo completo de testes E2E:
61
+ - **Auto-detecção** de framework E2E (Cypress, Playwright, Selenium)
62
+ - **Geração de cenários** baseados no nome da feature (login → valid/invalid credentials, etc.)
63
+ - **Selectors inteligentes** usando data-attributes, semantic selectors, text content
64
+ - **Execução** com suporte a headless mode e gravação
65
+ - **Integração** com pipeline CI/CD existente
66
+
67
+ ## ⚡ Fluxo de Execução
68
+
69
+ ### Passo 1: Validar Feature Name
70
+
71
+ ```bash
72
+ # Validar formato
73
+ if [[ ! "{{feature-name}}" =~ ^[a-z][a-z0-9-]*$ ]]; then
74
+ echo "❌ ERRO: Feature name deve ser kebab-case (ex: login, user-registration)"
75
+ exit 1
76
+ fi
77
+ ```
78
+
79
+ **Validações:**
80
+ ```markdown
81
+ SE feature-name vazio:
82
+ ❌ ERRO: Nome da feature é obrigatório
83
+
84
+ SE formato inválido:
85
+ ❌ ERRO: Use kebab-case (ex: login, checkout-flow)
86
+ ```
87
+
88
+ ### Passo 2: Detectar Framework E2E
89
+
90
+ **Estratégia de Detecção (em ordem de prioridade):**
91
+
92
+ 1. **Verificar configurações:**
93
+ - `cypress.config.{js,ts}` → Cypress detectado
94
+ - `playwright.config.{js,ts}` → Playwright detectado
95
+ - `wdio.conf.{js,ts}` → WebdriverIO/Selenium detectado
96
+ - `package.json` → `cypress`, `@playwright/test`, `selenium-webdriver` em dependencies
97
+
98
+ 2. **Buscar arquivos de teste existentes:**
99
+ - `cypress/e2e/**/*.spec.{js,ts}`
100
+ - `e2e/**/*.spec.{js,ts}` (Playwright)
101
+ - `tests/e2e/**/*.{js,ts}` (Selenium)
102
+
103
+ 3. **Inferir por estrutura:**
104
+ - Diretório `cypress/` → Cypress
105
+ - Diretório `e2e/` com estrutura Playwright → Playwright
106
+ - `selenium` em package.json → Selenium
107
+
108
+ **Output:**
109
+ ```markdown
110
+ ✅ Framework detectado: [cypress|playwright|selenium]
111
+ 📁 Config: [caminho do arquivo de config]
112
+ 🌐 Base URL: [URL detectada do config ou .env]
113
+ ```
114
+
115
+ **Se `--framework` fornecido:** Sobrescreve detecção automática
116
+
117
+ ### Passo 3: Analisar Estrutura de Testes Existente
118
+
119
+ **Buscar:** `**/*.e2e.{js,ts}`, `**/e2e/**/*.spec.{js,ts}`, `cypress/**/*.spec.{js,ts}`
120
+
121
+ **Extrair:** Page objects, nomenclatura, selectors (data-testid/classes/IDs), helpers/fixtures, base URL
122
+
123
+ **Output:** Page objects (Sim/Não), selectors preferidos, base URL, fixtures/helpers
124
+
125
+ ### Passo 4: Gerar Cenários Baseados na Feature
126
+
127
+ **Mapeamento de Features → Cenários:**
128
+
129
+ - **Login:** valid/invalid credentials, empty fields, forgot password, remember me
130
+ - **Checkout:** complete flow, invalid payment, empty cart, shipping options, order summary
131
+ - **User Registration:** valid data, duplicate email, weak password, terms acceptance
132
+ - **Search:** valid query, empty query, special chars, filters, pagination
133
+ - **Genérico:** happy path, invalid input, empty state, edge cases
134
+
135
+ **Output:** Lista de cenários gerados com nomes e descrições
136
+
137
+ ### Passo 5: Verificar Arquivo de Teste Existente
138
+
139
+ **Padrões:** Cypress: `cypress/e2e/{{feature}}.spec.{js,ts}`, Playwright: `e2e/{{feature}}.spec.{js,ts}`, Selenium: `tests/e2e/{{feature}}.test.{js,ts}`
140
+
141
+ **Decisão:** Se existe → continua execução (ou pula geração se --generate). Se não existe → gera (se --generate) ou erro
142
+
143
+ ### Passo 6: Gerar Arquivo de Teste (SE --generate)
144
+
145
+ #### 6.1 Determinar Selectors Inteligentes
146
+
147
+ **Estratégia (ordem de prioridade):**
148
+ 1. Data attributes: `[data-testid]`, `[data-cy]`
149
+ 2. Semantic HTML: `<button>`, `<form>`, `<input type="email">`
150
+ 3. ARIA: `[aria-label]`, `[role]`
151
+ 4. Text content: `contains()`, `getByText()`
152
+ 5. Classes/IDs: último recurso
153
+
154
+ #### 6.2 Gerar Estrutura de Teste
155
+
156
+ **Padrão AAA (Arrange, Act, Assert) por framework:**
157
+
158
+ - **Cypress:** `describe()` + `it()`, `cy.visit()`, `cy.get('[data-testid]')`, `cy.url().should()`
159
+ - **Playwright:** `test.describe()` + `test()`, `page.goto()`, `page.getByTestId()`, `expect().toBeVisible()`
160
+ - **Selenium:** `describe()` + `it()`, `browser.url()`, `$('[data-testid]')`, `expect().toHaveUrlContaining()`
161
+
162
+ **Estrutura base:** beforeEach (visit), testes para happy path, error handling, edge cases
163
+
164
+ #### 6.3 Adicionar Page Objects (se padrão existir)
165
+
166
+ **Se projeto usa page objects:** Gerar classe com getters para elementos e métodos para ações (visit, submitForm, etc.)
167
+
168
+ #### 6.4 Criar Arquivo de Teste
169
+
170
+ ```bash
171
+ write {{test-file-path}} [conteúdo gerado]
172
+ ```
173
+
174
+ **Validação:**
175
+ ```markdown
176
+ ✅ Arquivo gerado: {{test-file-path}}
177
+ 📊 Cenários: [N] testes
178
+ ∟ Happy path: [N]
179
+ ∟ Error handling: [N]
180
+ ∟ Edge cases: [N]
181
+ ```
182
+
183
+ ### Passo 7: Executar Testes (SE --run)
184
+
185
+ #### 7.1 Preparar Comando de Execução
186
+
187
+ **Comandos por framework:**
188
+
189
+ - **Cypress:** `npx cypress run --spec "cypress/e2e/{{feature}}.spec.ts" [--headless] [--record]` ou `pnpm cypress run`
190
+ - **Playwright:** `npx playwright test e2e/{{feature}}.spec.ts [--headed=false] [--video=on]` ou `pnpm playwright test`
191
+ - **Selenium:** `npx wdio run wdio.conf.ts --spec tests/e2e/{{feature}}.test.ts [--headless]`
192
+
193
+ #### 7.2 Construir Comando Final
194
+
195
+ ```markdown
196
+ **Comando base:** [comando do framework]
197
+
198
+ **Flags:**
199
+ SE --headless não fornecido OU --headless=true:
200
+ + flag headless (default: true)
201
+
202
+ SE --headless=false:
203
+ + flag headed (abre browser)
204
+
205
+ SE --record:
206
+ + flag de gravação (vídeo/screenshots)
207
+ ```
208
+
209
+ #### 7.3 Executar Testes
210
+
211
+ ```bash
212
+ run_terminal_cmd [comando construído]
213
+ ```
214
+
215
+ **Capturar output:**
216
+ - Resultado dos testes (pass/fail)
217
+ - Screenshots/vídeos (se --record)
218
+ - Erros e stack traces
219
+ - Tempo de execução
220
+ - Artifacts gerados
221
+
222
+ ### Passo 8: Apresentar Resultados
223
+
224
+ ## 📤 Output Esperado
225
+
226
+ ```
227
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
228
+ ✅ TESTES E2E - {{feature-name}}
229
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
230
+
231
+ 🔍 Detecção:
232
+ ∟ Framework: [cypress|playwright|selenium]
233
+ ∟ Config: [caminho do arquivo de config]
234
+ ∟ Base URL: [URL]
235
+ ∟ Headless: [true|false]
236
+
237
+ 📊 Análise de Padrões:
238
+ ∟ Page objects: [✅ Sim | ❌ Não]
239
+ ∟ Selectors: [data-testid|semantic|classes]
240
+ ∟ Estrutura existente: [encontrada|nova]
241
+
242
+ 📝 Arquivo de Teste:
243
+ ∟ Status: [✅ Existente | ✅ Gerado | ❌ Não encontrado]
244
+ ∟ Caminho: {{test-file-path}}
245
+ ∟ Cenários: [N] testes
246
+ ├─ Happy path: [N]
247
+ ├─ Error handling: [N]
248
+ └─ Edge cases: [N]
249
+
250
+ 🧪 Execução:
251
+ ∟ Comando: [comando executado]
252
+ ∟ Status: [✅ Passou | ❌ Falhou | ⚠️ Parcial]
253
+ ∟ Testes executados: [X/Y] passaram
254
+ ∟ Tempo: [X]s
255
+
256
+ 📹 Gravação (se --record):
257
+ ∟ Vídeos: [caminho]
258
+ ∟ Screenshots: [caminho]
259
+ ∟ Artifacts: [lista]
260
+
261
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
262
+
263
+ 🚀 Próximos Passos:
264
+ 1. Revisar testes gerados e ajustar selectors
265
+ 2. Executar novamente: /test/e2e {{feature-name}} --run
266
+ 3. Integrar no CI/CD: /validate/test-strategy/create
267
+ 4. Adicionar mais cenários conforme necessário
268
+
269
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
270
+ ```
271
+
272
+ ## 📋 Exemplos de Uso
273
+
274
+ **1. Gerar e executar com gravação:**
275
+ ```bash
276
+ /test/e2e login --generate --run --record
277
+ ```
278
+ → Detecta framework, gera `login.spec.ts` com cenários de login, executa com vídeo
279
+
280
+ **2. Executar em modo headed:**
281
+ ```bash
282
+ /test/e2e checkout --run --headless false
283
+ ```
284
+ → Executa `checkout.spec.ts` com browser visível
285
+
286
+ **3. Apenas gerar teste:**
287
+ ```bash
288
+ /test/e2e user-registration --generate
289
+ ```
290
+ → Gera `user-registration.spec.ts` com cenários de registro, não executa
291
+
292
+ **4. Executar teste existente:**
293
+ ```bash
294
+ /test/e2e search --run --record
295
+ ```
296
+ → Executa `search.spec.ts` existente com gravação, não gera novo arquivo
297
+
298
+ ## ⚙️ Parâmetros Detalhados
299
+
300
+ | Parâmetro | Tipo | Obrigatório | Descrição |
301
+ |-----------|------|-------------|-----------|
302
+ | `feature-name` | string | ✅ | Nome da feature em kebab-case |
303
+ | `--generate` | flag | ❌ | Gera arquivo de teste se não existir |
304
+ | `--run` | flag | ❌ | Executa os testes |
305
+ | `--headless` | boolean | ❌ | Executa sem interface (default: true) |
306
+ | `--record` | flag | ❌ | Grava vídeo/screenshots |
307
+ | `--framework` | string | ❌ | Framework específico (sobrescreve auto-detecção) |
308
+
309
+ ## 🔗 Comandos Relacionados
310
+
311
+ - `/test/unit` - Testes unitários (White-box)
312
+ - `/test/integration` - Testes de integração (Grey-box)
313
+ - `/validate/test-strategy/create` - Criar estratégia completa de testes
314
+ - `/engineer/work` - Continuar desenvolvimento
315
+
316
+ ## ⚠️ Validações e Regras
317
+
318
+ ### Validações Obrigatórias
319
+
320
+ 1. **Feature name deve ser válido:**
321
+ ```markdown
322
+ SE feature-name vazio:
323
+ ❌ ERRO: Nome da feature é obrigatório
324
+
325
+ SE formato inválido:
326
+ ❌ ERRO: Use kebab-case (ex: login, checkout-flow)
327
+ ```
328
+
329
+ 2. **Framework deve ser detectável ou fornecido:**
330
+ ```markdown
331
+ SE nenhum framework detectado E --framework não fornecido:
332
+ ❌ ERRO: Não foi possível detectar framework E2E
333
+ 💡 Instale Cypress/Playwright ou use --framework [nome]
334
+ ```
335
+
336
+ 3. **Arquivo de teste deve existir para execução:**
337
+ ```markdown
338
+ SE --run fornecido E arquivo não existe E --generate não fornecido:
339
+ ❌ ERRO: Arquivo de teste não encontrado
340
+ 💡 Use --generate para criar automaticamente
341
+ ```
342
+
343
+ ### Regras de Negócio
344
+
345
+ 1. **Auto-detecção tem prioridade** sobre --framework, exceto se fornecido
346
+ 2. **Geração segue padrões** do projeto (analisa testes existentes)
347
+ 3. **Selectors inteligentes** priorizam data-attributes e semantic HTML
348
+ 4. **Headless é default** (true) para CI/CD, use `--headless false` para debug
349
+ 5. **Gravação** sempre captura em falhas, `--record` habilita em sucessos também
350
+
351
+ ## 🔧 Suporte por Framework
352
+
353
+ | Framework | Headless | Gravação | Page Objects | CI/CD |
354
+ |-----------|----------|----------|--------------|-------|
355
+ | Cypress | ✅ | ✅ | ✅ | ✅ |
356
+ | Playwright | ✅ | ✅ | ✅ | ✅ |
357
+ | Selenium | ✅ | ⚠️ | ✅ | ✅ |
358
+
359
+ ## 📚 Referências
360
+
361
+ - **Agente de Testes:** @test-engineer
362
+ - **Framework de Testes:** `docs/knowbase/frameworks/framework_testes.md`
363
+ - **Cypress Docs:** https://docs.cypress.io
364
+ - **Playwright Docs:** https://playwright.dev
365
+
366
+ ## ⚠️ Notas Importantes
367
+
368
+ - **Auto-detecção inteligente:** Analisa configurações e estrutura do projeto
369
+ - **Geração conservadora:** Cria testes básicos, desenvolvedor deve expandir
370
+ - **Selectors robustos:** Prioriza data-attributes para estabilidade
371
+ - **CI/CD ready:** Headless por padrão, gravação opcional
372
+ - **Page objects:** Detecta e segue padrão se existir no projeto
373
+
374
+ ---
375
+
376
+ **Versão:** 3.0.0
377
+ **Última atualização:** 2025-12-03
378
+ **Mantido por:** Sistema Onion
379
+
380
+
381
+
382
+ ---
383
+
384
+ ## 📚 Pré-requisitos
385
+
386
+ Domine comandos starter antes de usar este comando intermediate/advanced.
387
+
388
+ Consulte os comandos help para ver hierarquia completa e comandos relacionados:
389
+ - /business/help --level=starter
390
+ - /technical/help --level=starter
391
+
392
+ 💡 Comandos intermediate/advanced assumem familiaridade com workflows básicos do contexto.