@onion-ai/cli 1.0.0-beta.1

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 (220) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +529 -0
  3. package/bin/onion.js +6 -0
  4. package/framework/CLAUDE.md +45 -0
  5. package/framework/VERSION +1 -0
  6. package/framework/agents/compliance/iso-22301-specialist.md +985 -0
  7. package/framework/agents/compliance/iso-27001-specialist.md +713 -0
  8. package/framework/agents/compliance/pmbok-specialist.md +739 -0
  9. package/framework/agents/compliance/security-information-master.md +907 -0
  10. package/framework/agents/compliance/soc2-specialist.md +889 -0
  11. package/framework/agents/deployment/docker-specialist.md +1192 -0
  12. package/framework/agents/development/c4-architecture-specialist.md +745 -0
  13. package/framework/agents/development/c4-documentation-specialist.md +695 -0
  14. package/framework/agents/development/clickup-specialist.md +396 -0
  15. package/framework/agents/development/cursor-specialist.md +277 -0
  16. package/framework/agents/development/docs-reverse-engineer.md +417 -0
  17. package/framework/agents/development/gamma-api-specialist.md +1168 -0
  18. package/framework/agents/development/gitflow-specialist.md +1206 -0
  19. package/framework/agents/development/linux-security-specialist.md +675 -0
  20. package/framework/agents/development/mermaid-specialist.md +515 -0
  21. package/framework/agents/development/nodejs-specialist.md +672 -0
  22. package/framework/agents/development/nx-migration-specialist.md +866 -0
  23. package/framework/agents/development/nx-monorepo-specialist.md +618 -0
  24. package/framework/agents/development/postgres-specialist.md +1123 -0
  25. package/framework/agents/development/react-developer.md +131 -0
  26. package/framework/agents/development/runflow-specialist.md +277 -0
  27. package/framework/agents/development/system-documentation-orchestrator.md +1387 -0
  28. package/framework/agents/development/task-specialist.md +677 -0
  29. package/framework/agents/git/branch-code-reviewer.md +225 -0
  30. package/framework/agents/git/branch-documentation-writer.md +161 -0
  31. package/framework/agents/git/branch-metaspec-checker.md +67 -0
  32. package/framework/agents/git/branch-test-planner.md +176 -0
  33. package/framework/agents/meta/agent-creator-specialist.md +1266 -0
  34. package/framework/agents/meta/command-creator-specialist.md +1676 -0
  35. package/framework/agents/meta/metaspec-gate-keeper.md +240 -0
  36. package/framework/agents/meta/onion.md +824 -0
  37. package/framework/agents/product/branding-positioning-specialist.md +1029 -0
  38. package/framework/agents/product/extract-meeting-specialist.md +394 -0
  39. package/framework/agents/product/meeting-consolidator.md +482 -0
  40. package/framework/agents/product/pain-price-specialist.md +508 -0
  41. package/framework/agents/product/presentation-orchestrator.md +1190 -0
  42. package/framework/agents/product/product-agent.md +201 -0
  43. package/framework/agents/product/story-points-framework-specialist.md +538 -0
  44. package/framework/agents/product/storytelling-business-specialist.md +890 -0
  45. package/framework/agents/research/research-agent.md +292 -0
  46. package/framework/agents/review/code-reviewer.md +154 -0
  47. package/framework/agents/review/corporate-compliance-specialist.md +370 -0
  48. package/framework/agents/testing/test-agent.md +424 -0
  49. package/framework/agents/testing/test-engineer.md +294 -0
  50. package/framework/agents/testing/test-planner.md +117 -0
  51. package/framework/commands/common/prompts/README.md +208 -0
  52. package/framework/commands/common/prompts/clickup-patterns.md +144 -0
  53. package/framework/commands/common/prompts/code-review-checklist.md +168 -0
  54. package/framework/commands/common/prompts/git-workflow-patterns.md +235 -0
  55. package/framework/commands/common/prompts/output-formats.md +240 -0
  56. package/framework/commands/common/prompts/technical.md +194 -0
  57. package/framework/commands/common/templates/abstraction-template.md +399 -0
  58. package/framework/commands/common/templates/agent-template.md +353 -0
  59. package/framework/commands/common/templates/business_context_template.md +748 -0
  60. package/framework/commands/common/templates/command-template.md +273 -0
  61. package/framework/commands/common/templates/technical_context_template.md +526 -0
  62. package/framework/commands/design/screen-spec.md +505 -0
  63. package/framework/commands/development/runflow-dev.md +465 -0
  64. package/framework/commands/docs/build-business-docs.md +299 -0
  65. package/framework/commands/docs/build-compliance-docs.md +143 -0
  66. package/framework/commands/docs/build-index.md +119 -0
  67. package/framework/commands/docs/build-tech-docs.md +221 -0
  68. package/framework/commands/docs/docs-health.md +141 -0
  69. package/framework/commands/docs/help.md +278 -0
  70. package/framework/commands/docs/refine-vision.md +25 -0
  71. package/framework/commands/docs/reverse-consolidate.md +158 -0
  72. package/framework/commands/docs/sync-sessions.md +354 -0
  73. package/framework/commands/docs/validate-docs.md +157 -0
  74. package/framework/commands/engineer/bump.md +29 -0
  75. package/framework/commands/engineer/docs.md +11 -0
  76. package/framework/commands/engineer/hotfix.md +183 -0
  77. package/framework/commands/engineer/plan.md +85 -0
  78. package/framework/commands/engineer/pr-update.md +219 -0
  79. package/framework/commands/engineer/pr.md +117 -0
  80. package/framework/commands/engineer/pre-pr.md +81 -0
  81. package/framework/commands/engineer/start.md +254 -0
  82. package/framework/commands/engineer/validate-phase-sync.md +134 -0
  83. package/framework/commands/engineer/warm-up.md +20 -0
  84. package/framework/commands/engineer/work.md +155 -0
  85. package/framework/commands/f/company-context-extractor.md +93 -0
  86. package/framework/commands/f/process-meetings.md +103 -0
  87. package/framework/commands/git/README.md +682 -0
  88. package/framework/commands/git/code-review.md +213 -0
  89. package/framework/commands/git/fast-commit.md +43 -0
  90. package/framework/commands/git/feature/finish.md +88 -0
  91. package/framework/commands/git/feature/publish.md +89 -0
  92. package/framework/commands/git/feature/start.md +172 -0
  93. package/framework/commands/git/help.md +100 -0
  94. package/framework/commands/git/hotfix/finish.md +96 -0
  95. package/framework/commands/git/hotfix/start.md +92 -0
  96. package/framework/commands/git/init.md +111 -0
  97. package/framework/commands/git/release/finish.md +96 -0
  98. package/framework/commands/git/release/start.md +93 -0
  99. package/framework/commands/git/sync.md +199 -0
  100. package/framework/commands/meta/all-tools.md +58 -0
  101. package/framework/commands/meta/analyze-complex-problem.md +186 -0
  102. package/framework/commands/meta/create-abstraction.md +882 -0
  103. package/framework/commands/meta/create-agent-express.md +98 -0
  104. package/framework/commands/meta/create-agent.md +210 -0
  105. package/framework/commands/meta/create-command.md +203 -0
  106. package/framework/commands/meta/create-knowledge-base.md +143 -0
  107. package/framework/commands/meta/create-task-structure.md +150 -0
  108. package/framework/commands/meta/setup-integration.md +274 -0
  109. package/framework/commands/onion.md +169 -0
  110. package/framework/commands/product/README.md +249 -0
  111. package/framework/commands/product/analyze-pain-price.md +694 -0
  112. package/framework/commands/product/branding.md +458 -0
  113. package/framework/commands/product/check.md +46 -0
  114. package/framework/commands/product/checklist-sync.md +239 -0
  115. package/framework/commands/product/collect.md +95 -0
  116. package/framework/commands/product/consolidate-meetings.md +291 -0
  117. package/framework/commands/product/estimate.md +511 -0
  118. package/framework/commands/product/extract-meeting.md +226 -0
  119. package/framework/commands/product/feature.md +416 -0
  120. package/framework/commands/product/light-arch.md +82 -0
  121. package/framework/commands/product/presentation.md +174 -0
  122. package/framework/commands/product/refine.md +161 -0
  123. package/framework/commands/product/spec.md +79 -0
  124. package/framework/commands/product/task-check.md +378 -0
  125. package/framework/commands/product/task.md +603 -0
  126. package/framework/commands/product/validate-task.md +325 -0
  127. package/framework/commands/product/warm-up.md +24 -0
  128. package/framework/commands/quick/analisys.md +17 -0
  129. package/framework/commands/test/e2e.md +377 -0
  130. package/framework/commands/test/integration.md +508 -0
  131. package/framework/commands/test/unit.md +381 -0
  132. package/framework/commands/validate/collab/pair-testing.md +657 -0
  133. package/framework/commands/validate/collab/three-amigos.md +534 -0
  134. package/framework/commands/validate/qa-points/estimate.md +660 -0
  135. package/framework/commands/validate/test-strategy/analyze.md +1201 -0
  136. package/framework/commands/validate/test-strategy/create.md +411 -0
  137. package/framework/commands/validate/workflow.md +370 -0
  138. package/framework/commands/warm-up.md +20 -0
  139. package/framework/docs/architecture/acoplamento-clickup-problema-analise.md +468 -0
  140. package/framework/docs/architecture/desacoplamento-roadmap.md +364 -0
  141. package/framework/docs/architecture/validacao-fase-1.md +235 -0
  142. package/framework/docs/c4/c4-detection-rules.md +395 -0
  143. package/framework/docs/c4/c4-documentation-templates.md +579 -0
  144. package/framework/docs/c4/c4-mermaid-patterns.md +331 -0
  145. package/framework/docs/c4/c4-templates.md +256 -0
  146. package/framework/docs/clickup/clickup-acceptance-criteria-strategy.md +329 -0
  147. package/framework/docs/clickup/clickup-auto-update-strategy.md +340 -0
  148. package/framework/docs/clickup/clickup-comment-formatter.md +239 -0
  149. package/framework/docs/clickup/clickup-description-fix.md +384 -0
  150. package/framework/docs/clickup/clickup-dual-comment-strategy.md +528 -0
  151. package/framework/docs/clickup/clickup-formatting.md +302 -0
  152. package/framework/docs/clickup/separador-tamanho-otimizado.md +258 -0
  153. package/framework/docs/engineer/pre-pr-acceptance-validation.md +256 -0
  154. package/framework/docs/onion/ESPERANTO.md +293 -0
  155. package/framework/docs/onion/agents-reference.md +832 -0
  156. package/framework/docs/onion/clickup-integration.md +780 -0
  157. package/framework/docs/onion/commands-guide.md +924 -0
  158. package/framework/docs/onion/engineering-flows.md +900 -0
  159. package/framework/docs/onion/getting-started.md +803 -0
  160. package/framework/docs/onion/maintenance-checklist.md +421 -0
  161. package/framework/docs/onion/naming-conventions.md +286 -0
  162. package/framework/docs/onion/practical-examples.md +854 -0
  163. package/framework/docs/product/story-points-integration.md +269 -0
  164. package/framework/docs/product/story-points-validation.md +237 -0
  165. package/framework/docs/reviews/task-manager-docs-review-2025-11-24.md +184 -0
  166. package/framework/docs/strategies/clickup-comment-patterns.md +766 -0
  167. package/framework/docs/strategies/clickup-integration-tests.md +602 -0
  168. package/framework/docs/strategies/clickup-mcp-wrappers-tests.md +888 -0
  169. package/framework/docs/strategies/clickup-regression-tests.md +587 -0
  170. package/framework/docs/strategies/visual-patterns.md +315 -0
  171. package/framework/docs/templates/README.md +649 -0
  172. package/framework/docs/templates/adr-template.md +226 -0
  173. package/framework/docs/templates/analysis-template.md +280 -0
  174. package/framework/docs/templates/execution-plan-template.md +430 -0
  175. package/framework/docs/templates/guide-template.md +367 -0
  176. package/framework/docs/templates/phase-execution-prompt-template.md +504 -0
  177. package/framework/docs/templates/reference-template.md +522 -0
  178. package/framework/docs/templates/solution-template.md +390 -0
  179. package/framework/docs/tools/README.md +356 -0
  180. package/framework/docs/tools/agents.md +365 -0
  181. package/framework/docs/tools/commands.md +669 -0
  182. package/framework/docs/tools/cursor.md +539 -0
  183. package/framework/docs/tools/mcps.md +937 -0
  184. package/framework/docs/tools/rules.md +461 -0
  185. package/framework/rules/language-and-documentation.mdc +371 -0
  186. package/framework/rules/nestjs-controllers.md +83 -0
  187. package/framework/rules/nestjs-dtos.md +255 -0
  188. package/framework/rules/nestjs-modules.md +141 -0
  189. package/framework/rules/nestjs-services.md +230 -0
  190. package/framework/rules/nx-rules.mdc +41 -0
  191. package/framework/rules/onion-patterns.mdc +197 -0
  192. package/framework/skills/codebase-visualizer/SKILL.md +26 -0
  193. package/framework/skills/codebase-visualizer/scripts/visualize.py +131 -0
  194. package/framework/skills/collect/SKILL.md +84 -0
  195. package/framework/skills/create-rule/SKILL.md +152 -0
  196. package/framework/skills/db-schema-visualizer/SKILL.md +49 -0
  197. package/framework/skills/db-schema-visualizer/scripts/visualize.py +1191 -0
  198. package/framework/skills/sync-meetings/SKILL.md +239 -0
  199. package/framework/utils/clickup-mcp-wrappers.md +744 -0
  200. package/framework/utils/date-time-standards.md +200 -0
  201. package/framework/utils/task-manager/README.md +94 -0
  202. package/framework/utils/task-manager/adapters/asana.md +377 -0
  203. package/framework/utils/task-manager/adapters/clickup.md +467 -0
  204. package/framework/utils/task-manager/adapters/linear.md +421 -0
  205. package/framework/utils/task-manager/detector.md +299 -0
  206. package/framework/utils/task-manager/factory.md +363 -0
  207. package/framework/utils/task-manager/interface.md +248 -0
  208. package/framework/utils/task-manager/types.md +409 -0
  209. package/package.json +41 -0
  210. package/src/cli.js +73 -0
  211. package/src/commands/doctor.js +191 -0
  212. package/src/commands/init.js +287 -0
  213. package/src/commands/install.js +261 -0
  214. package/src/commands/list.js +152 -0
  215. package/src/commands/uninstall.js +90 -0
  216. package/src/commands/update.js +26 -0
  217. package/src/utils/fs.js +89 -0
  218. package/src/utils/log.js +35 -0
  219. package/src/utils/paths.js +32 -0
  220. package/src/utils/prompt.js +76 -0
