jarvis-ai-framework 2.1.1 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (266) hide show
  1. package/AGENTS.md +14 -115
  2. package/agents/AGENTS.md +11 -23
  3. package/agents/README.md +27 -129
  4. package/agents/engineering/data/eng.data-engineer.agent.md +11 -34
  5. package/agents/engineering/eng.advisor.agent.md +56 -0
  6. package/agents/engineering/eng.agent.md +14 -24
  7. package/agents/engineering/eng.bug-hunter.md +7 -15
  8. package/agents/engineering/eng.dev-code-reviewer.md +1 -1
  9. package/agents/engineering/eng.frontend.agent.md +3 -7
  10. package/agents/engineering/eng.rpa.agent.md +2 -8
  11. package/agents/engineering/qa/eng.qa.quality-strategist.md +6 -11
  12. package/agents/engineering/qa/eng.qa.test-architect.md +8 -18
  13. package/agents/engineering/qa/eng.qa.test-planner.md +10 -14
  14. package/agents/engineering/qa/eng.qa.testing-engineer.md +91 -24
  15. package/agents/product/prod.discovery-interviewer.md +3 -3
  16. package/bin/README.md +142 -0
  17. package/bin/commands/docs-publish.js +105 -141
  18. package/bin/commands/docs-sync.js +66 -104
  19. package/bin/commands/info.js +7 -27
  20. package/bin/commands/init.js +23 -51
  21. package/bin/commands/install-rtk.js +9 -3
  22. package/bin/commands/list.js +5 -18
  23. package/bin/commands/map.js +20 -5
  24. package/bin/commands/qa-signoff.js +58 -55
  25. package/bin/commands/tokens.js +14 -17
  26. package/bin/commands/whoami.js +30 -26
  27. package/bin/jarvis.js +9 -163
  28. package/bin/lib/auth/session.js +20 -20
  29. package/bin/lib/cli/program.js +219 -0
  30. package/bin/lib/cli/shared-options.js +29 -0
  31. package/bin/lib/config/constants.js +59 -2
  32. package/bin/lib/config/ide-config.js +4 -8
  33. package/bin/lib/core/profile-filter.js +4 -1
  34. package/bin/lib/core/scanner.js +3 -29
  35. package/bin/lib/core/sync-engine.js +21 -14
  36. package/bin/lib/core/token-report.js +12 -2
  37. package/bin/lib/docs/fetch-file.js +39 -0
  38. package/bin/lib/docs/publish-file.js +194 -0
  39. package/bin/lib/docs/redis-cache.js +49 -0
  40. package/bin/lib/docs/validate-frontmatter.js +9 -39
  41. package/bin/lib/env-loader.js +11 -34
  42. package/bin/lib/flow-map/parse.js +11 -5
  43. package/bin/lib/flow-map/render.js +5 -2
  44. package/bin/lib/flow-map/tree.js +59 -10
  45. package/bin/lib/tasks/comment.js +40 -35
  46. package/bin/lib/utils/frontmatter.js +57 -0
  47. package/bin/lib/utils/git-parser.js +4 -6
  48. package/bin/lib/utils/npmrc-parser.js +6 -13
  49. package/bin/lib/utils/paths.js +2 -4
  50. package/bin/lib/utils/ui.js +3 -9
  51. package/bin/lib/vcs/api.js +25 -41
  52. package/bin/lib/vcs/create-issue.js +49 -33
  53. package/bin/lib/vcs/create-merge.js +47 -31
  54. package/bin/lib/vcs/fetch-raw.js +35 -23
  55. package/package.json +14 -5
  56. package/rules/engineering/eng-rules.md +1 -1
  57. package/rules/engineering/eng-security-rules.md +18 -16
  58. package/rules/engineering/eng.bump-rules.md +3 -2
  59. package/rules/engineering/eng.docs-scraping-rules.md +4 -4
  60. package/rules/engineering/eng.integrations-rules.md +6 -4
  61. package/rules/engineering/eng.skills-rules.md +1 -1
  62. package/rules/engineering/eng.specializations-rules.md +18 -4
  63. package/rules/engineering/frontend/eng.frontend-rules.md +1 -4
  64. package/rules/engineering/qa/eng.qa.cypress-standards-rules.md +1 -1
  65. package/rules/engineering/rpa/eng.rpa-rules.md +4 -9
  66. package/rules-on-demand/engineering/eng.pre-pr-rules.md +1 -1
  67. package/rules-on-demand/engineering/eng.start-rules.md +2 -0
  68. package/skills/AGENTS.md +52 -87
  69. package/skills/SKILLS-ROADMAP.md +47 -128
  70. package/skills/eng-ai/SKILL.md +270 -0
  71. package/skills/eng-ai/references/1-fundamentos-ml.md +24 -0
  72. package/skills/eng-ai/references/10-arquitetura-solucoes-ia.md +24 -0
  73. package/skills/eng-ai/references/11-governanca-ia.md +24 -0
  74. package/skills/eng-ai/references/12-seguranca-ia-responsavel.md +25 -0
  75. package/skills/eng-ai/references/2-matematica-estatistica.md +24 -0
  76. package/skills/eng-ai/references/3-dados-para-ia.md +24 -0
  77. package/skills/eng-ai/references/4-deep-learning-fundacionais.md +24 -0
  78. package/skills/eng-ai/references/5-llms-chatbots-agentes-rag.md +25 -0
  79. package/skills/eng-ai/references/6-avaliacao-experimentacao.md +24 -0
  80. package/skills/eng-ai/references/7-engenharia-sistemas-ia.md +24 -0
  81. package/skills/eng-ai/references/8-mlops-plataforma.md +24 -0
  82. package/skills/eng-ai/references/9-produto-ia.md +24 -0
  83. package/skills/eng-ai/references/especializacoes.md +17 -0
  84. package/skills/eng-automation/SKILL.md +290 -0
  85. package/skills/eng-automation/references/1-fundamentos-automacao.md +25 -0
  86. package/skills/eng-automation/references/10-ingestao-dados.md +25 -0
  87. package/skills/eng-automation/references/11-captcha-antibot.md +25 -0
  88. package/skills/eng-automation/references/12-limites-taxa-sessoes.md +25 -0
  89. package/skills/eng-automation/references/13-agendamento-orquestracao.md +24 -0
  90. package/skills/eng-automation/references/14-retentativa-erros.md +25 -0
  91. package/skills/eng-automation/references/15-autenticacao-credenciais.md +24 -0
  92. package/skills/eng-automation/references/16-observabilidade-confiabilidade.md +24 -0
  93. package/skills/eng-automation/references/2-aquisicao-dados.md +25 -0
  94. package/skills/eng-automation/references/3-automacao-navegador.md +24 -0
  95. package/skills/eng-automation/references/4-scraping-crawling.md +25 -0
  96. package/skills/eng-automation/references/5-apis-rest-graphql-soap.md +26 -0
  97. package/skills/eng-automation/references/6-webhooks-integracao.md +25 -0
  98. package/skills/eng-automation/references/7-rpa.md +25 -0
  99. package/skills/eng-automation/references/8-extracao-estruturada.md +25 -0
  100. package/skills/eng-automation/references/9-extracao-documentos.md +25 -0
  101. package/skills/eng-automation/references/especializacoes.md +18 -0
  102. package/skills/eng-backend-nestjs/SKILL.md +1 -1
  103. package/skills/eng-data/SKILL.md +271 -0
  104. package/skills/eng-data/references/1-fundamentos-dados.md +24 -0
  105. package/skills/eng-data/references/10-ciencia-dados.md +24 -0
  106. package/skills/eng-data/references/11-dataops-plataforma.md +24 -0
  107. package/skills/eng-data/references/12-seguranca-privacidade.md +24 -0
  108. package/skills/eng-data/references/2-modelagem-dados.md +24 -0
  109. package/skills/eng-data/references/3-bancos-dados.md +24 -0
  110. package/skills/eng-data/references/4-arquitetura-dados.md +24 -0
  111. package/skills/eng-data/references/5-pipelines-integracao.md +24 -0
  112. package/skills/eng-data/references/6-qualidade-dados.md +24 -0
  113. package/skills/eng-data/references/7-governanca-metadados.md +24 -0
  114. package/skills/eng-data/references/8-estatistica-analise.md +24 -0
  115. package/skills/eng-data/references/9-analytics-bi.md +24 -0
  116. package/skills/eng-data/references/especializacoes.md +20 -0
  117. package/skills/eng-frontend/SKILL.md +12 -5
  118. package/skills/eng-frontend/references/13-design-system.md +48 -0
  119. package/skills/eng-frontend/references/14-microfrontend.md +46 -0
  120. package/skills/eng-global-task-comment/SKILL.md +3 -3
  121. package/skills/eng-platform/SKILL.md +331 -0
  122. package/skills/eng-platform/references/1-fundamentos-sistemas.md +23 -0
  123. package/skills/eng-platform/references/10-resiliencia-arquitetura.md +24 -0
  124. package/skills/eng-platform/references/11-plataforma-devex.md +24 -0
  125. package/skills/eng-platform/references/12-finops-custos.md +24 -0
  126. package/skills/eng-platform/references/13-seguranca-fundamentos.md +26 -0
  127. package/skills/eng-platform/references/14-profiling-performance.md +23 -0
  128. package/skills/eng-platform/references/15-testes-carga-chaos.md +23 -0
  129. package/skills/eng-platform/references/16-cache-multicamada.md +22 -0
  130. package/skills/eng-platform/references/2-redes.md +23 -0
  131. package/skills/eng-platform/references/3-cloud.md +24 -0
  132. package/skills/eng-platform/references/4-iac-automacao.md +24 -0
  133. package/skills/eng-platform/references/5-containers-orquestracao.md +25 -0
  134. package/skills/eng-platform/references/6-cicd-entrega.md +24 -0
  135. package/skills/eng-platform/references/7-observabilidade.md +24 -0
  136. package/skills/eng-platform/references/8-confiabilidade-sre.md +24 -0
  137. package/skills/eng-platform/references/9-seguranca-infra.md +26 -0
  138. package/skills/eng-platform/references/especializacoes.md +34 -0
  139. package/skills/eng-qa/SKILL.md +283 -0
  140. package/skills/eng-qa/references/1-fundamentos-qualidade.md +25 -0
  141. package/skills/eng-qa/references/10-confiabilidade.md +25 -0
  142. package/skills/eng-qa/references/11-seguranca.md +24 -0
  143. package/skills/eng-qa/references/12-acessibilidade.md +24 -0
  144. package/skills/eng-qa/references/13-dados-testes.md +24 -0
  145. package/skills/eng-qa/references/14-gestao-testes-defeitos.md +25 -0
  146. package/skills/eng-qa/references/15-arquitetura-qa.md +25 -0
  147. package/skills/eng-qa/references/2-estrategia-planejamento.md +25 -0
  148. package/skills/eng-qa/references/3-design-testes.md +25 -0
  149. package/skills/eng-qa/references/4-manual-exploratorio.md +24 -0
  150. package/skills/eng-qa/references/5-automacao-testes.md +25 -0
  151. package/skills/eng-qa/references/6-api-integracao.md +25 -0
  152. package/skills/eng-qa/references/7-contrato.md +24 -0
  153. package/skills/eng-qa/references/8-interface-compat-mobile.md +24 -0
  154. package/skills/eng-qa/references/9-performance.md +24 -0
  155. package/skills/eng-qa/references/especializacoes.md +29 -0
  156. package/skills/eng-qa-planner/SKILL.md +264 -0
  157. package/skills/jarvis-context-detect/SKILL.md +1 -1
  158. package/skills/jarvis-context-detect/assets/context-profile-template.md +1 -1
  159. package/skills/jarvis-create-specialization/SKILL.md +8 -0
  160. package/skills/jarvis-docs-central/README.md +31 -28
  161. package/skills/jarvis-docs-central/SKILL.md +5 -5
  162. package/skills/jarvis-init/SKILL.md +9 -8
  163. package/skills/jarvis-init/assets/passo-adicionar-stacks.md +47 -18
  164. package/skills/jarvis-list-specializations/SKILL.md +30 -17
  165. package/skills/jarvis-report-issue/SKILL.md +1 -1
  166. package/taxonomy.md +4 -16
  167. package/templates/AGENTS.md +2 -0
  168. package/templates/ENV-template.md +20 -2
  169. package/templates/engineering/advisor-template.md +65 -0
  170. package/templates/engineering/architecture-template.md +52 -4
  171. package/templates/engineering/qa/qa.sprint-plan-template.md +1 -1
  172. package/workflows/AGENTS.md +3 -1
  173. package/workflows/README.md +0 -10
  174. package/workflows/engineering/data/data.new-pipeline.md +6 -5
  175. package/workflows/engineering/eng.bug-audit.md +4 -14
  176. package/workflows/engineering/eng.debug.md +4 -20
  177. package/workflows/engineering/eng.plan.md +4 -26
  178. package/workflows/engineering/eng.pr.md +13 -63
  179. package/workflows/engineering/eng.pre-pr.md +14 -51
  180. package/workflows/engineering/eng.review.md +7 -13
  181. package/workflows/engineering/eng.rpa.robot.md +3 -9
  182. package/workflows/engineering/eng.start.md +37 -32
  183. package/workflows/engineering/eng.work.md +17 -40
  184. package/workflows/engineering/qa/eng.qa-sprint-planning.md +1 -1
  185. package/workflows/product/prod.spec.discovery.md +2 -2
  186. package/workflows/warm-up.md +35 -63
  187. package/agents/engineering/eng.cybersecurity.agent.md +0 -486
  188. package/agents/engineering/qa/eng.qa.cypress-specialist.md +0 -112
  189. package/bin/lib/docs/fetch-file.sh +0 -41
  190. package/bin/lib/docs/publish-file.sh +0 -284
  191. package/rules/engineering/qa/eng.qa.exploratory-session-rules.md +0 -137
  192. package/rules/engineering/qa/eng.qa.quality-gate-scoring-rules.md +0 -181
  193. package/rules/engineering/qa/eng.qa.tech-spec-validation-criteria-rules.md +0 -120
  194. package/skills/eng-ai-engineer/SKILL.md +0 -303
  195. package/skills/eng-data-bi/SKILL.md +0 -206
  196. package/skills/eng-data-debug/SKILL.md +0 -314
  197. package/skills/eng-data-engineer/SKILL.md +0 -266
  198. package/skills/eng-data-onboard/SKILL.md +0 -317
  199. package/skills/eng-data-orchestrator/SKILL.md +0 -433
  200. package/skills/eng-devops-performance-engineer/SKILL.md +0 -319
  201. package/skills/eng-frontend-design-system/SKILL.md +0 -155
  202. package/skills/eng-frontend-design-system/references/1-estrutura-pacote.md +0 -57
  203. package/skills/eng-frontend-design-system/references/2-tokens.md +0 -116
  204. package/skills/eng-frontend-design-system/references/3-componentes.md +0 -165
  205. package/skills/eng-frontend-design-system/references/4-storybook.md +0 -85
  206. package/skills/eng-frontend-design-system/references/5-auditoria-versionamento.md +0 -76
  207. package/skills/eng-frontend-microfrontend/SKILL.md +0 -164
  208. package/skills/eng-frontend-microfrontend/references/1-criando-remote.md +0 -109
  209. package/skills/eng-frontend-microfrontend/references/2-configurando-shell.md +0 -70
  210. package/skills/eng-frontend-microfrontend/references/3-contratos-interface.md +0 -73
  211. package/skills/eng-frontend-microfrontend/references/4-shared-dependencies.md +0 -48
  212. package/skills/eng-frontend-microfrontend/references/5-event-bus.md +0 -59
  213. package/skills/eng-frontend-microfrontend/references/6-monorepo-deploy.md +0 -77
  214. package/skills/eng-frontend-microfrontend/references/7-troubleshooting.md +0 -45
  215. package/skills/eng-global-browser-extension-builder/SKILL.md +0 -392
  216. package/skills/eng-global-jira-comment/SKILL.md +0 -27
  217. package/skills/eng-qa-a11y-audit/SKILL.md +0 -276
  218. package/skills/eng-qa-bug-report/SKILL.md +0 -877
  219. package/skills/eng-qa-bug-report/TASK_MANAGERS.md +0 -138
  220. package/skills/eng-qa-bug-report/references/1-integracao-task-managers.md +0 -148
  221. package/skills/eng-qa-bug-report/references/2-exemplos-de-uso.md +0 -46
  222. package/skills/eng-qa-bug-report/references/3-bug-to-test.md +0 -45
  223. package/skills/eng-qa-cypress-e2e/SKILL.md +0 -184
  224. package/skills/eng-qa-dev-guide/SKILL.md +0 -173
  225. package/skills/eng-qa-e2e/SKILL.md +0 -407
  226. package/skills/eng-qa-e2e-spec-writer/SKILL.md +0 -329
  227. package/skills/eng-qa-exploratory/SKILL.md +0 -196
  228. package/skills/eng-qa-gate/SKILL.md +0 -377
  229. package/skills/eng-qa-gate/assets/checklist-validacao.md +0 -291
  230. package/skills/eng-qa-graphql-contract/SKILL.md +0 -263
  231. package/skills/eng-qa-quality-report/SKILL.md +0 -419
  232. package/skills/eng-qa-test-plan/SKILL.md +0 -473
  233. package/skills/eng-qa-testsprite/SKILL.md +0 -332
  234. package/skills/eng-qa-testsprite/references/testsprite-mcp.md +0 -224
  235. package/skills/eng-qa-unit-test/SKILL.md +0 -478
  236. package/skills/eng-scraper/SKILL.md +0 -260
  237. package/skills/eng-scraper/references/1-puppeteer.md +0 -140
  238. package/skills/eng-scraper/references/2-playwright-cheerio-pdf.md +0 -82
  239. package/skills/eng-scraper/references/3-anti-bot.md +0 -94
  240. package/skills/eng-scraper/references/4-resiliencia-etl-monitoramento.md +0 -137
  241. package/skills/eng-scraper-robot-builder/SKILL.md +0 -377
  242. package/skills/eng-security-cybersecurity/SKILL.md +0 -250
  243. package/skills/eng-security-cybersecurity/references/1-owasp-top-10.md +0 -331
  244. package/skills/eng-security-cybersecurity/references/2-secrets-management.md +0 -31
  245. package/skills/eng-security-cybersecurity/references/3-input-validation.md +0 -43
  246. package/skills/eng-security-cybersecurity/references/4-compliance.md +0 -20
  247. package/skills/eng-security-patch/SKILL.md +0 -388
  248. package/skills/eng-security-threat-model/SKILL.md +0 -171
  249. package/skills/eng-security-triage/SKILL.md +0 -276
  250. package/templates/engineering/qa/eng.qa.quality-gate-examples-template.md +0 -311
  251. package/templates/engineering/qa/eng.qa.quality-gate-report-template.md +0 -249
  252. package/templates/engineering/qa/qa.cypress-test-template.md +0 -172
  253. package/templates/engineering/qa/qa.exploratory-session-template.md +0 -148
  254. package/templates/engineering/qa/qa.quality-report-template.md +0 -130
  255. package/workflows/engineering/eng.security-audit.md +0 -319
  256. package/workflows/engineering/eng.security-incident.md +0 -281
  257. package/workflows/engineering/eng.security-pipeline.md +0 -219
  258. package/workflows/engineering/eng.security-review.md +0 -241
  259. package/workflows/engineering/qa/eng.qa-dev-quality-guide.md +0 -57
  260. package/workflows/engineering/qa/eng.qa-e2e-test-generation.md +0 -57
  261. package/workflows/engineering/qa/eng.qa-exploratory-session.md +0 -68
  262. package/workflows/engineering/qa/eng.qa-quality-gate-validation.md +0 -209
  263. package/workflows/engineering/qa/eng.qa-quality-report.md +0 -85
  264. /package/skills/{eng-qa-test-plan → eng-qa-planner}/assets/test-coverage-template.md +0 -0
  265. /package/skills/{eng-qa-test-plan → eng-qa-planner}/assets/test-patterns.md +0 -0
  266. /package/templates/{CDD aplicado a Prompts.md → cdd-aplicado-a-prompts.md} +0 -0
