jarvis-ai-framework 1.0.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 (240) hide show
  1. package/AGENTS.md +416 -0
  2. package/LICENSE +21 -0
  3. package/README.md +190 -0
  4. package/agents/AGENTS.md +234 -0
  5. package/agents/README.md +309 -0
  6. package/agents/engineering/data/eng.data-engineer.agent.md +309 -0
  7. package/agents/engineering/eng.agent.md +303 -0
  8. package/agents/engineering/eng.bug-hunter.md +386 -0
  9. package/agents/engineering/eng.cybersecurity.agent.md +503 -0
  10. package/agents/engineering/eng.dev-code-reviewer.md +148 -0
  11. package/agents/engineering/eng.docs-writer.md +152 -0
  12. package/agents/engineering/eng.frontend.agent.md +117 -0
  13. package/agents/engineering/eng.rpa.agent.md +215 -0
  14. package/agents/engineering/eng.tech-analyst.agent.md +102 -0
  15. package/agents/engineering/eng.ux-designer.agent.md +193 -0
  16. package/agents/engineering/qa/eng.qa.cypress-specialist.md +109 -0
  17. package/agents/engineering/qa/eng.qa.quality-champion-task-agent.md +85 -0
  18. package/agents/engineering/qa/eng.qa.quality-strategist.md +111 -0
  19. package/agents/engineering/qa/eng.qa.test-architect.md +400 -0
  20. package/agents/engineering/qa/eng.qa.test-planner.md +477 -0
  21. package/agents/engineering/qa/eng.qa.testing-engineer.md +339 -0
  22. package/agents/product/prod.pm-checker.md +52 -0
  23. package/bin/commands/docs-publish.js +184 -0
  24. package/bin/commands/docs-sync.js +139 -0
  25. package/bin/commands/info.js +87 -0
  26. package/bin/commands/init.js +237 -0
  27. package/bin/commands/install-rtk.js +90 -0
  28. package/bin/commands/list.js +48 -0
  29. package/bin/commands/qa-signoff.js +112 -0
  30. package/bin/commands/whoami.js +43 -0
  31. package/bin/jarvis.js +159 -0
  32. package/bin/lib/auth/session.js +56 -0
  33. package/bin/lib/config/constants.js +123 -0
  34. package/bin/lib/config/ide-config.js +233 -0
  35. package/bin/lib/core/scanner.js +124 -0
  36. package/bin/lib/core/sync-engine.js +551 -0
  37. package/bin/lib/docs/fetch-file.sh +41 -0
  38. package/bin/lib/docs/publish-file.sh +284 -0
  39. package/bin/lib/docs/validate-frontmatter.js +157 -0
  40. package/bin/lib/env-loader.js +198 -0
  41. package/bin/lib/tasks/comment.js +131 -0
  42. package/bin/lib/utils/git-parser.js +145 -0
  43. package/bin/lib/utils/logger.js +104 -0
  44. package/bin/lib/utils/npmrc-parser.js +106 -0
  45. package/bin/lib/utils/paths.js +55 -0
  46. package/bin/lib/utils/ui.js +59 -0
  47. package/bin/lib/vcs/api.js +312 -0
  48. package/bin/lib/vcs/create-issue.js +43 -0
  49. package/bin/lib/vcs/create-merge.js +43 -0
  50. package/bin/lib/vcs/fetch-raw.js +30 -0
  51. package/bin/postinstall.js +41 -0
  52. package/members.md +25 -0
  53. package/package.json +55 -0
  54. package/rules/AGENTS.md +205 -0
  55. package/rules/engineering/data/data-rules.md +200 -0
  56. package/rules/engineering/eng-rules.md +243 -0
  57. package/rules/engineering/eng-security-rules.md +186 -0
  58. package/rules/engineering/eng.breakdown-subtasks-rules.md +585 -0
  59. package/rules/engineering/eng.bump-rules.md +27 -0
  60. package/rules/engineering/eng.docs-scraping-rules.md +64 -0
  61. package/rules/engineering/eng.downstream-flow-rules.md +297 -0
  62. package/rules/engineering/eng.integrations-rules.md +73 -0
  63. package/rules/engineering/eng.plan-rules.md +333 -0
  64. package/rules/engineering/eng.pr-rules.md +359 -0
  65. package/rules/engineering/eng.pre-pr-rules.md +103 -0
  66. package/rules/engineering/eng.start-rules.md +246 -0
  67. package/rules/engineering/eng.tech-spec-rules.md +968 -0
  68. package/rules/engineering/eng.work-rules.md +312 -0
  69. package/rules/engineering/frontend/eng.frontend-rules.md +147 -0
  70. package/rules/engineering/qa/eng.qa.cypress-standards-rules.md +259 -0
  71. package/rules/engineering/qa/eng.qa.exploratory-session-rules.md +137 -0
  72. package/rules/engineering/qa/eng.qa.quality-gate-scoring-rules.md +181 -0
  73. package/rules/engineering/qa/eng.qa.tech-spec-validation-criteria-rules.md +120 -0
  74. package/rules/engineering/rpa/eng.rpa-rules.md +230 -0
  75. package/rules/product/README.md +24 -0
  76. package/rules/product/prod-rules.md +151 -0
  77. package/rules/rtk-rules.md +68 -0
  78. package/skills/AGENTS.md +290 -0
  79. package/skills/SKILLS-ROADMAP.md +333 -0
  80. package/skills/churn-audit/SKILL.md +385 -0
  81. package/skills/context-detect/SKILL.md +399 -0
  82. package/skills/context-detect/assets/context-profile-template.md +127 -0
  83. package/skills/docs-central/README.md +310 -0
  84. package/skills/docs-central/SKILL.md +423 -0
  85. package/skills/docs-index/SKILL.md +377 -0
  86. package/skills/eng-ai-engineer/SKILL.md +296 -0
  87. package/skills/eng-arch-c4/SKILL.md +358 -0
  88. package/skills/eng-arch-c4/assets/example-code.md +189 -0
  89. package/skills/eng-arch-c4/assets/example-component.md +105 -0
  90. package/skills/eng-arch-c4/assets/example-container.md +104 -0
  91. package/skills/eng-arch-c4/assets/example-context.md +81 -0
  92. package/skills/eng-backend/SKILL.md +776 -0
  93. package/skills/eng-browser-extension-builder/SKILL.md +385 -0
  94. package/skills/eng-cybersecurity/SKILL.md +645 -0
  95. package/skills/eng-data-bi/SKILL.md +199 -0
  96. package/skills/eng-data-debug/SKILL.md +307 -0
  97. package/skills/eng-data-engineer/SKILL.md +256 -0
  98. package/skills/eng-data-onboard/SKILL.md +310 -0
  99. package/skills/eng-data-orchestrator/SKILL.md +426 -0
  100. package/skills/eng-design-system/SKILL.md +619 -0
  101. package/skills/eng-docs-write/SKILL.md +312 -0
  102. package/skills/eng-frontend/SKILL.md +913 -0
  103. package/skills/eng-jira-comment/SKILL.md +17 -0
  104. package/skills/eng-microfrontend/SKILL.md +602 -0
  105. package/skills/eng-ms-trace/SKILL.md +469 -0
  106. package/skills/eng-nestjs/SKILL.md +791 -0
  107. package/skills/eng-performance-engineer/SKILL.md +312 -0
  108. package/skills/eng-pr/SKILL.md +339 -0
  109. package/skills/eng-qa-a11y-audit/SKILL.md +269 -0
  110. package/skills/eng-qa-bug-report/SKILL.md +1088 -0
  111. package/skills/eng-qa-bug-report/TASK_MANAGERS.md +138 -0
  112. package/skills/eng-qa-cypress-e2e/SKILL.md +177 -0
  113. package/skills/eng-qa-dev-guide/SKILL.md +164 -0
  114. package/skills/eng-qa-e2e/SKILL.md +400 -0
  115. package/skills/eng-qa-e2e-spec-writer/SKILL.md +322 -0
  116. package/skills/eng-qa-exploratory/SKILL.md +188 -0
  117. package/skills/eng-qa-gate/SKILL.md +370 -0
  118. package/skills/eng-qa-gate/assets/checklist-validacao.md +291 -0
  119. package/skills/eng-qa-graphql-contract/SKILL.md +256 -0
  120. package/skills/eng-qa-quality-report/SKILL.md +412 -0
  121. package/skills/eng-qa-test-plan/SKILL.md +466 -0
  122. package/skills/eng-qa-test-plan/assets/test-coverage-template.md +92 -0
  123. package/skills/eng-qa-test-plan/assets/test-patterns.md +178 -0
  124. package/skills/eng-qa-testsprite/SKILL.md +325 -0
  125. package/skills/eng-qa-testsprite/references/testsprite-mcp.md +224 -0
  126. package/skills/eng-qa-unit-test/SKILL.md +471 -0
  127. package/skills/eng-rabbitmq/SKILL.md +661 -0
  128. package/skills/eng-scraper/SKILL.md +683 -0
  129. package/skills/eng-scraper-robot-builder/SKILL.md +370 -0
  130. package/skills/eng-security-patch/SKILL.md +378 -0
  131. package/skills/eng-security-triage/SKILL.md +266 -0
  132. package/skills/eng-task-comment/SKILL.md +60 -0
  133. package/skills/eng-tech-analyst/SKILL.md +529 -0
  134. package/skills/eng-threat-model/SKILL.md +161 -0
  135. package/skills/init-jarvis/SKILL.md +1304 -0
  136. package/skills/init-jarvis/assets/mcp-configs.md +389 -0
  137. package/skills/init-jarvis/assets/onboarding-checklist.md +104 -0
  138. package/skills/init-jarvis/assets/setup-guide.md +360 -0
  139. package/skills/lovable-prompt-generator/SKILL.md +304 -0
  140. package/skills/prod-roadmap-report/README.md +303 -0
  141. package/skills/prod-roadmap-report/SKILL.md +198 -0
  142. package/skills/prod-roadmap-report/commands/status.compiled.single.team.md +23 -0
  143. package/skills/prod-roadmap-report/commands/status.list.projects.md +17 -0
  144. package/skills/prod-roadmap-report/commands/status.memory.md +192 -0
  145. package/skills/prod-roadmap-report/commands/status.roadmap.preview.md +94 -0
  146. package/skills/prod-roadmap-report/references/detailed-guide.md +236 -0
  147. package/skills/prod-roadmap-report/rules/detailed-guide.md +237 -0
  148. package/skills/prod-roadmap-report/rules/status-report-rules.md +44 -0
  149. package/skills/prod-roadmap-report/templates/template-multiple-teams-compiled-status.md +53 -0
  150. package/skills/prod-roadmap-report/templates/template-projects-list.md +23 -0
  151. package/skills/prod-roadmap-report/templates/template-single-team-compiled-status.md +60 -0
  152. package/skills/prod-roadmap-report/templates/template-single-team-status.md +49 -0
  153. package/skills/prod-specs/SKILL.md +108 -0
  154. package/skills/prod-specs/references/prod.spec.clarify.md +176 -0
  155. package/skills/prod-specs/references/prod.spec.epic.md +107 -0
  156. package/skills/prod-specs/references/prod.spec.frd.md +135 -0
  157. package/skills/prod-specs/references/prod.spec.issue.md +145 -0
  158. package/skills/prod-specs/references/prod.spec.prd.md +118 -0
  159. package/skills/prod-specs/rules/prod-spec-rules.md +186 -0
  160. package/skills/prod-specs/templates/prod-breakdown-template.md +136 -0
  161. package/skills/prod-specs/templates/prod-epic-template.md +76 -0
  162. package/skills/prod-specs/templates/prod-frd-template.md +172 -0
  163. package/skills/prod-specs/templates/prod-issue-template.md +68 -0
  164. package/skills/prod-specs/templates/prod-prd-full-template.md +159 -0
  165. package/skills/prod-specs/templates/prod-prd-template.md +173 -0
  166. package/skills/prod-specs-update/SKILL.md +272 -0
  167. package/skills/report-issue/SKILL.md +156 -0
  168. package/taxonomy.md +270 -0
  169. package/templates/AGENTS.md +189 -0
  170. package/templates/CDD aplicado a Prompts.md +182 -0
  171. package/templates/ENV-template.md +187 -0
  172. package/templates/engineering/AGENTS-template.md +71 -0
  173. package/templates/engineering/ARD-template.md +193 -0
  174. package/templates/engineering/CONTACTS-template.md +135 -0
  175. package/templates/engineering/PR-template.md +40 -0
  176. package/templates/engineering/RFC-Playbook.md +325 -0
  177. package/templates/engineering/RFC-template.md +199 -0
  178. package/templates/engineering/architecture-template.md +277 -0
  179. package/templates/engineering/breakdown-subtasks-template.md +582 -0
  180. package/templates/engineering/c4-model-template.md +516 -0
  181. package/templates/engineering/data-contract-template.md +135 -0
  182. package/templates/engineering/data-pipeline-template.md +163 -0
  183. package/templates/engineering/plan-template.md +255 -0
  184. package/templates/engineering/qa/eng.qa.quality-gate-examples-template.md +311 -0
  185. package/templates/engineering/qa/eng.qa.quality-gate-report-template.md +249 -0
  186. package/templates/engineering/qa/qa.cypress-test-template.md +172 -0
  187. package/templates/engineering/qa/qa.exploratory-session-template.md +148 -0
  188. package/templates/engineering/qa/qa.quality-report-template.md +130 -0
  189. package/templates/engineering/qa/qa.release-signoff-template.md +54 -0
  190. package/templates/engineering/qa/qa.sprint-plan-template.md +49 -0
  191. package/templates/engineering/swagger-template.md +145 -0
  192. package/templates/engineering/tech-spec-template.md +497 -0
  193. package/templates/engineering/work-progress-template.md +155 -0
  194. package/workflows/AGENTS.md +240 -0
  195. package/workflows/README.md +160 -0
  196. package/workflows/all-tools.md +11 -0
  197. package/workflows/engineering/data/data.contract.md +202 -0
  198. package/workflows/engineering/data/data.new-pipeline.md +234 -0
  199. package/workflows/engineering/eng.breakdown-subtasks.md +420 -0
  200. package/workflows/engineering/eng.bug-audit.md +591 -0
  201. package/workflows/engineering/eng.build-tech-spec.md +1116 -0
  202. package/workflows/engineering/eng.create-ard-from-code.md +259 -0
  203. package/workflows/engineering/eng.create-ard.md +382 -0
  204. package/workflows/engineering/eng.create-rfc.md +245 -0
  205. package/workflows/engineering/eng.debug.md +479 -0
  206. package/workflows/engineering/eng.docs.md +40 -0
  207. package/workflows/engineering/eng.light-arch.md +84 -0
  208. package/workflows/engineering/eng.plan.md +213 -0
  209. package/workflows/engineering/eng.pr.md +466 -0
  210. package/workflows/engineering/eng.pre-pr.md +167 -0
  211. package/workflows/engineering/eng.review.md +185 -0
  212. package/workflows/engineering/eng.rpa.robot.md +342 -0
  213. package/workflows/engineering/eng.security-audit.md +312 -0
  214. package/workflows/engineering/eng.security-incident.md +275 -0
  215. package/workflows/engineering/eng.security-pipeline.md +210 -0
  216. package/workflows/engineering/eng.security-review.md +235 -0
  217. package/workflows/engineering/eng.start.md +494 -0
  218. package/workflows/engineering/eng.work.md +558 -0
  219. package/workflows/engineering/frontend/eng.frontend-component.md +190 -0
  220. package/workflows/engineering/frontend/eng.frontend-perf-audit.md +375 -0
  221. package/workflows/engineering/frontend/eng.frontend-review.md +185 -0
  222. package/workflows/engineering/qa/eng.qa-dev-quality-guide.md +51 -0
  223. package/workflows/engineering/qa/eng.qa-e2e-test-generation.md +51 -0
  224. package/workflows/engineering/qa/eng.qa-exploratory-session.md +60 -0
  225. package/workflows/engineering/qa/eng.qa-quality-gate-validation.md +202 -0
  226. package/workflows/engineering/qa/eng.qa-quality-report.md +83 -0
  227. package/workflows/engineering/qa/eng.qa-refinement-entry.md +83 -0
  228. package/workflows/engineering/qa/eng.qa-release-signoff.md +170 -0
  229. package/workflows/engineering/qa/eng.qa-sprint-planning.md +100 -0
  230. package/workflows/engineering/ta/eng.ta.atendimento.md +93 -0
  231. package/workflows/product/prod.roadmap.preview.md +110 -0
  232. package/workflows/product/prod.spec.breakdown.md +163 -0
  233. package/workflows/product/prod.spec.clarify.md +178 -0
  234. package/workflows/product/prod.spec.epic.md +154 -0
  235. package/workflows/product/prod.spec.frd.md +96 -0
  236. package/workflows/product/prod.spec.issue.md +145 -0
  237. package/workflows/product/prod.spec.md +60 -0
  238. package/workflows/product/prod.spec.prd.md +100 -0
  239. package/workflows/taxonomy.md +92 -0
  240. package/workflows/warm-up.md +574 -0