@@ -0,0 +1,381 @@
1
+ ---
2
+ name: unit
3
+ description: |
4
+ Gera e executa testes unitários automaticamente com detecção de framework.
5
+ Use para criar testes seguindo padrões do projeto e executá-los com coverage.
6
+ model: sonnet
7
+
8
+ parameters:
9
+ - name: file-path
10
+ description: Caminho do arquivo fonte para testar (obrigatório)
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 após gerar/validar
17
+ required: false
18
+ - name: --coverage
19
+ description: Inclui relatório de coverage na execução
20
+ required: false
21
+ - name: --watch
22
+ description: Modo watch para re-execução automática
23
+ required: false
24
+ - name: --framework
25
+ description: Framework específico (sobrescreve auto-detecção: jest|vitest|pytest|junit)
26
+ required: false
27
+
28
+ category: test
29
+ tags:
30
+ - testing
31
+ - unit-tests
32
+ - test-generation
33
+ - code-quality
34
+ - automation
35
+ - coverage
36
+
37
+ version: "3.0.0"
38
+ updated: "2025-11-24"
39
+
40
+ related_commands:
41
+ - /test/integration
42
+ - /test/e2e
43
+ - /validate/test-strategy/create
44
+ - /engineer/work
45
+ - /git/code-review
46
+
47
+ related_agents:
48
+ - test-engineer
49
+ - test-planner
50
+ ---
51
+
52
+ # 🧪 Test Unit
53
+
54
+ Gera e executa testes unitários automaticamente com detecção inteligente de framework, análise de código e integração com ferramentas de coverage.
55
+
56
+ ## 🎯 Objetivo
57
+
58
+ Automatizar o ciclo completo de testes unitários:
59
+
60
+ - **Auto-detecção** de framework de teste baseado em configurações do projeto
61
+ - **Análise de código** para identificar funções/métodos públicos testáveis
62
+ - **Geração automática** de arquivos de teste seguindo padrões do projeto
63
+ - **Execução inteligente** com suporte a coverage e watch mode
64
+ - **Integração** com pipeline de testes existente
65
+
66
+ ## ⚡ Fluxo de Execução
67
+
68
+ ### Passo 1: Validar Arquivo Fonte
69
+
70
+ ```bash
71
+ # Verificar se arquivo existe
72
+ if [ ! -f "{{file-path}}" ]; then
73
+ echo "❌ ERRO: Arquivo não encontrado: {{file-path}}"
74
+ exit 1
75
+ fi
76
+
77
+ # Extrair informações do arquivo
78
+ - Extensão: .js, .ts, .tsx, .py, .java, etc.
79
+ - Diretório base
80
+ - Nome do arquivo (sem extensão)
81
+ ```
82
+
83
+ **Validações:**
84
+
85
+ ```markdown
86
+ SE arquivo não existe:
87
+ ❌ ERRO: Arquivo não encontrado: {{file-path}}
88
+ 💡 Verifique o caminho e tente novamente
89
+
90
+ SE arquivo não é código fonte suportado:
91
+ ⚠️ AVISO: Tipo de arquivo pode não ser suportado
92
+ Tipos suportados: .js, .ts, .tsx, .jsx, .py, .java, .go, .rs
93
+ ```
94
+
95
+ ### Passo 2: Detectar Framework de Teste
96
+
97
+ **Estratégia de Detecção (em ordem de prioridade):**
98
+
99
+ 1. **Verificar configurações:** `package.json` (Jest/Vitest), `pytest.ini` (PyTest), `pom.xml`/`build.gradle` (JUnit), `go.mod` (Go), `Cargo.toml` (Rust)
100
+ 2. **Buscar arquivos de teste existentes:** `**/*.test.{js,ts}`, `**/test_*.py`, `**/*_test.go`, `**/*Test.java`
101
+ 3. **Inferir por linguagem:** Jest/Vitest (JS/TS), PyTest (Python), JUnit (Java), testing (Go), cargo test (Rust)
102
+
103
+ **Output:**
104
+
105
+ ```markdown
106
+ ✅ Framework: [jest|vitest|pytest|junit|go-test|rust-test]
107
+ 📁 Config: [caminho]
108
+ 📦 Package manager: [npm|pnpm|yarn|pip|maven|gradle|cargo]
109
+ ```
110
+
111
+ **Se `--framework` fornecido:** Sobrescreve detecção automática
112
+
113
+ ### Passo 3: Analisar Código Fonte
114
+
115
+ **Objetivo:** Identificar funções/métodos públicos que precisam de testes.
116
+
117
+ #### 3.1 Ler Arquivo Fonte
118
+
119
+ ```bash
120
+ read_file {{file-path}}
121
+ ```
122
+
123
+ #### 3.2 Extrair Funções/Métodos Públicos
124
+
125
+ **Padrões por linguagem:**
126
+
127
+ - **JS/TS:** `export function/const/class`, `export default`
128
+ - **Python:** `def nome_funcao` (sem `_` inicial), classes públicas
129
+ - **Java:** `public methods`, `@Test` annotations
130
+ - **Go:** `func NomeFuncao` (maiúscula inicial)
131
+ - **Rust:** `pub fn`, `pub struct`, `impl` públicos
132
+
133
+ #### 3.3 Identificar Dependências Externas
134
+
135
+ - Imports/requires externos, APIs, arquivos/DB, dependências para mocks
136
+
137
+ **Output da Análise:**
138
+
139
+ ```markdown
140
+ 📊 Análise de Código:
141
+ ∟ Funções públicas encontradas: [N]
142
+ ∟ Classes encontradas: [N]
143
+ ∟ Dependências externas: [lista]
144
+ ∟ Complexidade estimada: [baixa|média|alta]
145
+ ```
146
+
147
+ ### Passo 4: Verificar Arquivo de Teste Existente
148
+
149
+ **Padrões de nomenclatura:**
150
+
151
+ - **Jest/Vitest:** `{{file}}.test.{js,ts,tsx}`
152
+ - **PyTest:** `test_{{file}}.py` ou `tests/test_{{file}}.py`
153
+ - **JUnit:** `{{Class}}Test.java` em `src/test/`
154
+ - **Go:** `{{file}}_test.go`
155
+ - **Rust:** `#[cfg(test)]` no mesmo arquivo
156
+
157
+ **Decisão:**
158
+
159
+ ```markdown
160
+ SE arquivo existe:
161
+ ✅ Encontrado: [caminho]
162
+ SE --generate: ⚠️ Pula geração, continua execução
163
+ SENÃO: Continua execução
164
+
165
+ SE não existe:
166
+ SE --generate: → Gerar (Passo 5)
167
+ SENÃO: ❌ ERRO: Use --generate para criar
168
+ ```
169
+
170
+ ### Passo 5: Gerar Arquivo de Teste (SE --generate)
171
+
172
+ **Estratégia:**
173
+
174
+ 1. **Ler padrões existentes:** Buscar `**/*.test.{js,ts}`, `**/test_*.py` para extrair estrutura, imports, nomenclatura
175
+ 2. **Gerar testes base:** Padrão AAA (Arrange, Act, Assert) para cada função pública:
176
+ - Happy path: entrada válida → saída esperada
177
+ - Edge cases: null, vazios, limites
178
+ - Error handling: entradas inválidas → exceções
179
+ 3. **Configurar mocks:** Para dependências externas (Jest: `jest.mock()`, Vitest: `vi.mock()`)
180
+ 4. **Criar arquivo:** `write {{test-file-path}}`
181
+
182
+ **Exemplo estrutura (Jest/Vitest):**
183
+
184
+ ```typescript
185
+ describe('nomeFuncao', () => {
186
+ test('should return expected result with valid input', () => {
187
+ const result = nomeFuncao('valid input');
188
+ expect(result).toBe('expected output');
189
+ });
190
+ test('should handle edge case', () => {
191
+ expect(() => nomeFuncao(null)).toThrow();
192
+ });
193
+ });
194
+ ```
195
+
196
+ **Validação:** ✅ Arquivo gerado: {{test-file-path}}, [N] testes (happy path: X, edge: Y, errors: Z)
197
+
198
+ ### Passo 6: Executar Testes (SE --run)
199
+
200
+ **Comandos por framework:**
201
+
202
+ - **Jest:** `npx jest {{test-file}} [--coverage] [--watch]` ou `pnpm jest`
203
+ - **Vitest:** `npx vitest [run] {{test-file}} [--coverage]` ou `pnpm vitest`
204
+ - **PyTest:** `pytest {{test-file}} [--cov={{dir}} --cov-report=html]` ou `ptw` (watch)
205
+ - **JUnit:** `mvn test -Dtest={{Class}}` ou `./gradlew test --tests {{Class}}`
206
+ - **Go:** `go test ./{{pkg}} [-v] [-cover]`
207
+ - **Rust:** `cargo test {{name}}`
208
+
209
+ **Construir comando:** Base + `--coverage` (se flag) + `--watch` (se flag) + execução única (se não watch)
210
+
211
+ **Executar:** `run_terminal_cmd [comando]` e capturar: resultados (pass/fail), coverage (se aplicável), erros, tempo
212
+
213
+ ### Passo 7: Apresentar Resultados
214
+
215
+ ## 📤 Output Esperado
216
+
217
+ ```
218
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
219
+ ✅ TESTES UNITÁRIOS - {{file-path}}
220
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
221
+
222
+ 🔍 Detecção:
223
+ ∟ Framework: [jest|vitest|pytest|junit|go-test|rust-test]
224
+ ∟ Config: [caminho do arquivo de config]
225
+ ∟ Package manager: [npm|pnpm|yarn|pip|maven|gradle|cargo]
226
+
227
+ 📊 Análise de Código:
228
+ ∟ Arquivo fonte: {{file-path}}
229
+ ∟ Funções públicas: [N]
230
+ ∟ Classes: [N]
231
+ ∟ Dependências externas: [lista]
232
+ ∟ Complexidade: [baixa|média|alta]
233
+
234
+ 📝 Arquivo de Teste:
235
+ ∟ Status: [✅ Existente | ✅ Gerado | ❌ Não encontrado]
236
+ ∟ Caminho: {{test-file-path}}
237
+ ∟ Testes: [N] casos de teste
238
+ ├─ Happy path: [N]
239
+ ├─ Edge cases: [N]
240
+ └─ Error handling: [N]
241
+
242
+ 🧪 Execução:
243
+ ∟ Comando: [comando executado]
244
+ ∟ Status: [✅ Passou | ❌ Falhou | ⚠️ Parcial]
245
+ ∟ Testes executados: [X/Y] passaram
246
+ ∟ Tempo: [X]s
247
+
248
+ 📈 Coverage (se --coverage):
249
+ ∟ Statements: [X]%
250
+ ∟ Branches: [X]%
251
+ ∟ Functions: [X]%
252
+ ∟ Lines: [X]%
253
+ ∟ Arquivo: [caminho do relatório]
254
+
255
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
256
+
257
+ 🚀 Próximos Passos:
258
+ 1. Revisar testes gerados e adicionar casos específicos
259
+ 2. Executar novamente: /test/unit {{file-path}} --run
260
+ 3. Integrar no pipeline: /validate/test-strategy/create
261
+ 4. Code review: /git/code-review
262
+
263
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
264
+ ```
265
+
266
+ ## 📋 Exemplos de Uso
267
+
268
+ **1. Gerar e executar com coverage:**
269
+
270
+ ```bash
271
+ /test/unit src/utils/validation.js --generate --run --coverage
272
+ ```
273
+
274
+ → Detecta framework, analisa código, gera `validation.test.js`, executa com coverage
275
+
276
+ **2. Apenas gerar teste:**
277
+
278
+ ```bash
279
+ /test/unit app/models/user.py --generate --framework pytest
280
+ ```
281
+
282
+ → Força PyTest, gera `test_user.py`, não executa
283
+
284
+ **3. Executar com watch:**
285
+
286
+ ```bash
287
+ /test/unit components/Button.tsx --run --watch
288
+ ```
289
+
290
+ → Detecta framework, executa `Button.test.tsx` em modo watch
291
+
292
+ **4. Executar teste existente:**
293
+
294
+ ```bash
295
+ /test/unit src/services/api.ts --run --coverage
296
+ ```
297
+
298
+ → Encontra `api.test.ts`, executa com coverage, não gera novo arquivo
299
+
300
+ ## ⚙️ Parâmetros Detalhados
301
+
302
+ | Parâmetro | Tipo | Obrigatório | Descrição |
303
+ | ------------- | ------ | ----------- | ------------------------------------------------ |
304
+ | `file-path` | string | ✅ | Caminho do arquivo fonte para testar |
305
+ | `--generate` | flag | ❌ | Gera arquivo de teste se não existir |
306
+ | `--run` | flag | ❌ | Executa os testes após gerar/validar |
307
+ | `--coverage` | flag | ❌ | Inclui relatório de coverage |
308
+ | `--watch` | flag | ❌ | Modo watch para re-execução automática |
309
+ | `--framework` | string | ❌ | Framework específico (sobrescreve auto-detecção) |
310
+
311
+ ## 🔗 Comandos Relacionados
312
+
313
+ - `/test/integration` - Testes de integração (Grey-box)
314
+ - `/test/e2e` - Testes end-to-end (Black-box)
315
+ - `/validate/test-strategy/create` - Criar estratégia completa de testes
316
+ - `/engineer/work` - Continuar desenvolvimento com testes
317
+ - `/git/code-review` - Revisar código incluindo testes
318
+
319
+ ## ⚠️ Validações e Regras
320
+
321
+ ### Validações Obrigatórias
322
+
323
+ 1. **Arquivo fonte deve existir:**
324
+
325
+ ```markdown
326
+ SE arquivo não encontrado:
327
+ ❌ ERRO: Arquivo não encontrado: {{file-path}}
328
+ ```
329
+
330
+ 2. **Framework deve ser detectável ou fornecido:**
331
+
332
+ ```markdown
333
+ SE nenhum framework detectado E --framework não fornecido:
334
+ ❌ ERRO: Não foi possível detectar framework de teste
335
+ 💡 Instale um framework ou use --framework [nome]
336
+ ```
337
+
338
+ 3. **Arquivo de teste deve existir para execução:**
339
+ ```markdown
340
+ SE --run fornecido E arquivo de teste não existe E --generate não fornecido:
341
+ ❌ ERRO: Arquivo de teste não encontrado
342
+ 💡 Use --generate para criar automaticamente
343
+ ```
344
+
345
+ ### Regras de Negócio
346
+
347
+ 1. **Auto-detecção tem prioridade** sobre --framework, exceto se --framework fornecido
348
+ 2. **Geração segue padrões** do projeto (analisa testes existentes)
349
+ 3. **Coverage requer** framework com suporte (Jest, Vitest, PyTest)
350
+ 4. **Watch mode** mantém processo rodando até interrupção
351
+ 5. **Testes gerados** cobrem happy path, edge cases e error handling básicos
352
+
353
+ ## 🔧 Suporte por Linguagem
354
+
355
+ | Linguagem | Frameworks | Coverage | Watch |
356
+ | --------- | ------------------- | -------- | ----- |
357
+ | JS/TS | Jest, Vitest, Mocha | ✅ | ✅ |
358
+ | Python | PyTest, unittest | ✅ | ⚠️ |
359
+ | Java | JUnit 5/4 | ✅ | ❌ |
360
+ | Go | testing (built-in) | ✅ | ⚠️ |
361
+ | Rust | cargo test | ⚠️ | ❌ |
362
+
363
+ ## 📚 Referências
364
+
365
+ - **Agente de Testes:** @test-engineer
366
+ - **Framework de Testes:** `docs/knowbase/frameworks/framework_testes.md`
367
+ - **Padrões de Teste:** `.claude/agents/testing/test-engineer.md`
368
+
369
+ ## ⚠️ Notas Importantes
370
+
371
+ - **Auto-detecção inteligente:** Analisa configurações e padrões do projeto
372
+ - **Geração conservadora:** Cria testes básicos, desenvolvedor deve expandir
373
+ - **Integração com pipeline:** Testes gerados seguem padrões do projeto
374
+ - **Coverage opcional:** Requer configuração prévia do framework
375
+ - **Watch mode:** Mantém processo ativo, use Ctrl+C para parar
376
+
377
+ ---
378
+
379
+ **Versão:** 3.0.0
380
+ **Última atualização:** 2025-11-24
381
+ **Mantido por:** Sistema Onion