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,494 @@
1
+ ---
2
+ description: Inicia o planejamento de uma tarefa criando o architecture.md
3
+ auto_execution_mode: 3
4
+ agent: "$IDE/agents/engineering/eng.agent.md"
5
+ rules_file: "$IDE/rules/engineering/eng.start-rules.md"
6
+ template_file: "$IDE/templates/engineering/architecture-template.md"
7
+ recommended_model: claude-sonnet-4-20250514
8
+ model_tier: high
9
+ model_justification: Requer análise arquitetural profunda, investigação de codebase e raciocínio complexo para criar documentação técnica de qualidade
10
+ ---
11
+
12
+ # start
13
+
14
+ Este comando inicia o **planejamento** de uma nova feature.
15
+
16
+ > 📋 **Rules**: `$IDE/rules/engineering/eng.start-rules.md`
17
+ > 📤 **Template**: `$IDE/templates/engineering/architecture-template.md`
18
+
19
+ > ⚠️ **IMPORTANTE**: Este workflow é APENAS para planejamento e documentação.
20
+ > **NÃO execute código, NÃO crie arquivos de código, NÃO faça commits.**
21
+ > O único artefato a ser criado é o `architecture.md`.
22
+
23
+ ---
24
+
25
+ ## Entrada
26
+
27
+ <task_manager_key>
28
+ #$ARGUMENTS
29
+ </task_manager_key>
30
+
31
+ Ler `TASK_MANAGER` do `$IDE/ENV.md`. Seguir `$IDE/rules/engineering/eng.integrations-rules.md` (freelance vs board).
32
+
33
+ **Se não receber argumentos**, perguntar e **aguardar**:
34
+
35
+ - `TASK_MANAGER` vazio → *Qual o seu número de controle para esta tarefa? (ex: F-042, CLIENTE-agosto)*
36
+ - `TASK_MANAGER` preenchido → *Qual o id do card no {TASK_MANAGER}? (ex: TASK-123)*
37
+
38
+ > 📁 **Padrão de Nomenclatura**: A pasta da sessão será criada com o `TASK_MANAGER_KEY` em **lowercase**.
39
+ > Exemplo: `TASK-123` → `$SESSIONS_DIR/eng/task-123/`
40
+
41
+ ---
42
+
43
+ ## Fase 0: Verificação de Perfil
44
+
45
+ Ler `POSITION` do ENV.md:
46
+
47
+ ```bash
48
+ grep "^POSITION=" $IDE/ENV.md
49
+ ```
50
+
51
+ Se `POSITION=TECH ANALYST`:
52
+ ```
53
+ → Este workflow não é adequado para o perfil TECH ANALYST.
54
+ → Redirecionar para: $FLOWS_FOLDER/engineering/ta/eng.ta.atendimento.md
55
+
56
+ ℹ️ O eng.start é voltado para desenvolvimento de features.
57
+ Para atendimento técnico, use ta.atendimento.
58
+ ```
59
+
60
+ Caso contrário, continuar normalmente.
61
+
62
+ ---
63
+
64
+ ## Fase 0.1: Análise de Contexto (CDD)
65
+
66
+ > 🎯 **Objetivo**: Adaptar o rigor e cerimônia do workflow com base no contexto real da tarefa.
67
+ > ⚙️ **Configurável**: Controlada pela variável `ENABLE_CDD` no ENV.md
68
+
69
+ **Verificação de Ativação:**
70
+
71
+ ```bash
72
+ grep "^ENABLE_CDD=" $IDE/ENV.md
73
+ ```
74
+
75
+ - Se `ENABLE_CDD=false` ou não definida → **Pular esta fase** e ir direto para Fase 1
76
+
77
+ - Se `ENABLE_CDD=true` → **Executar obrigatoriamente o skill `/context-detect` agora** (não pular, não sugerir ao usuário — executar)
78
+
79
+ ### 0.1 Executar Detecção de Contexto
80
+
81
+ **OBRIGATÓRIO quando `ENABLE_CDD=true`**: invocar o skill imediatamente antes de qualquer outra ação:
82
+
83
+ ```
84
+ /context-detect {TASK_MANAGER_KEY}
85
+ ```
86
+
87
+ > ⚠️ Não continue para a Fase 1 sem que o `/context-detect` tenha sido executado com sucesso e o `context.md` gerado.
88
+
89
+ O skill `/context-detect` irá:
90
+ - Analisar a branch, Jira key e características do projeto
91
+ - Ler POSITION e MAX_AI_EXECUTION_PERCENTAGE do ENV.md
92
+ - Gerar o arquivo `$SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/context.md`
93
+
94
+ ### 0.2 Herdar CONTEXT_PROFILE
95
+
96
+ Após a detecção, o arquivo `context.md` conterá:
97
+
98
+ ```
99
+ CONTEXT_PROFILE:
100
+ tipo: [hotfix|bugfix|feature|refactor]
101
+ urgencia: [normal|alta|baixa]
102
+ rigor: [mínimo|padrão|alto]
103
+ comunicacao: [didático|direto|estratégico]
104
+ autonomia: [baixa|média|alta]
105
+ ```
106
+
107
+ ### 0.3 Adaptar Workflow por Contexto
108
+
109
+ | Tipo detectado | Impacto no workflow |
110
+ |----------------|---------------------|
111
+ | `hotfix` | Skip 3.3 (padrões), architecture.md mínimo |
112
+ | `bugfix` | Architecture.md simplificado, foco em root cause |
113
+ | `feature` | Fluxo completo com todas as fases |
114
+ | `refactor` | Aumentar Fase 3 (análise de impacto) |
115
+
116
+ | Autonomia | Comportamento |
117
+ |-----------|---------------|
118
+ | `alta` | Executar mais, perguntar menos, documentar decisões tomadas |
119
+ | `média` | Balanço entre execução e validação |
120
+ | `baixa` | Apresentar opções ao invés de decidir, aguardar validação |
121
+
122
+ ### 0.4 Confirmar com Usuário
123
+
124
+ O perfil detectado será apresentado automaticamente pelo skill.
125
+ Se o usuário solicitar ajustes, re-execute com `--override`.
126
+
127
+ ---
128
+
129
+ ## Fase 0.5: Comentário no card — Início
130
+
131
+ Pular se `TASK_MANAGER` estiver vazio (freelance).
132
+
133
+ Após obter o `TASK_MANAGER_KEY`, registrar o início do planejamento:
134
+
135
+ ```
136
+ /eng-task-comment {TASK_MANAGER_KEY} 🚀 [Jarvis] Iniciando planejamento - architecture.md sendo criado
137
+ ```
138
+
139
+ > Usa o skill `/eng-task-comment` (MCP Atlassian → fallback curl). Não bloquear se falhar.
140
+
141
+ ---
142
+
143
+ ## Fase 1: Preparação do Ambiente
144
+
145
+ ### 1.1 Criar Branch de Feature (GitFlow)
146
+
147
+ Crie a branch de trabalho a partir de `dev` seguindo o padrão GitFlow:
148
+
149
+ ```bash
150
+ # Garantir que está em dev e atualizado
151
+ git checkout dev
152
+ git pull origin dev
153
+
154
+ # Criar branch no padrão {TASK_MANAGER_KEY}-{titulo-em-kebab-case}
155
+ git checkout -b {TASK_MANAGER_KEY}-{titulo-em-kebab-case}
156
+ ```
157
+
158
+ **Se a branch já existir**, fazer checkout nela:
159
+
160
+ ```bash
161
+ git checkout {TASK_MANAGER_KEY}-{titulo-em-kebab-case}
162
+ ```
163
+
164
+ **Verificar branch ativa:**
165
+
166
+ ```bash
167
+ git branch --show-current
168
+ ```
169
+
170
+ **Regras de nomenclatura:**
171
+
172
+ | Campo | Regra |
173
+ |-------|-------|
174
+ | `TASK_MANAGER_KEY` | UPPERCASE (ex: `TASK-123`) |
175
+ | Título | kebab-case — lowercase, hífens, sem acentos |
176
+ | Tamanho | Máximo 50 caracteres no título |
177
+
178
+ **Exemplos:**
179
+
180
+ | TASK_MANAGER_KEY | Título | Branch |
181
+ |----------|--------|--------|
182
+ | `TASK-123` | "Implementar autenticação JWT" | `TASK-123-implementar-autenticacao-jwt` |
183
+ | `BUG-789` | "Fix null pointer em login" | `BUG-789-fix-null-pointer-em-login` |
184
+
185
+ > ⚠️ Se o usuário já estiver em uma branch com o padrão correto do TASK_MANAGER_KEY, use-a sem criar nova.
186
+ > ⚠️ **NUNCA** criar branch a partir de `main`/`master`. Sempre a partir de `dev`.
187
+ > ✅ A branch criada aqui será usada em todos os workflows subsequentes (work, pre-pr, pr).
188
+
189
+ ### 1.2 Criar Diretório de Sessão
190
+
191
+ Crie o diretório da sessão se não existir:
192
+
193
+ ```
194
+ $SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/
195
+ ```
196
+
197
+ > ⚠️ **IMPORTANTE**: O `TASK_MANAGER_KEY` deve ser convertido para **lowercase**.
198
+ > Exemplo: `TASK-123` → `task-123`
199
+
200
+ ### 1.3 Registrar Início da Sessão
201
+
202
+ Registre o timestamp inicial para cálculo de lead time:
203
+
204
+ ```bash
205
+ # Criar arquivo de timestamp (usado para calcular lead time em eng.pr)
206
+ echo "$(date -u +"%Y-%m-%dT%H:%M:%SZ")" > $SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/.timestamp_start
207
+ ```
208
+
209
+ > 💡 Este timestamp será usado pelo `eng.pr` para calcular o lead time (início → PR criado)
210
+
211
+ ---
212
+
213
+ ## Fase 2: Entendimento da Tarefa
214
+
215
+ ### 2.1 Coleta de Informações
216
+
217
+ Solicite ao usuário os dados de entrada:
218
+
219
+ - Card do Jira (ID ou conteúdo)
220
+ - Git Issues relacionadas
221
+ - Contexto adicional
222
+
223
+ ### 2.2 Buscar Documentação Central (condicional)
224
+
225
+ Se `CENTRAL_DOCS_REPO` estiver configurado no ENV.md, buscar docs relacionados:
226
+
227
+ **Passo 1:** Identificar docs relevantes com base no Jira ID e tags do card
228
+
229
+ **Passo 2:** Buscar documentos via skill docs-central:
230
+ - PRD relacionado (contexto de produto)
231
+ - ARD geral do produto (arquitetura macro)
232
+ - ARD específico do repo (se existir)
233
+ - RFCs relevantes
234
+
235
+ **Passo 3:** Incorporar ao contexto antes de prosseguir para análise
236
+
237
+ **Comportamento:**
238
+ - Se docs encontrados → carregar e exibir resumo
239
+ - Se não encontrados → perguntar se tem docs localmente
240
+ - Se `CENTRAL_DOCS_REPO` vazio → pular silenciosamente
241
+
242
+ ### 2.3 Análise do Requisito
243
+
244
+ Examine os cards, seus pais e filhos, e desenvolva compreensão do que deve ser implementado.
245
+
246
+ **Se docs do central foram carregados:**
247
+ - Validar alinhamento com PRD
248
+ - Verificar restrições arquiteturais do ARD
249
+ - Considerar decisões de RFCs relacionados
250
+
251
+ **Reflita sobre:**
252
+
253
+ - **Contexto**: Qual a motivação por trás deste desenvolvimento?
254
+ - **Meta**: Qual é o resultado esperado para esta issue?
255
+ - **Estratégia**: Como deve ser desenvolvido (direcionalmente, sem detalhes)?
256
+ - **APIs/Ferramentas**: Se demanda novas, você as compreende?
257
+ - **Validação**: Como deve ser validado?
258
+ - **Dependências**: Quais são?
259
+ - **Limitações**: Quais existem?
260
+
261
+ ### 2.3 Perguntas de Clarificação
262
+
263
+ Formule **3-5 perguntas críticas** para concluir a tarefa.
264
+
265
+ Apresente ao usuário:
266
+
267
+ 1. Sua compreensão da tarefa
268
+ 2. Suas propostas iniciais
269
+ 3. As perguntas de clarificação
270
+
271
+ **Aguarde respostas antes de prosseguir.**
272
+
273
+ Se precisar de mais clarificações, continue o diálogo até ter compreensão sólida.
274
+
275
+ ---
276
+
277
+ ## Fase 3: Investigação Técnica
278
+
279
+ ### 3.1 Análise do Codebase
280
+
281
+ Use ferramentas de busca para entender o código existente:
282
+
283
+ - **Glob**: Encontrar arquivos relacionados
284
+ - **Grep**: Buscar padrões e implementações similares
285
+ - **Read**: Analisar arquivos críticos que serão impactados
286
+
287
+ ### 3.2 Documentação Existente
288
+
289
+ Verifique:
290
+
291
+ - `$DOCS_FOLDER/**/*.md` - Documentação do projeto
292
+ - `$SESSIONS_DIR/eng/**/*.md` - Tech specs anteriores
293
+ - `README.md`, `ARCHITECTURE.md` - Visão geral do projeto onde está sendo executado
294
+ - Anexos no Jira - PRD, FRD, ARD, RFC
295
+
296
+ ### 3.3 Padrões e Convenções
297
+
298
+ Documente:
299
+
300
+ - Padrões arquiteturais do projeto
301
+ - Convenções de nomenclatura
302
+ - Estrutura de pastas
303
+ - Frameworks e bibliotecas utilizadas
304
+ - Padrões de testes
305
+
306
+ ### 3.4 Estratégia de Testes (Condicional)
307
+
308
+ **Se a feature tiver requisitos de performance ou segurança**, invoque o agente [eng.qa.test-architect]($IDE/agents/engineering/qa/eng.qa.test-architect.md) para definir:
309
+
310
+ - **Tipos de teste necessários**: unitário, integração, e2e, performance, segurança
311
+ - **Thresholds de cobertura**: mínimos aceitáveis para a feature
312
+ - **Requisitos de performance**: latência, throughput, carga esperada (se aplicável)
313
+ - **Requisitos de segurança**: RBAC, validação de input, proteção contra injeção (se aplicável)
314
+ - **Estrutura de testes**: pastas e convenções a seguir
315
+
316
+ > ⚠️ **Quando executar**: Features que envolvam APIs públicas, processamento de dados sensíveis, alta carga esperada ou requisitos não-funcionais explícitos.
317
+
318
+ **Se a feature tiver requisitos de performance** (latência, throughput, escalabilidade), use o skill [eng-performance-engineer]($IDE/skills/eng-performance-engineer/SKILL.md) para:
319
+ - Estabelecer baseline de métricas antes de implementar
320
+ - Definir thresholds e SLIs/SLOs da feature
321
+ - Planejar load tests com cenários realistas
322
+
323
+ **Se a feature envolver IA** (LLM, RAG, agentes, chatbots, embeddings), use o skill [eng-ai-engineer]($IDE/skills/eng-ai-engineer/SKILL.md) para:
324
+ - Projetar a arquitetura de IA com fluxo de dados e seleção de modelo
325
+ - Definir estratégias de cache, custo e guardrails de segurança
326
+ - Planejar observabilidade e métricas de avaliação do sistema de IA
327
+
328
+ **Se a feature envolver aspectos avançados do framework NestJS** (módulos, DI, guards, interceptors, pipes, exception filters, ConfigModule, autenticação Passport/JWT), use o skill [eng-nestjs]($IDE/skills/eng-nestjs/SKILL.md) para:
329
+ - Definir arquitetura de módulos e boundaries de domínio
330
+ - Planejar estratégia de guards e interceptors
331
+ - Configurar autenticação e validação de entrada
332
+
333
+ **Se a feature envolver interface ou componentes frontend** (React, Next.js, SSR/SSG, performance de UI, acessibilidade), use o skill [eng-frontend]($IDE/skills/eng-frontend/SKILL.md) para:
334
+ - Definir estratégia de componentes, estado e renderização
335
+ - Planejar performance de UI (bundle, Core Web Vitals, lazy loading)
336
+ - Estabelecer padrões de acessibilidade e cobertura de testes de interface
337
+
338
+ **Se a feature envolver o design system** (novo componente compartilhado, tokens, Storybook, breaking change em componente público), use o skill [eng-design-system]($IDE/skills/eng-design-system/SKILL.md) para:
339
+ - Determinar se o componente pertence ao design system ou ao remote (reutilizável vs local)
340
+ - Definir tokens semânticos, variantes CVA e API pública de props
341
+ - Planejar story no Storybook e estratégia de versionamento (patch/minor/major)
342
+
343
+ **Se a feature envolver micro frontend** (novo remote, integração ao shell, Module Federation, contratos de interface, shared dependencies), use o skill [eng-microfrontend]($IDE/skills/eng-microfrontend/SKILL.md) para:
344
+ - Definir arquitetura shell/remote e o que será exposto
345
+ - Planejar contrato de interface em TypeScript (tipos em `mfe-contracts`)
346
+ - Estratégia de shared dependencies e event bus para comunicação desacoplada
347
+
348
+ **Se a feature envolver APIs, autenticação ou workers backend** (endpoints REST/GraphQL, JWT/OAuth2, RBAC, RabbitMQ, cron, integrações externas, caching), use o skill [eng-backend]($IDE/skills/eng-backend/SKILL.md) para:
349
+ - Definir design de endpoints (paginação, versionamento, idempotência)
350
+ - Planejar autenticação/autorização e controle de acesso
351
+ - Arquitetar workers, filas RabbitMQ e integrações com retry/circuit breaker
352
+
353
+ **Se a feature envolver engenharia de dados** (pipelines ETL/ELT, modelagem dimensional, ingestão em S3/Athena, jobs AWS Glue, DAGs Airflow, contratos de dados, Great Expectations, camadas bronze/silver/gold), use o skill [eng-data-engineer]($IDE/skills/eng-data-engineer/SKILL.md) para:
354
+ - Definir a arquitetura Medallion da feature (bronze → silver → gold)
355
+ - Planejar Expectation Suite obrigatória e checks de qualidade
356
+ - Documentar pipeline com `data-pipeline-template.md` antes de implementar
357
+ - Garantir idempotência e nomenclatura padronizada
358
+
359
+ **Se a feature envolver extração de dados ou scraping** (web scraping, Puppeteer, parsing, ETL), use o skill [eng-scraper]($IDE/skills/eng-scraper/SKILL.md) para:
360
+ - Avaliar viabilidade ética e legal (robots.txt, ToS)
361
+ - Definir ferramenta e arquitetura do scraper
362
+ - Planejar resiliência, rate limiting e formato de saída
363
+
364
+ **Se a feature envolver autenticação, autorização, inputs de usuário, dados sensíveis ou endpoints públicos**, use o skill [eng-cybersecurity]($IDE/skills/eng-cybersecurity/SKILL.md) para:
365
+ - Mapear superfície de ataque e dados sensíveis (PII, financeiros)
366
+ - Definir modelo de auth e RBAC adequado
367
+ - Planejar estratégia de sanitização de inputs
368
+ - Documentar vetores de risco na seção de segurança do `architecture.md`
369
+
370
+ Documente a estratégia de testes no `architecture.md` na seção apropriada.
371
+
372
+ ---
373
+
374
+ ## Fase 4: Criação do Architecture.md
375
+
376
+ ### 4.1 Criar Arquivo
377
+
378
+ Crie o arquivo `$SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/architecture.md` usando o template:
379
+
380
+ ```
381
+ .$IDE/templates/engineering/architecture-template.md
382
+ ```
383
+
384
+ Copie a estrutura do template e preencha com as informações coletadas.
385
+
386
+ ### 4.2 Preenchimento
387
+
388
+ Preencha **TODAS** as seções com as informações coletadas nas fases anteriores.
389
+
390
+ **Seja específico:**
391
+
392
+ - Liste arquivos reais que serão modificados
393
+ - Use nomes de classes/funções existentes
394
+ - Referencie código encontrado na investigação
395
+
396
+ ---
397
+
398
+ ## Fase 5: Revisão e Aprovação
399
+
400
+ ### 5.1 Apresentação ao Usuário
401
+
402
+ Apresente:
403
+
404
+ 1. Resumo do que foi documentado
405
+ 2. Principais decisões arquiteturais
406
+ 3. Riscos identificados
407
+ 4. Link para o arquivo criado
408
+
409
+ ### 5.2 Iteração
410
+
411
+ Se o usuário tiver feedback:
412
+
413
+ - Atualize o documento
414
+ - Apresente novamente
415
+ - Continue até aprovação explícita
416
+
417
+ ### 5.3 Atualizar Board
418
+
419
+ > Consultar `$IDE/rules/engineering/eng.downstream-flow-rules.md` para regras completas de transição.
420
+
421
+ De acordo com o fluxo downstream, ao assumir este card o **DEV** (`JUNIOR` / `PLENO` / `SENIOR` / `SPECIALIST`) deve mover o card para **"Em progresso"**.
422
+
423
+ > Este é o sinal de que a entrega está em andamento e o DEV assumiu a responsabilidade ponta-a-ponta.
424
+
425
+ ### 5.4 Comentário no card — Conclusão
426
+
427
+ Pular se `TASK_MANAGER` estiver vazio (freelance).
428
+
429
+ Registrar conclusão do planejamento:
430
+
431
+ ```
432
+ /eng-task-comment {TASK_MANAGER_KEY} ✅ [Jarvis] Planejamento concluído - architecture.md criado. Branch: {NOME_DA_BRANCH}
433
+ ```
434
+
435
+ ### 5.5 Finalização
436
+
437
+ Quando o usuário aprovar, informe:
438
+
439
+ ```
440
+ ✅ Architecture.md criado com sucesso!
441
+
442
+ 🌿 Branch: {TASK_MANAGER_KEY}-{titulo-em-kebab-case} (criada a partir de dev)
443
+ 📄 Arquivo: $SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/architecture.md
444
+ 🌿 Branch: {NOME_DA_BRANCH}
445
+
446
+ 🔄 Board: mova o card para "Em progresso" no seu board de tarefas.
447
+
448
+ 📌 Próximos passos:
449
+ 1. Execute `eng.plan` para criar o plano detalhado de execução
450
+ 2. Execute `eng.work` para implementar (commita automaticamente ao final de cada fase)
451
+ 3. Execute `eng.pr` para abrir o MR para dev
452
+
453
+ 🚫 Lembre-se: Este workflow NÃO executa código.
454
+ Para implementar, use os comandos de execução.
455
+ ```
456
+
457
+ ---
458
+
459
+ ## Regras Importantes
460
+
461
+ ### ⛔ NÃO FAÇA
462
+
463
+ - ❌ NÃO execute código
464
+ - ❌ NÃO crie arquivos de código (.ts, .js, .py, etc.)
465
+ - ❌ NÃO faça commits
466
+ - ❌ NÃO instale dependências
467
+ - ❌ NÃO modifique arquivos de código existentes
468
+ - ❌ NÃO crie branch a partir de `main`/`master`
469
+
470
+ ### ✅ FAÇA APENAS
471
+
472
+ - ✅ Criar branch a partir de `dev` no padrão `{TASK_MANAGER_KEY}-{titulo}`
473
+ - ✅ Criar o diretório `$SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/`
474
+ - ✅ Criar o arquivo `architecture.md`
475
+ - ✅ Investigar e analisar o codebase (leitura apenas)
476
+ - ✅ Dialogar com o usuário para clarificações
477
+
478
+ ---
479
+
480
+ ## Tratamento de Erros
481
+
482
+ ### Se o usuário pedir para executar código:
483
+
484
+ → Informe que este workflow é apenas para planejamento
485
+
486
+ ### Se faltar informações críticas:
487
+
488
+ → Liste o que falta
489
+ → Pergunte ao usuário antes de prosseguir
490
+
491
+ ### Se houver dúvidas sobre a arquitetura:
492
+
493
+ → Apresente as opções ao usuário
494
+ → Aguarde decisão antes de documentar