@@ -1,478 +0,0 @@
1
- ---
2
- name: eng-qa-unit-test
3
- description: >
4
- Gera testes unitários para código novo ou modificado seguindo as convenções do projeto.
5
- Trigger: Use quando precisar criar testes unitários para funções, classes ou módulos.
6
- argument-hint: "[caminho-do-arquivo]"
7
- disable-model-invocation: false
8
- allowed-tools: Read Write Edit Grep Glob Bash mcp__TestSprite__testsprite_bootstrap mcp__TestSprite__testsprite_generate_code_summary mcp__TestSprite__testsprite_generate_frontend_test_plan mcp__TestSprite__testsprite_generate_backend_test_plan mcp__TestSprite__testsprite_generate_code_and_execute mcp__TestSprite__testsprite_rerun_tests
9
- license: AGPL-3.0
10
- metadata:
11
- author: jarvis-team
12
- version: "1.0"
13
- area: qa
14
- ---
15
-
16
- # QA Unit Test - Gerador de Testes Unitários
17
-
18
- Você é um **especialista em testes unitários** focado em criar testes de alta qualidade seguindo as convenções do projeto.
19
-
20
- ## Objetivo
21
-
22
- Gerar testes unitários completos para código novo ou modificado, garantindo cobertura adequada e seguindo padrões de teste do projeto.
23
-
24
- ## Entrada
25
-
26
- - `$ARGUMENTS` - Caminho do arquivo ou função para criar testes
27
-
28
- ## Recursos
29
-
30
- - **Saída**: Arquivo de teste no padrão do projeto (`.test.ts`, `.spec.ts`, `_test.py`, etc.)
31
-
32
- ---
33
-
34
- ## Pré-requisito
35
-
36
- Verificar se o `ENV.md` existe e está completo antes de executar.
37
-
38
- ---
39
-
40
- ## Quando Usar
41
-
42
- Use esta skill quando:
43
- - Precisar criar testes unitários para novo código
44
- - Quiser aumentar a cobertura de testes de código existente
45
- - Necessitar de testes para funções ou classes específicas
46
- - Estiver fazendo TDD e precisar de testes antes da implementação
47
-
48
- **NÃO usar quando:**
49
- - Precisar de testes de integração (use qa-integration-test)
50
- - Precisar de testes e2e (use qa-e2e-test)
51
- - O código já tiver cobertura adequada
52
-
53
- ---
54
-
55
- ## Validação de Entrada
56
-
57
- ```
58
- Se $ARGUMENTS está vazio:
59
- → Exibir: "⚠️ Argumento obrigatório. Informe o caminho do arquivo."
60
- → Exibir: "Uso: /eng-qa-unit-test [caminho-do-arquivo]"
61
- → Encerrar execução
62
- ```
63
-
64
- ---
65
-
66
- ## Integração com TestSprite MCP
67
-
68
- Esta skill prioriza o uso do TestSprite MCP para geração automática de testes quando disponível.
69
-
70
- ### Verificação de Disponibilidade
71
-
72
- Para verificar se o TestSprite está disponível:
73
-
74
- 1. **Tente chamar** `testsprite_bootstrap` com parâmetros mínimos
75
- 2. **Se a tool existir e responder**: Prossiga com o Fluxo A (MCP)
76
- 3. **Se a tool não existir ou retornar erro**: Prossiga com o Fluxo B (Manual)
77
-
78
- **Erros que indicam indisponibilidade:**
79
- - `Tool not found`
80
- - `MCP server not connected`
81
- - `Connection refused`
82
- - Timeout sem resposta
83
-
84
- > **Importante**: Não tente reconectar ou instalar o MCP automaticamente. Se indisponível, siga direto para o Fluxo B.
85
-
86
- ### Decisão de Fluxo
87
-
88
- ```
89
- ┌─────────────────────────────────────────────────────────────┐
90
- │ │
91
- │ VERIFICAR TESTSPRITE MCP │
92
- │ │
93
- │ ┌─────────────────────────┐ │
94
- │ │ Tool testsprite_bootstrap│ │
95
- │ │ disponível? │ │
96
- │ └───────────┬─────────────┘ │
97
- │ │ │
98
- │ SIM │ NÃO │
99
- │ ↓ │ ↓ │
100
- │ FLUXO │ FLUXO │
101
- │ MCP │ MANUAL │
102
- │ (A) │ (B) │
103
- │ │
104
- └─────────────────────────────────────────────────────────────┘
105
- ```
106
-
107
- ---
108
-
109
- ## FLUXO A: TestSprite MCP (Preferencial)
110
-
111
- Se o TestSprite MCP estiver disponível, use as seguintes ferramentas para gerar testes automaticamente.
112
-
113
- ### A.1. Detectar Tipo de Projeto
114
-
115
- Identifique se o projeto é frontend ou backend:
116
-
117
- ```bash
118
- # Verificar indicadores de Frontend
119
- grep -E "(react|vue|angular|next|nuxt|svelte|vite)" package.json 2>/dev/null
120
-
121
- # Verificar indicadores de Backend
122
- ls requirements.txt go.mod pom.xml Cargo.toml 2>/dev/null
123
- grep -E "(express|fastify|nest|koa|hapi)" package.json 2>/dev/null
124
- ```
125
-
126
- | Indicador | Tipo |
127
- |-----------|------|
128
- | `react`, `vue`, `angular`, `next`, `svelte`, `vite` | Frontend |
129
- | `express`, `fastify`, `nest`, `koa`, `hapi` | Backend |
130
- | `requirements.txt`, `pytest` | Backend (Python) |
131
- | `go.mod` | Backend (Go) |
132
- | `pom.xml`, `build.gradle` | Backend (Java) |
133
-
134
- ### A.2. Detectar Porta Local
135
-
136
- ```bash
137
- # Verificar porta em package.json ou .env
138
- grep -E "PORT|port" package.json .env 2>/dev/null
139
- ```
140
-
141
- | Framework | Porta Padrão |
142
- |-----------|-------------|
143
- | Vite/React | 5173 |
144
- | Next.js/CRA | 3000 |
145
- | Express/Node | 3000 |
146
- | Django/FastAPI | 8000 |
147
-
148
- ### A.3. Bootstrap do TestSprite
149
-
150
- ```javascript
151
- testsprite_bootstrap({
152
- localPort: 5173, // Ajustar conforme detectado
153
- type: "frontend", // Ou "backend" conforme detectado
154
- projectPath: "$PROJECT_ROOT",
155
- testScope: "diff" // Foca no arquivo específico
156
- })
157
- ```
158
-
159
- ### A.4. Gerar Sumário do Código
160
-
161
- ```javascript
162
- testsprite_generate_code_summary({
163
- projectRootPath: "$PROJECT_ROOT"
164
- })
165
- ```
166
-
167
- ### A.5. Gerar Plano de Testes
168
-
169
- Para Frontend:
170
- ```javascript
171
- testsprite_generate_frontend_test_plan({
172
- projectPath: "$PROJECT_ROOT",
173
- needLogin: false // Ajustar se necessário
174
- })
175
- ```
176
-
177
- Para Backend:
178
- ```javascript
179
- testsprite_generate_backend_test_plan({
180
- projectPath: "$PROJECT_ROOT"
181
- })
182
- ```
183
-
184
- ### A.6. Gerar e Executar Testes
185
-
186
- ```javascript
187
- testsprite_generate_code_and_execute({
188
- projectName: "$WORKSPACE",
189
- projectPath: "$PROJECT_ROOT",
190
- testIds: [], // Vazio = todos, ou especificar IDs
191
- additionalInstruction: "Foco em testes unitários para: $ARGUMENTS"
192
- })
193
- ```
194
-
195
- ### A.7. Re-executar Testes (se necessário)
196
-
197
- ```javascript
198
- testsprite_rerun_tests({
199
- projectPath: "$PROJECT_ROOT"
200
- })
201
- ```
202
-
203
- ### A.8. Saída do TestSprite
204
-
205
- O TestSprite gera automaticamente:
206
- - `testsprite_tests/` - Pasta com todos os testes gerados
207
- - `TestSprite_MCP_Test_Report.md` - Relatório em Markdown
208
- - `TestSprite_MCP_Test_Report.html` - Relatório em HTML
209
- - `testsprite_tests/tmp/test_results.json` - Resultados detalhados
210
-
211
- ---
212
-
213
- ## FLUXO B: Geração Manual (Fallback)
214
-
215
- Se o TestSprite MCP NÃO estiver disponível, siga o fluxo manual abaixo.
216
-
217
- ### Padrões Críticos (Fluxo Manual)
218
-
219
- #### Padrão 1: Detectar Framework de Teste
220
-
221
- ```bash
222
- # JavaScript/TypeScript
223
- grep -E "(jest|vitest|mocha|jasmine)" package.json
224
-
225
- # Python
226
- ls pytest.ini pyproject.toml setup.cfg 2>/dev/null | head -1
227
-
228
- # Go - usa testing nativo
229
- ```
230
-
231
- | Framework | Padrão de Arquivo | Import |
232
- |-----------|-------------------|--------|
233
- | Jest | `*.test.ts`, `*.spec.ts` | `import { describe, it, expect } from '@jest/globals'` |
234
- | Vitest | `*.test.ts`, `*.spec.ts` | `import { describe, it, expect } from 'vitest'` |
235
- | Pytest | `test_*.py`, `*_test.py` | `import pytest` |
236
- | Go | `*_test.go` | `import "testing"` |
237
-
238
- #### Padrão 2: Estrutura AAA (Arrange-Act-Assert)
239
-
240
- Todo teste deve seguir a estrutura AAA:
241
-
242
- ```typescript
243
- describe('NomeDaFuncao', () => {
244
- it('should [comportamento esperado] when [condição]', () => {
245
- // Arrange - Preparar dados de entrada
246
- const input = { ... };
247
-
248
- // Act - Executar a função
249
- const result = funcao(input);
250
-
251
- // Assert - Verificar resultado
252
- expect(result).toBe(esperado);
253
- });
254
- });
255
- ```
256
-
257
- #### Padrão 3: Cobertura Mínima de Cenários
258
-
259
- Todo teste deve cobrir:
260
- - Caminho feliz (happy path)
261
- - Casos de borda (edge cases)
262
- - Tratamento de erros
263
- - Valores nulos/undefined
264
-
265
- ### Árvore de Decisão (Fluxo Manual)
266
-
267
- ```
268
- Arquivo TypeScript? → Jest ou Vitest (verificar package.json)
269
- Arquivo Python? → Pytest
270
- Arquivo Go? → testing nativo
271
- Arquivo Java? → JUnit
272
- Caso contrário → Perguntar ao usuário
273
- ```
274
-
275
- ### Fluxo de Trabalho (Manual)
276
-
277
- #### B.1. Analisar Arquivo de Origem
278
-
279
- ```bash
280
- # Ler o arquivo para entender a estrutura
281
- cat $ARGUMENTS
282
- ```
283
-
284
- Identificar:
285
- - Funções/métodos exportados
286
- - Dependências e imports
287
- - Tipos de entrada e saída
288
- - Possíveis cenários de teste
289
-
290
- #### B.2. Verificar Testes Existentes
291
-
292
- ```bash
293
- # Verificar se já existe arquivo de teste
294
- ls ${ARGUMENTS%.ts}.test.ts 2>/dev/null || \
295
- ls ${ARGUMENTS%.ts}.spec.ts 2>/dev/null || \
296
- echo "Nenhum teste encontrado"
297
- ```
298
-
299
- #### B.3. Criar Arquivo de Teste
300
-
301
- Criar o arquivo de teste seguindo:
302
- - Convenção de nomenclatura do projeto
303
- - Imports necessários
304
- - Mocks de dependências externas
305
-
306
- #### B.4. Implementar Testes
307
-
308
- Para cada função/método:
309
- 1. Criar `describe` block
310
- 2. Implementar casos de teste (happy path primeiro)
311
- 3. Adicionar casos de borda
312
- 4. Adicionar casos de erro
313
-
314
- #### B.5. Executar e Validar
315
-
316
- ```bash
317
- # JavaScript/TypeScript
318
- npm test -- --testPathPattern={arquivo}
319
-
320
- # Python
321
- pytest {arquivo} -v
322
-
323
- # Go
324
- go test -v -run {funcao}
325
- ```
326
-
327
- ### Skills invocados durante a execução do skill
328
-
329
- | Passo | Skill | Condição |
330
- |-------|-------|----------|
331
- | — | Nenhuma — skill autocontida | — |
332
-
333
- ---
334
-
335
- ## Regras
336
-
337
- ### Nunca
338
- - Criar testes que dependem de estado externo
339
- - Usar dados de produção em testes
340
- - Ignorar casos de erro
341
- - Criar testes sem assertions
342
- - Usar `any` em mocks TypeScript
343
- - Pular a verificação do TestSprite MCP
344
-
345
- ### Sempre
346
- - Verificar disponibilidade do TestSprite primeiro
347
- - Seguir estrutura AAA (no fluxo manual)
348
- - Nomear testes de forma descritiva
349
- - Isolar testes (não dependem uns dos outros)
350
- - Mockar dependências externas
351
- - Cobrir happy path + edge cases + errors
352
-
353
- ---
354
-
355
- ## Tratamento de Erros
356
-
357
- ### Arquivo não encontrado
358
- - Exibir: "⚠️ Arquivo '{caminho}' não encontrado."
359
- - Verificar se o caminho está correto
360
- - Sugerir usar glob para encontrar arquivo
361
-
362
- ### Framework não detectado
363
- - Exibir: "⚠️ Framework de teste não detectado."
364
- - Listar frameworks suportados
365
- - Perguntar ao usuário qual usar
366
-
367
- ### Testes já existem
368
- - Exibir: "⚠️ Arquivo de teste já existe em '{caminho}'"
369
- - Perguntar se deseja sobrescrever ou adicionar novos testes
370
-
371
- ### TestSprite falhou
372
- - Exibir: "⚠️ TestSprite retornou erro. Alternando para fluxo manual."
373
- - Continuar com Fluxo B automaticamente
374
-
375
- ---
376
-
377
- ## Checklist de Conclusão
378
-
379
- ### Fluxo A (TestSprite)
380
- - [ ] TestSprite MCP verificado e disponível
381
- - [ ] Tipo de projeto detectado (frontend/backend)
382
- - [ ] Bootstrap executado com sucesso
383
- - [ ] Plano de testes gerado
384
- - [ ] Testes executados
385
- - [ ] Relatório gerado
386
-
387
- ### Fluxo B (Manual)
388
- - [ ] Arquivo de origem analisado
389
- - [ ] Framework de teste identificado
390
- - [ ] Arquivo de teste criado no padrão correto
391
- - [ ] Todos os exports públicos testados
392
- - [ ] Happy path coberto
393
- - [ ] Edge cases cobertos
394
- - [ ] Casos de erro cobertos
395
- - [ ] Testes executados com sucesso
396
- - [ ] Sem warnings ou erros de tipo
397
-
398
- ---
399
-
400
- ## Output
401
-
402
- ### Fluxo A (TestSprite MCP)
403
-
404
- | Artefato | Descrição |
405
- |----------|-----------|
406
- | `testsprite_tests/` | Pasta com testes gerados automaticamente |
407
- | `TestSprite_MCP_Test_Report.md` | Relatório em Markdown |
408
- | `TestSprite_MCP_Test_Report.html` | Relatório visual em HTML |
409
- | `testsprite_tests/tmp/test_results.json` | Resultados detalhados em JSON |
410
-
411
- ### Fluxo B (Manual)
412
-
413
- | Artefato | Descrição |
414
- |----------|-----------|
415
- | `{arquivo}.test.ts` | Arquivo de teste unitário (TypeScript/Jest) |
416
- | `{arquivo}.spec.ts` | Arquivo de teste unitário (TypeScript/Vitest) |
417
- | `test_{arquivo}.py` | Arquivo de teste unitário (Python/Pytest) |
418
- | `{arquivo}_test.go` | Arquivo de teste unitário (Go) |
419
-
420
- ---
421
-
422
- ## Mensagem de Conclusão
423
-
424
- ### Fluxo A (TestSprite)
425
-
426
- ```
427
- Testes unitários gerados com TestSprite!
428
-
429
- Arquivo de origem: {caminho-origem}
430
- Método: TestSprite MCP (automático)
431
- Tipo: {frontend|backend}
432
-
433
- Artefatos gerados:
434
- - testsprite_tests/
435
- - TestSprite_MCP_Test_Report.md
436
- - TestSprite_MCP_Test_Report.html
437
-
438
- Próximo passo: Revisar o relatório em TestSprite_MCP_Test_Report.md
439
- ```
440
-
441
- ### Fluxo B (Manual)
442
-
443
- ```
444
- Testes unitários criados manualmente!
445
-
446
- Arquivo de origem: {caminho-origem}
447
- Arquivo de teste: {caminho-teste}
448
- Framework: {framework}
449
-
450
- Cobertura:
451
- - [x] Funções testadas: {n}
452
- - [x] Casos de teste: {n}
453
- - [x] Happy path: {n}
454
- - [x] Edge cases: {n}
455
- - [x] Error cases: {n}
456
-
457
- Comando para executar:
458
- {comando-de-execução}
459
-
460
- Próximo passo: Executar os testes com o comando acima
461
- ```
462
-
463
- ---
464
-
465
- ## Resumo dos Fluxos
466
-
467
- | Aspecto | Fluxo A (TestSprite) | Fluxo B (Manual) |
468
- |---------|---------------------|------------------|
469
- | Quando usar | TestSprite MCP disponível | TestSprite não instalado |
470
- | Automação | Total - gera e executa testes | Parcial - requer implementação |
471
- | Saída | Testes + Relatório HTML/MD | Arquivo de teste |
472
- | Esforço | Mínimo | Requer escrita manual |
473
-
474
- ---
475
-
476
- ## Recursos Adicionais
477
-
478
- - **Referências**: Ver [references/](references/) para guias de teste do projeto