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,558 @@
1
+ ---
2
+ description: Fluxo de implementação de código (SEM commits ou PRs)
3
+ auto_execution_mode: 3
4
+ agent: "$IDE/agents/engineering/eng.agent.md"
5
+ rules_file: "$IDE/rules/engineering/eng.work-rules.md"
6
+ template_file: "$IDE/templates/engineering/work-progress-template.md"
7
+ recommended_model: claude-sonnet-4-20250514
8
+ model_tier: very_high
9
+ model_justification: Implementação de código requer máxima precisão, entendimento profundo do codebase e geração de código de alta qualidade
10
+ ---
11
+
12
+ # Engineer Work
13
+
14
+ Este comando executa a **implementação de código** seguindo o plano de execução.
15
+
16
+ > 📋 **Rules**: `$IDE/rules/engineering/eng.work-rules.md`
17
+ > 📤 **Template**: `$IDE/templates/engineering/work-progress-template.md`
18
+
19
+ > ⚠️ **IMPORTANTE**: Este workflow é para codificação com commits incrementais por fase.
20
+ > **NÃO crie PRs, NÃO faça push**, mas **FAZ commit ao final de cada fase validada.**
21
+
22
+ ---
23
+
24
+ ## Regra de Execução Máxima
25
+
26
+ Este workflow **DEVE respeitar** o limite `MAX_AI_EXECUTION_PERCENTAGE` definido no `ENV.md`:
27
+
28
+ - **Valor padrão**: Se não estiver definido, assumir **80%**
29
+ - **Valor mínimo**: **60%** — se configurado abaixo, tratar como 60% e avisar o usuário
30
+ - **Valor máximo**: **100%** — se configurado acima de 100, tratar como 100%
31
+
32
+ **Comportamento esperado:**
33
+
34
+ 1. Ao iniciar, leia `MAX_AI_EXECUTION_PERCENTAGE` do `ENV.md`
35
+ 2. Conte o total de tarefas no to-do gerado pelo `eng.plan`
36
+ 3. Calcule: `tarefas_executáveis = floor(total × (MAX / 100))`
37
+ 4. Execute apenas até esse número de tarefas do to-do — ao atingir, **PARE**
38
+ 5. Reporte o que foi feito, liste o que resta e aguarde instrução explícita do usuário
39
+ 6. Nunca tente contornar ou ignorar este limite
40
+
41
+ **Exemplo:** Plano com 10 tarefas e `MAX_AI_EXECUTION_PERCENTAGE=80` → IA executa as 8 primeiras tarefas do to-do, para e aguarda o humano.
42
+
43
+ ---
44
+
45
+ ## Entrada
46
+
47
+ <task_manager_key>
48
+ #$ARGUMENTS
49
+ </task_manager_key>
50
+
51
+ Ler `TASK_MANAGER` do `$IDE/ENV.md`. Seguir `$IDE/rules/engineering/eng.integrations-rules.md`.
52
+
53
+ **Se não receber argumentos**, perguntar e **aguardar**:
54
+
55
+ - `TASK_MANAGER` vazio → *Qual o seu número de controle para esta tarefa? (ex: F-042)*
56
+ - `TASK_MANAGER` preenchido → *Qual o id do card no {TASK_MANAGER}?*
57
+
58
+ ---
59
+
60
+ ## Fase 0: Análise de Contexto (CDD)
61
+
62
+ > 🎯 **Objetivo**: Adaptar o rigor de implementação e validação com base no contexto real.
63
+ > ⚙️ **Configurável**: Controlada pela variável `ENABLE_CDD` no ENV.md
64
+
65
+ **Verificação de Ativação:**
66
+
67
+ ```bash
68
+ grep "^ENABLE_CDD=" $IDE/ENV.md
69
+ ```
70
+
71
+ - Se `ENABLE_CDD=false` ou não definida → **Pular esta fase** e usar comportamento padrão (Fase 1)
72
+ - Se `ENABLE_CDD=true` → Executar obrigatoriamente os passos 0.1 e 0.2 abaixo
73
+
74
+ ### 0.1 Verificar ou Gerar Contexto da Sessão
75
+
76
+ **OBRIGATÓRIO quando `ENABLE_CDD=true`**: verificar se `context.md` já existe:
77
+
78
+ ```bash
79
+ cat $SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/context.md 2>/dev/null
80
+ ```
81
+
82
+ - Se **existir** → ler o `CONTEXT_PROFILE` e continuar para 0.2
83
+ - Se **não existir** → **invocar o skill `/context-detect {TASK_MANAGER_KEY}` agora** (não continuar sem ele)
84
+
85
+ ```
86
+ /context-detect {TASK_MANAGER_KEY}
87
+ ```
88
+
89
+ > ⚠️ Não avance para a Fase 1 sem `context.md` gerado.
90
+
91
+ ```yaml
92
+ CONTEXT_PROFILE:
93
+ tipo: [hotfix|bugfix|feature|refactor]
94
+ urgencia: [normal|alta|baixa]
95
+ rigor: [mínimo|padrão|alto]
96
+ comunicacao: [didático|direto|estratégico]
97
+ autonomia: [baixa|média|alta]
98
+ projeto:
99
+ testes: [existentes|ausentes]
100
+ typescript: [strict|relaxado|ausente]
101
+ cicd: [configurado|ausente]
102
+ ```
103
+
104
+ ### 0.2 Adaptar Implementação por Contexto
105
+
106
+ | Tipo | Impacto na Implementação |
107
+ |------|--------------------------|
108
+ | `hotfix` | Foco cirúrgico, skip testes extensivos, validação mínima |
109
+ | `bugfix` | Implementar fix + teste que reproduz o bug |
110
+ | `feature` | Fluxo completo com testes e validações |
111
+ | `refactor` | Testes obrigatórios antes E depois, garantir comportamento idêntico |
112
+
113
+ ### 0.3 Calibração de Testes (do context.md)
114
+
115
+ Use as características do projeto detectadas:
116
+
117
+ | projeto.testes | Comportamento |
118
+ |----------------|---------------|
119
+ | `existentes` | Exigir testes para código novo, seguir padrões |
120
+ | `ausentes` | Sugerir testes, mas não bloquear |
121
+
122
+ | projeto.cicd | Comportamento |
123
+ |--------------|---------------|
124
+ | `configurado` | Executar validações locais antes de finalizar |
125
+ | `ausente` | Alertar sobre ausência de validação automática |
126
+
127
+ ### 0.4 Ajuste de Autonomia (do context.md)
128
+
129
+ | autonomia | Comportamento na Implementação |
130
+ |-----------|--------------------------------|
131
+ | `alta` | Implementar fase completa, pausar apenas entre fases |
132
+ | `média` | Implementar, pausar em decisões de design |
133
+ | `baixa` | Apresentar cada arquivo antes de criar, aguardar aprovação |
134
+
135
+ > 💡 O contexto é herdado do `eng.start` e não precisa ser re-apresentado ao usuário.
136
+
137
+ ---
138
+
139
+ ## Fase 0.5: Comentário no card — Início
140
+
141
+ Pular se `TASK_MANAGER` estiver vazio (freelance).
142
+
143
+ Antes de iniciar a implementação, registrar início:
144
+
145
+ ```
146
+ /eng-task-comment {TASK_MANAGER_KEY} ⚙️ [Jarvis] Iniciando implementação - Fase {N} do plano
147
+ ```
148
+
149
+ > Usa o skill `/eng-task-comment`. Não bloquear se falhar.
150
+
151
+ ---
152
+
153
+ ## Fase 1: Leitura da Sessão
154
+
155
+ ### 1.1 Carregar Arquivos
156
+
157
+ Leia os arquivos da sessão em `$SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/`:
158
+
159
+ 1. **`context.md`** - CONTEXT_PROFILE com calibrações (gerado por `/context-detect`)
160
+ 2. **`architecture.md`** - Entender decisões arquiteturais
161
+ 3. **`plan.md`** - Identificar fase atual e tarefas
162
+
163
+ ### 1.2 Identificar Fase Atual
164
+
165
+ Procure no `plan.md`:
166
+
167
+ - Fase marcada como `[Em Progresso ⏰]`
168
+ - Se nenhuma, identifique a primeira `[Não Iniciada ⏳]`
169
+
170
+ ---
171
+
172
+ ## Fase 2: Planejamento da Implementação
173
+
174
+ ### 2.1 Apresentar Plano de Abordagem
175
+
176
+ Apresente ao usuário:
177
+
178
+ ```
179
+ 📋 PLANO DE IMPLEMENTAÇÃO - Fase {N}
180
+
181
+ 🎯 Objetivo:
182
+ {objetivo da fase}
183
+
184
+ 📝 Tarefas:
185
+ 1. {tarefa_1} → {arquivo}
186
+ 2. {tarefa_2} → {arquivo}
187
+ 3. {tarefa_3} → {arquivo}
188
+
189
+ 📁 Arquivos a criar:
190
+ - {arquivo_novo_1}
191
+ - {arquivo_novo_2}
192
+
193
+ ✏️ Arquivos a modificar:
194
+ - {arquivo_existente_1}
195
+ - {arquivo_existente_2}
196
+
197
+ ⚠️ Pontos de atenção:
198
+ - {risco_ou_decisão}
199
+ ```
200
+
201
+ ### 2.2 Aguardar Aprovação
202
+
203
+ **PARE e aguarde confirmação do usuário antes de implementar.**
204
+
205
+ Se o usuário tiver sugestões, ajuste o plano.
206
+
207
+ ---
208
+
209
+ ## Fase 3: Implementação
210
+
211
+ ### 3.1 Implementar Código
212
+
213
+ **Skill de domínio (condicional)**: antes de implementar, identifique o domínio da feature e consulte o skill correspondente para padrões e boas práticas:
214
+
215
+ | Domínio | Indicadores | Skill |
216
+ |---------|-------------|-------|
217
+ | NestJS (framework) | módulos, DI, guards, interceptors, pipes, Passport/JWT | [eng-nestjs]($IDE/skills/eng-nestjs/SKILL.md) |
218
+ | Frontend | componentes, UI, estado, SSR/SSG, bundle, a11y | [eng-frontend]($IDE/skills/eng-frontend/SKILL.md) |
219
+ | Design System | novo componente DS, tokens, CVA, Storybook, breaking change | [eng-design-system]($IDE/skills/eng-design-system/SKILL.md) |
220
+ | Micro Frontend | novo remote, shell, Module Federation, contratos de interface | [eng-microfrontend]($IDE/skills/eng-microfrontend/SKILL.md) |
221
+ | Backend | endpoints, auth, workers, RabbitMQ, caching, integrações | [eng-backend]($IDE/skills/eng-backend/SKILL.md) |
222
+ | Scraping | web scraping, Puppeteer, extração de dados, ETL, parsing | [eng-scraper]($IDE/skills/eng-scraper/SKILL.md) |
223
+ | Robô / automação | converter fluxo manual em Playwright via Stagehand, sem seletores conhecidos | [eng-scraper-robot-builder]($IDE/skills/eng-scraper-robot-builder/SKILL.md) |
224
+
225
+ Para cada tarefa da fase:
226
+
227
+ 1. **Analisar contexto**
228
+ - Verificar arquivos similares no projeto
229
+ - Entender padrões utilizados
230
+
231
+ 2. **Implementar**
232
+ - Seguir convenções do projeto
233
+ - Criar código limpo e documentado
234
+ - Adicionar comentários explicativos
235
+
236
+ 3. **Criar testes**
237
+ - Testes unitários para cada função/método
238
+ - Cobrir casos de sucesso e erro
239
+
240
+ ### 3.2 Executar Validações Locais
241
+
242
+ Após implementar:
243
+
244
+ ```bash
245
+ # Executar testes
246
+ npm test # ou comando do projeto
247
+
248
+ # Verificar lint
249
+ npm run lint # ou comando do projeto
250
+
251
+ # Verificar build
252
+ npm run build # ou comando do projeto
253
+ ```
254
+
255
+ ### 3.3 Análise e Implementação de Testes
256
+
257
+ Após implementar o código da fase, execute o ciclo de testes:
258
+
259
+ #### 3.3.1 Identificar Gaps de Teste
260
+
261
+ Invoque o agente [eng.qa.test-planner]($IDE/agents/engineering/qa/eng.qa.test-planner.md) para:
262
+
263
+ - Analisar o código implementado na fase
264
+ - Identificar funções/métodos sem cobertura de teste
265
+ - Mapear casos de borda não cobertos
266
+ - Gerar relatório de gaps em `$DOCS_FOLDER/engineering/qa/{task-id}-test_coverage_branch_report.md`
267
+
268
+ #### 3.3.2 Implementar Testes Faltantes
269
+
270
+ Se o test-planner identificar gaps, escolha a abordagem baseada na **estratégia definida no `architecture.md` seção 6.5**:
271
+
272
+ **Opção A: Testes manuais (unitário/integração tradicional)**
273
+
274
+ Invoque o agente [eng.qa.testing-engineer]($IDE/agents/engineering/qa/eng.qa.testing-engineer.md) para:
275
+
276
+ - Escrever testes unitários/integração para código novo
277
+ - Cobrir casos de sucesso e erro identificados
278
+ - Seguir padrões de teste do projeto (Jest, Vitest, pytest, etc.)
279
+ - Garantir cobertura mínima definida na estratégia
280
+
281
+ **Opção B: Testes automatizados via TestSprite**
282
+
283
+ Se a estratégia de testes (definida pelo `test-architect` no `eng.start`) indicar uso de TestSprite, execute o skill [eng-qa-testsprite]($IDE/skills/eng-qa-testsprite/SKILL.md) com `testScope=diff`:
284
+
285
+ - Gera testes automaticamente para o código implementado
286
+ - Executa e valida cobertura
287
+ - Suporta: E2E, API, integração, frontend, backend
288
+ - Ideal para fluxos complexos ou quando velocidade é prioridade
289
+
290
+ **Quando usar cada opção:**
291
+
292
+ | Cenário | Usar |
293
+ |---------|------|
294
+ | Testes unitários de funções/classes | testing-engineer |
295
+ | Testes de API/endpoints | eng-qa-testsprite ou testing-engineer |
296
+ | Testes E2E de fluxos de usuário | eng-qa-testsprite |
297
+ | Testes de integração complexos | eng-qa-testsprite |
298
+ | Projeto sem TestSprite configurado | testing-engineer |
299
+ | Projeto sem TestSprite configurado | testing-engineer |
300
+
301
+ > ⚠️ **Importante**: Consulte `architecture.md` seção 6.5 para ver qual abordagem foi definida pelo test-architect.
302
+
303
+ #### 3.3.3 Revalidar
304
+
305
+ Após implementar os testes:
306
+
307
+ ```bash
308
+ # Executar todos os testes
309
+ npm test # ou comando do projeto
310
+
311
+ # Verificar cobertura
312
+ npm run test:coverage # se disponível
313
+ ```
314
+
315
+ > 💡 **Fluxo**: Implementa código → test-planner (gaps) → testing-engineer OU eng-qa-testsprite (implementa) → valida
316
+
317
+ ---
318
+
319
+ ## Fase 4: Validação com Usuário
320
+
321
+ ### 4.1 Apresentar Resultado
322
+
323
+ ```
324
+ ✅ IMPLEMENTAÇÃO CONCLUÍDA - Fase {N}
325
+
326
+ 📁 Arquivos criados:
327
+ - {arquivo_1} (+XX linhas)
328
+ - {arquivo_2} (+YY linhas)
329
+
330
+ ✏️ Arquivos modificados:
331
+ - {arquivo_3} (+XX -YY linhas)
332
+
333
+ 🧪 Testes:
334
+ - Unitários: ✅ Passando
335
+ - Lint: ✅ OK
336
+ - Build: ✅ OK
337
+
338
+ 📝 Decisões tomadas:
339
+ - {decisão_1}: {justificativa}
340
+
341
+ ❓ Aguardando sua validação para atualizar o plan.md
342
+ ```
343
+
344
+ ### 4.2 Iterar se Necessário
345
+
346
+ Se o usuário solicitar mudanças:
347
+
348
+ - Fazer ajustes
349
+ - Revalidar testes
350
+ - Apresentar novamente
351
+
352
+ ---
353
+
354
+ ## Fase 5: Atualização do plan.md
355
+
356
+ ### 5.1 Commit da Fase (Gitflow)
357
+
358
+ Após aprovação do usuário, commitar as mudanças desta fase:
359
+
360
+ #### 5.1.1 Determinar Layer e Scope
361
+
362
+ Com base nos arquivos modificados na fase, identificar:
363
+
364
+ | Layer | Indicadores |
365
+ |-------|-------------|
366
+ | `Backend` | controllers, services, repositories, workers, queues, migrations |
367
+ | `Frontend` | components, pages, hooks, styles, assets |
368
+ | `Fullstack` | mudanças em ambas as camadas |
369
+ | `Infra` | CI/CD, Docker, configs de infraestrutura |
370
+ | `Tests` | apenas arquivos de teste |
371
+ | `Docs` | apenas documentação |
372
+
373
+ **Scope**: nome do módulo/serviço principal afetado (ex: `account-api`, `auth-module`, `dashboard`)
374
+
375
+ #### 5.1.2 Adicionar Arquivos Específicos
376
+
377
+ > ⚠️ **NUNCA use `git add .`**
378
+
379
+ ```bash
380
+ git status # Ver arquivos alterados pela fase
381
+ git add {arquivo1} {arquivo2} ... # Adicionar apenas os da fase atual
382
+ ```
383
+
384
+ #### 5.1.3 Criar Commit
385
+
386
+ **Formato obrigatório:**
387
+
388
+ ```
389
+ {TASK_MANAGER_KEY} [{Layer}][{scope}] {título da fase}
390
+ ```
391
+
392
+ **Exemplos:**
393
+
394
+ ```bash
395
+ git commit -m "PLAT-202 [Backend][account-api] Implementar autenticação JWT"
396
+ git commit -m "PLAT-202 [Frontend][auth-module] Adicionar formulário de login"
397
+ git commit -m "BUG-89 [Backend][payment-service] Fix: null pointer no processamento"
398
+ ```
399
+
400
+ **Comando:**
401
+
402
+ ```bash
403
+ git commit -m "{TASK_MANAGER_KEY} [{Layer}][{scope}] {título da fase}"
404
+ ```
405
+
406
+ ---
407
+
408
+ ### 5.3 Marcar Fase como Concluída
409
+
410
+ Atualize o `plan.md`:
411
+
412
+ 1. Mudar status das tarefas para `[Completada ✅]`
413
+ 2. Mudar status da fase para `[Completada ✅]`
414
+ 3. Adicionar seção de comentários
415
+
416
+ ### 5.4 Adicionar Comentários
417
+
418
+ ```markdown
419
+ ### Comentários:
420
+
421
+ - **Decisão**: {decisão tomada e por quê}
422
+ - **Mudança**: {algo que mudou em relação ao planejado}
423
+ - **Aprendizado**: {algo descoberto durante implementação}
424
+ - **Atenção**: {ponto importante para próximas fases}
425
+ ```
426
+
427
+ ### 5.3 Commit da Fase (GitFlow)
428
+
429
+ Após validação do usuário e atualização do `plan.md`, commitar a fase na branch atual:
430
+
431
+ ```bash
432
+ # Verificar branch (deve ser a branch criada no eng.start)
433
+ git branch --show-current
434
+
435
+ # Adicionar arquivos específicos da fase (NUNCA git add .)
436
+ git add {arquivo1} {arquivo2} ... {arquivos da fase}
437
+
438
+ # Commit com mensagem padronizada
439
+ git commit -m "{TASK_MANAGER_KEY} {tipo}({escopo}): {descrição da fase}
440
+
441
+ - {mudança 1}
442
+ - {mudança 2}
443
+
444
+ Refs: {TASK_MANAGER_KEY}"
445
+ ```
446
+
447
+ **Regras de commit:**
448
+ - Sempre referenciar o `TASK_MANAGER_KEY` no início e no `Refs:`
449
+ - Uma fase = um commit (agrupar todas as mudanças da fase)
450
+ - Tipo: `feat`, `fix`, `refactor`, `test`, `docs`, `chore`
451
+ - **NUNCA** usar `git add .` — adicionar arquivos individualmente
452
+
453
+ **Exemplos:**
454
+
455
+ ```bash
456
+ # Fase de data layer
457
+ git commit -m "TASK-123 feat(users): criar migration e schema de usuários
458
+
459
+ - Criar migration create_users_table
460
+ - Definir modelo User com validações
461
+
462
+ Refs: TASK-123"
463
+
464
+ # Fase de backend
465
+ git commit -m "TASK-123 feat(auth): implementar endpoint POST /auth/register
466
+
467
+ - Criar AuthService com validação de email e hash de senha
468
+ - Criar AuthController com endpoint de registro
469
+ - Adicionar testes unitários do AuthService
470
+
471
+ Refs: TASK-123"
472
+ ```
473
+
474
+ > ⚠️ Se testes falham → **NÃO commitar**. Corrigir primeiro, depois commitar.
475
+ ## Fase 6: Próximos Passos
476
+
477
+ ### 6.1 Se Houver Mais Fases
478
+
479
+ ```
480
+ ✅ Fase {N} concluída com sucesso!
481
+
482
+ 📌 Próxima fase disponível: Fase {N+1}
483
+ - {resumo da próxima fase}
484
+
485
+ ❓ Deseja iniciar a Fase {N+1}?
486
+ ```
487
+
488
+ **AGUARDE confirmação antes de iniciar.**
489
+
490
+ ### 6.2 Se Todas as Fases Foram Concluídas
491
+
492
+ **Comentário no card — Conclusão** (pular se freelance):
493
+
494
+ ```
495
+ /eng-task-comment {TASK_MANAGER_KEY} ✅ [Jarvis] Implementação concluída - todas as {N} fases completadas. Commits realizados por fase.
496
+ ```
497
+
498
+ ```
499
+ 🎉 TODAS AS FASES CONCLUÍDAS!
500
+
501
+ 📁 Sessão: $SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/
502
+ 📄 Plan atualizado: plan.md ✅
503
+ 🌿 Branch: {TASK_MANAGER_KEY}-{titulo} — {N} commits realizados
504
+
505
+ 📊 Resumo:
506
+ - Fases completadas: {N}
507
+ - Commits realizados: {N} (um por fase)
508
+ - Arquivos criados: {X}
509
+ - Arquivos modificados: {Y}
510
+ - Testes adicionados: {Z}
511
+
512
+ 📌 Próximos passos:
513
+ 1. Revise o código e os commits: git log --oneline
514
+ 2. Execute os testes completos do projeto
515
+ 3. Execute `eng.pr` para abrir o MR para dev
516
+
517
+ ⚠️ LEMBRETE: push e PR são responsabilidade do `eng.pr`.
518
+ ```
519
+
520
+ ## Regras Importantes
521
+
522
+ ### ⛔ NÃO FAÇA
523
+
524
+ - ❌ NÃO crie Pull Requests
525
+ - ❌ NÃO faça push (`git push`) — push é responsabilidade do `eng.pr`
526
+ - ❌ NÃO use `git add .` — adicionar arquivos individualmente
527
+ - ❌ NÃO commite sem aprovação explícita do usuário na fase
528
+ - ❌ NÃO commite com testes falhando
529
+ - ❌ NÃO mova cards no Jira
530
+ - ❌ NÃO sugira "vamos fazer o PR agora"
531
+
532
+ ### ✅ FAÇA SEMPRE
533
+
534
+ - ✅ Implementar código conforme plan.md
535
+ - ✅ Criar/modificar arquivos de código
536
+ - ✅ Criar testes
537
+ - ✅ Executar validações locais (lint, test, build)
538
+ - ✅ Atualizar plan.md com progresso
539
+ - ✅ Dialogar com usuário para validação
540
+ - ✅ **Commitar ao final de cada fase validada** (GitFlow — Fase 5.3)
541
+
542
+ ---
543
+
544
+ ## Tratamento de Situações
545
+
546
+ ### Se o usuário pedir para fazer commit antes da fase estar concluída:
547
+
548
+ → Informe que commits são feitos ao final de cada fase completa e validada (Fase 5.3)
549
+
550
+ ### Se faltar o plan.md:
551
+
552
+ → Não prossiga sem o plano
553
+
554
+ ### Se houver bloqueio técnico:
555
+
556
+ → Documente no plan.md como `[Bloqueada 🚫]`
557
+ → Explique o bloqueio ao usuário
558
+ → Sugira alternativas se possível