@@ -0,0 +1,178 @@
1
+ # Padrões de Teste por Linguagem/Framework
2
+
3
+ Este documento serve como referência para identificar arquivos de teste e padrões de nomenclatura em diferentes stacks.
4
+
5
+ ---
6
+
7
+ ## Convenções de Nomenclatura
8
+
9
+ ### Por Linguagem
10
+
11
+ | Linguagem | Padrão de Arquivo | Exemplo |
12
+ |-----------|-------------------|---------|
13
+ | TypeScript/JavaScript | `[filename].test.ts` | `user.test.ts` |
14
+ | TypeScript/JavaScript | `[filename].spec.ts` | `user.spec.ts` |
15
+ | Python | `test_[filename].py` | `test_user.py` |
16
+ | Python | `[filename]_test.py` | `user_test.py` |
17
+ | Go | `[filename]_test.go` | `user_test.go` |
18
+ | Java | `[Filename]Test.java` | `UserTest.java` |
19
+ | Rust | `[filename]_test.rs` | `user_test.rs` |
20
+ | C# | `[Filename]Tests.cs` | `UserTests.cs` |
21
+
22
+ ### Por Framework
23
+
24
+ | Framework | Estrutura de Pastas | Padrão |
25
+ |-----------|---------------------|--------|
26
+ | Jest | `__tests__/` ou junto ao código | `*.test.ts`, `*.spec.ts` |
27
+ | Vitest | `__tests__/` ou junto ao código | `*.test.ts`, `*.spec.ts` |
28
+ | Pytest | `tests/` | `test_*.py` |
29
+ | Go testing | Junto ao código | `*_test.go` |
30
+ | JUnit | `src/test/java/` | `*Test.java` |
31
+ | NUnit | `*.Tests/` | `*Tests.cs` |
32
+
33
+ ---
34
+
35
+ ## Estrutura de Diretórios Comum
36
+
37
+ ### JavaScript/TypeScript
38
+
39
+ ```
40
+ src/
41
+ ├── components/
42
+ │ ├── Button.tsx
43
+ │ └── Button.test.tsx # Teste junto ao componente
44
+ ├── services/
45
+ │ ├── auth.service.ts
46
+ │ └── auth.service.spec.ts
47
+ └── __tests__/ # Pasta dedicada (alternativa)
48
+ └── integration/
49
+ ```
50
+
51
+ ### Python
52
+
53
+ ```
54
+ project/
55
+ ├── src/
56
+ │ └── user/
57
+ │ └── service.py
58
+ └── tests/
59
+ ├── unit/
60
+ │ └── test_service.py
61
+ └── integration/
62
+ └── test_api.py
63
+ ```
64
+
65
+ ### Go
66
+
67
+ ```
68
+ project/
69
+ ├── user/
70
+ │ ├── service.go
71
+ │ └── service_test.go # Sempre junto ao código
72
+ └── integration/
73
+ └── api_test.go
74
+ ```
75
+
76
+ ---
77
+
78
+ ## Tipos de Teste
79
+
80
+ ### Unitário
81
+
82
+ - **Escopo**: Função/método isolado
83
+ - **Dependências**: Mockadas
84
+ - **Velocidade**: Muito rápido (< 100ms)
85
+ - **Quando usar**: Lógica de negócio, validações, transformações
86
+
87
+ ### Integração
88
+
89
+ - **Escopo**: Múltiplos componentes
90
+ - **Dependências**: Reais ou containers
91
+ - **Velocidade**: Médio (100ms - 5s)
92
+ - **Quando usar**: APIs, banco de dados, serviços externos
93
+
94
+ ### E2E (End-to-End)
95
+
96
+ - **Escopo**: Fluxo completo do usuário
97
+ - **Dependências**: Ambiente completo
98
+ - **Velocidade**: Lento (> 5s)
99
+ - **Quando usar**: Fluxos críticos, smoke tests
100
+
101
+ ---
102
+
103
+ ## Priorização de Testes
104
+
105
+ ### Alta Prioridade (P0)
106
+
107
+ - APIs públicas e endpoints
108
+ - Lógica de negócio crítica
109
+ - Código de autenticação/autorização
110
+ - Manipulação de dados sensíveis
111
+ - Cálculos financeiros
112
+
113
+ ### Média Prioridade (P1)
114
+
115
+ - Utilitários compartilhados
116
+ - Tratamento de erros
117
+ - Validações de entrada
118
+ - Transformações de dados
119
+
120
+ ### Baixa Prioridade (P2)
121
+
122
+ - Código de apresentação puro
123
+ - Configurações simples
124
+ - Constantes e enums
125
+ - Wrappers triviais
126
+
127
+ ---
128
+
129
+ ## Comandos de Execução
130
+
131
+ ### JavaScript/TypeScript
132
+
133
+ ```bash
134
+ # Jest
135
+ npm test
136
+ npm test -- --coverage
137
+ npm test -- --watch
138
+
139
+ # Vitest
140
+ npm run test
141
+ npm run test:coverage
142
+ ```
143
+
144
+ ### Python
145
+
146
+ ```bash
147
+ # Pytest
148
+ pytest
149
+ pytest --cov=src
150
+ pytest -v tests/unit/
151
+ ```
152
+
153
+ ### Go
154
+
155
+ ```bash
156
+ go test ./...
157
+ go test -cover ./...
158
+ go test -v ./user/
159
+ ```
160
+
161
+ ### Java (Maven)
162
+
163
+ ```bash
164
+ mvn test
165
+ mvn test -Dtest=UserTest
166
+ ```
167
+
168
+ ---
169
+
170
+ ## Ferramentas de Cobertura
171
+
172
+ | Linguagem | Ferramenta | Comando |
173
+ |-----------|------------|---------|
174
+ | JS/TS | Istanbul/NYC | `npm test -- --coverage` |
175
+ | Python | Coverage.py | `pytest --cov` |
176
+ | Go | go test | `go test -cover` |
177
+ | Java | JaCoCo | `mvn jacoco:report` |
178
+ | C# | Coverlet | `dotnet test --collect:"XPlat Code Coverage"` |
@@ -0,0 +1,325 @@
1
+ ---
2
+ name: eng-qa-testsprite
3
+ description: >
4
+ Executa testes automatizados usando TestSprite MCP Server para frontend e backend.
5
+ Trigger: Use quando precisar gerar e executar testes automatizados com TestSprite, validar cobertura de testes ou criar planos de teste.
6
+ argument-hint: "[frontend|backend|diff|codebase]"
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_standardized_prd 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
+ ---
14
+
15
+ # QA TestSprite - Testes Automatizados
16
+
17
+ Você é um **especialista em testes automatizados** usando o TestSprite MCP Server para gerar e executar testes de forma autônoma.
18
+
19
+ ## Objetivo
20
+
21
+ Automatizar a geração e execução de testes para projetos frontend e backend, utilizando o TestSprite para criar planos de teste abrangentes e scripts executáveis.
22
+
23
+ ## Entrada
24
+
25
+ - `$ARGUMENTS` - Tipo de teste: `frontend`, `backend`, `diff` (mudanças recentes) ou `codebase` (projeto completo)
26
+
27
+ ## Recursos
28
+
29
+ - **Referência (local)**: `$IDE/skills/qa-testsprite/references/testsprite-mcp.md`
30
+ - **Documentação oficial (backup)**: https://docs.testsprite.com/mcp/getting-started/overview
31
+ - **Saída**: Relatório de testes em markdown + scripts de teste gerados pelo TestSprite
32
+
33
+ ---
34
+
35
+ ## Pré-requisito
36
+
37
+ Verificar se o `ENV.md` existe e está preenchido corretamente. Se não existir ou estiver incompleto, execute `/init-jarvis` antes de continuar.
38
+
39
+ **Requisitos do projeto:**
40
+ - Frontend: React, Vue, Angular, Svelte, Next.js, Vite ou vanilla JS/TS
41
+ - Backend: Node.js, Python, Java, Go, Express.js, FastAPI, Spring Boot, REST ou GraphQL
42
+
43
+ ---
44
+
45
+ ## Quando Usar
46
+
47
+ Use este skill quando:
48
+ - Precisar gerar testes automatizados para o projeto
49
+ - Quiser validar cobertura de testes existente
50
+ - Necessitar de plano de testes abrangente
51
+ - Testar mudanças recentes (diff) antes de commit/PR
52
+ - Validar qualidade do código com testes E2E
53
+
54
+ **NÃO usar quando:**
55
+ - Projeto não tem frontend/backend suportado
56
+ - Necessitar apenas de testes unitários simples (use qa-unit-test)
57
+ - Ambiente local não está configurado para rodar o projeto
58
+
59
+ ---
60
+
61
+ ## Validação de Entrada
62
+
63
+ ```
64
+ Se $ARGUMENTS está vazio:
65
+ → Perguntar: "Qual tipo de teste deseja executar?"
66
+ → Opções: frontend, backend, diff, codebase
67
+ → Usar resposta como $ARGUMENTS
68
+
69
+ Se $ARGUMENTS não é válido:
70
+ → Exibir: "⚠️ Tipo inválido. Use: frontend, backend, diff ou codebase"
71
+ → Encerrar execução
72
+ ```
73
+
74
+ ---
75
+
76
+ ## Padrões Críticos
77
+
78
+ ### Padrão 1: Determinar porta local do projeto
79
+
80
+ Antes de executar `testsprite_bootstrap`, identificar a porta local:
81
+
82
+ ```
83
+ Verificar em ordem:
84
+ 1. package.json scripts (dev/start) → porta no comando
85
+ 2. vite.config.js/ts → server.port
86
+ 3. next.config.js → porta padrão 3000
87
+ 4. Dockerfile → EXPOSE
88
+ 5. .env → PORT variável
89
+ 6. Padrão: 5173 (Vite) ou 3000 (Next/Express)
90
+ ```
91
+
92
+ ### Padrão 2: Fluxo sequencial obrigatório
93
+
94
+ O TestSprite requer execução em ordem específica:
95
+
96
+ ```
97
+ 1. testsprite_bootstrap → Inicializa ambiente
98
+ 2. testsprite_generate_code_summary → Analisa codebase
99
+ 3. testsprite_generate_standardized_prd → Gera PRD normalizado
100
+ 4. testsprite_generate_*_test_plan → Cria plano de testes
101
+ 5. testsprite_generate_code_and_execute → Executa testes
102
+ ```
103
+
104
+ ### Padrão 3: Escopo correto para diff vs codebase
105
+
106
+ ```
107
+ diff → Testa mudanças recentes do seu trabalho (git)
108
+ codebase → Testa projeto completo
109
+ ```
110
+
111
+ Observação: o comportamento exato de "diff" pode variar (staged vs uncommitted). Se houver dúvida, pergunte ao usuário qual estado do Git deve ser considerado e ajuste o preparo da branch antes de executar.
112
+
113
+ ---
114
+
115
+ ## Árvore de Decisão
116
+
117
+ ```
118
+ Argumento é "frontend"? → Usar testsprite_generate_frontend_test_plan
119
+ Argumento é "backend"? → Usar testsprite_generate_backend_test_plan
120
+ Argumento é "diff"? → testScope: "diff"
121
+ Argumento é "codebase"? → testScope: "codebase"
122
+ Sem argumento? → Perguntar ao usuário
123
+ ```
124
+
125
+ ### Quando rodar Frontend + Backend juntos
126
+
127
+ Execute ambos os tipos quando:
128
+ - O fluxo é ponta-a-ponta (UI chama API) e você quer diagnóstico mais rápido
129
+ - Existem regras de auth e modelos de dados compartilhados entre UI e API
130
+ - O problema pode estar em contrato/payloads/status codes (API), mas se manifesta na UI
131
+
132
+ ---
133
+
134
+ ## Fluxo de Trabalho
135
+
136
+ ### 1. Identificar Tipo de Projeto
137
+
138
+ Analisar estrutura para determinar se é frontend ou backend:
139
+
140
+ ```bash
141
+ # Frontend indicators
142
+ ls package.json src/App.* src/main.* pages/ app/
143
+
144
+ # Backend indicators
145
+ ls server.* app.py main.go routes/ controllers/
146
+ ```
147
+
148
+ ### 2. Determinar Porta Local
149
+
150
+ ```bash
151
+ # Verificar package.json
152
+ grep -E "\"(dev|start)\":" package.json
153
+
154
+ # Verificar vite.config
155
+ grep "port" vite.config.*
156
+
157
+ # Verificar .env
158
+ grep "PORT" .env
159
+ ```
160
+
161
+ ### 3. Bootstrap TestSprite
162
+
163
+ Executar `testsprite_bootstrap` com parâmetros corretos:
164
+
165
+ | Parâmetro | Descrição |
166
+ |-----------|-----------|
167
+ | `localPort` | Porta do servidor local (ex: 5173, 3000) |
168
+ | `type` | "frontend" ou "backend" |
169
+ | `projectPath` | Caminho absoluto do projeto |
170
+ | `testScope` | "diff" ou "codebase" |
171
+ | `pathname` | Caminho da página (opcional, padrão "") |
172
+
173
+ ### 4. Gerar Sumário do Código
174
+
175
+ Executar `testsprite_generate_code_summary` para analisar o projeto.
176
+
177
+ ### 5. Gerar PRD Padronizado
178
+
179
+ Executar `testsprite_generate_standardized_prd` para criar PRD normalizado.
180
+
181
+ ### 6. Gerar Plano de Testes
182
+
183
+ Executar o plano apropriado:
184
+ - Frontend: `testsprite_generate_frontend_test_plan`
185
+ - Backend: `testsprite_generate_backend_test_plan`
186
+
187
+ **Parâmetros do Frontend Test Plan:**
188
+
189
+ | Parâmetro | Descrição |
190
+ |-----------|-----------|
191
+ | `projectPath` | Caminho absoluto do projeto |
192
+ | `needLogin` | `true` se o app requer autenticação, `false` caso contrário |
193
+
194
+ > **Nota**: Se `needLogin: true`, o TestSprite incluirá fluxos de login/logout e rotas protegidas no plano de testes. Forneça credenciais de conta de teste quando solicitado.
195
+
196
+ **Parâmetros do Backend Test Plan:**
197
+
198
+ A documentação do TestSprite pode solicitar campos adicionais dependendo do projeto e do modo de execução.
199
+
200
+ - Se a ferramenta pedir parâmetros extras, pergunte ao usuário os valores necessários e prossiga.
201
+ - Evite assumir valores padrão não documentados.
202
+
203
+ ### 7. Executar Testes
204
+
205
+ Executar `testsprite_generate_code_and_execute`:
206
+
207
+ | Parâmetro | Descrição |
208
+ |-----------|-----------|
209
+ | `projectName` | Nome do diretório raiz |
210
+ | `projectPath` | Caminho absoluto |
211
+ | `testIds` | IDs dos testes ([] = todos) |
212
+ | `additionalInstruction` | Instruções extras ("" = nenhuma) |
213
+
214
+ ### 8. Analisar Resultados
215
+
216
+ Verificar relatório gerado e apresentar resumo ao usuário.
217
+
218
+ ---
219
+
220
+ ## Regras
221
+
222
+ ### Nunca
223
+ - Executar bootstrap sem identificar a porta correta
224
+ - Pular etapas do fluxo sequencial
225
+ - Usar testScope errado (diff vs codebase)
226
+ - Executar sem projeto rodando localmente
227
+ - Ignorar erros de execução
228
+
229
+ ### Sempre
230
+ - Identificar porta local antes do bootstrap
231
+ - Seguir ordem sequencial das ferramentas
232
+ - Verificar se projeto está rodando antes de testar
233
+ - Apresentar resumo dos resultados ao usuário
234
+ - Perguntar tipo se argumento não fornecido
235
+
236
+ ---
237
+
238
+ ## Tratamento de Erros
239
+
240
+ ### Projeto não está rodando
241
+ - Exibir: "⚠️ O projeto precisa estar rodando localmente na porta {porta}"
242
+ - Sugerir: "Execute `npm run dev` ou equivalente antes de testar"
243
+
244
+ ### Porta incorreta
245
+ - Exibir: "⚠️ Não foi possível conectar na porta {porta}"
246
+ - Verificar novamente os arquivos de configuração
247
+ - Perguntar ao usuário qual porta usar
248
+
249
+ ### Tipo de projeto não suportado
250
+ - Exibir: "⚠️ Framework não suportado pelo TestSprite"
251
+ - Listar frameworks suportados
252
+ - Sugerir alternativas (qa-unit-test)
253
+
254
+ ### Testes falharam
255
+ - Apresentar resumo dos testes que falharam
256
+ - Oferecer opção de re-executar com `testsprite_rerun_tests`
257
+ - Sugerir correções baseadas nos erros
258
+
259
+ ---
260
+
261
+ ## Checklist de Conclusão
262
+
263
+ - [ ] Tipo de teste identificado (frontend/backend/ambos)
264
+ - [ ] Porta local determinada corretamente
265
+ - [ ] Projeto está rodando localmente
266
+ - [ ] Bootstrap executado com sucesso
267
+ - [ ] Sumário do código gerado
268
+ - [ ] PRD padronizado criado
269
+ - [ ] Parâmetro `needLogin` definido (se frontend)
270
+ - [ ] Credenciais de teste obtidas (se `needLogin: true`)
271
+ - [ ] Plano de testes gerado
272
+ - [ ] Testes executados
273
+ - [ ] Artefatos gerados em `testsprite_tests/`
274
+ - [ ] Resultados apresentados ao usuário
275
+
276
+ ---
277
+
278
+ ## Output
279
+
280
+ Artefatos gerados na pasta `testsprite_tests/`:
281
+
282
+ | Artefato | Caminho | Descrição |
283
+ |----------|---------|-----------|
284
+ | PRD normalizado | `standard_prd.json` | Requisitos estruturados do projeto |
285
+ | Relatório MD | `TestSprite_MCP_Test_Report.md` | Relatório em markdown |
286
+ | Relatório HTML | `TestSprite_MCP_Test_Report.html` | Relatório visual |
287
+ | Casos de teste | `TC001_*.py`, `TC002_*.py`, ... | Scripts de teste gerados |
288
+ | Config auxiliar | `tmp/config.json` | Configuração da execução |
289
+ | Sumário do código | `tmp/code_summary.json` | Análise do codebase |
290
+ | Resultados | `tmp/test_results.json` | Resultados detalhados dos testes |
291
+
292
+ ---
293
+
294
+ ## Mensagem de Conclusão
295
+
296
+ ```
297
+ TestSprite executado com sucesso!
298
+
299
+ Projeto: {projectName}
300
+ Tipo: {type}
301
+ Escopo: {testScope}
302
+ Porta: {localPort}
303
+
304
+ Resultados:
305
+ - Testes executados: {total}
306
+ - Passou: {passed}
307
+ - Falhou: {failed}
308
+ - Cobertura: {coverage}%
309
+
310
+ Artefatos gerados:
311
+ - Relatório: testsprite_tests/TestSprite_MCP_Test_Report.md
312
+ - Casos de teste: testsprite_tests/TC*.py
313
+
314
+ Próximo passo: Revisar relatório em testsprite_tests/
315
+ ```
316
+
317
+ ---
318
+
319
+ ## Recursos Adicionais
320
+
321
+ - **Referência (local)**: `$IDE/skills/qa-testsprite/references/testsprite-mcp.md`
322
+ - **Documentação oficial (backup)**: https://docs.testsprite.com/mcp/getting-started/overview
323
+ - **Frameworks suportados**:
324
+ - Frontend: React, Vue, Angular, Svelte, Next.js, Vite, vanilla JS/TS
325
+ - Backend: Node.js, Python, Java, Go, Express.js, FastAPI, Spring Boot, REST, GraphQL