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,297 @@
1
+ ---
2
+ trigger: always_on
3
+ env_file: "@/ENV.md"
4
+ ---
5
+
6
+ > **Applies to:** HUB: all | POSITION: all | AREA: all | SQUAD: all
7
+
8
+ # Regras de Fluxo Downstream — Responsáveis e Critérios
9
+
10
+ > Referência obrigatória ao mover cards no board (Jira, GitLab, Linear ou equivalente).
11
+ > Consultar antes de orientar o usuário sobre transição de status.
12
+
13
+ ---
14
+
15
+ > Fonte de cargos: `taxonomy.md`. Este arquivo define o fluxo. Autonomia: o profissional que assumiu o card conduz ponta-a-ponta.
16
+
17
+ ## Princípio de autonomia
18
+
19
+ Quem assumiu o card é o **owner** e pode avançar **todas** as transições abaixo.
20
+ TECH LEAD, PM e pares **revisam e apoiam** — não precisam clicar para o trabalho continuar.
21
+
22
+ Papéis no fluxo (ainda existem; não são cadeado):
23
+
24
+ | Papel no Fluxo | Positions | Papel |
25
+ |---|---|---|
26
+ | **Owner** | quem pegou o card: DEV, TECH LEAD ou PM | Conduz ponta-a-ponta |
27
+ | **DEV** | `JUNIOR`, `PLENO`, `SENIOR`, `SPECIALIST` | Entrega técnica |
28
+ | **TECH LEAD** | `TECH LEAD` | Apoia priorização, review e deploy quando pedido |
29
+ | **PM** | `PM`, `TPM`, `GPM` | Apoia aceite de produto quando pedido |
30
+ | **QA** | `QA-ENGINEER` | Executa testes em apoio; não bloqueia o owner |
31
+ | **N2** | Tech Analyst / suporte | Validação operacional se o time tiver esse papel |
32
+
33
+ ## Diagrama do Fluxo
34
+
35
+ ```mermaid
36
+ graph TD
37
+ A[A fazer] -->|Owner puxa| B[Pronto para desenvolvimento]
38
+ B -->|Owner assume| C[Em progresso]
39
+ C -->|Owner abre MR| D[Review de código]
40
+ D -->|Owner após merge/review| E[Pronto para QA]
41
+ E -->|Owner inicia testes| F[Em QA]
42
+ F -->|Owner se negativo +flag| B
43
+ F -->|Owner se positivo| G[Pronto para produto]
44
+ G -->|Owner ou PM se ajuste +flag| B
45
+ G -->|Owner ou PM se OK| H[Pronto para deploy]
46
+ H -->|Owner inicia deploy| I[Em rollout]
47
+ I -->|Owner quando estável| J[Validação]
48
+ J -->|Owner/PM/N2 se problema| B
49
+ J -->|Owner/PM/N2 se OK| K[Pronto/Cancelado]
50
+ A -.->|Owner/TL/PM cancelam| K
51
+ ```
52
+
53
+ ---
54
+
55
+ ## Matriz de Transições (Quem move o quê)
56
+
57
+ Default: **Owner do card**. TL/PM podem mover também (apoio), nunca como bloqueio.
58
+
59
+ | De | Para | Quem move | Quando mover |
60
+ |---|---|---|---|
61
+ | **A fazer** | Pronto para desenvolvimento | **Owner** (DEV, TL ou PM) | Quando o card estiver claro o bastante para puxar |
62
+ | **Pronto para desenvolvimento** | Em progresso | **Owner** | Quando assumir e começar |
63
+ | **Em progresso** | Review de código | **Owner** | Quando abrir MR pronto para revisão |
64
+ | **Review de código** | Pronto para QA | **Owner** | Após merge ou review (qualquer revisor; TL não é obrigatório) |
65
+ | **Pronto para QA** | Em QA | **Owner** | Quando iniciar testes |
66
+ | **Em QA** | Pronto para produto | **Owner** | Resultado positivo |
67
+ | **Em QA** | Pronto para desenvolvimento | **Owner** | Resultado negativo — flag + comentário |
68
+ | **Pronto para produto** | Pronto para deploy | **Owner ou PM** | Aceite (owner pode auto-aceitar se PM não estiver no fluxo) |
69
+ | **Pronto para produto** | Pronto para desenvolvimento | **Owner ou PM** | Ajustes — flag + comentário |
70
+ | **Pronto para deploy** | Em rollout | **Owner** | Quando iniciar deploy |
71
+ | **Em rollout** | Validação | **Owner** | Deploy estável |
72
+ | **Validação** | Pronto/Cancelado | **Owner, PM ou N2** | Validação ok |
73
+ | **Validação** | Pronto para desenvolvimento | **Owner, PM ou N2** | Problema — comentário |
74
+ | **Qualquer etapa** | Pronto/Cancelado | **Owner, TL ou PM** | Cancelar com motivo |
75
+
76
+ ---
77
+
78
+ ## Responsabilidades no Fluxo
79
+
80
+ ### Owner (DEV, TECH LEAD ou PM — quem assumiu)
81
+ - Puxa, implementa, abre MR, faz merge, valida, aceita e faz deploy do **próprio** card.
82
+ - Pede review/ajuda quando quiser — não é obrigatório esperar.
83
+
84
+ ### TECH LEAD
85
+ - Apoia priorização, review e deploy **quando pedido**.
86
+ - Pode mover qualquer card (destravar, cancelar, cobrir férias).
87
+ - Não é gate: o DEV não espera o TL para avançar.
88
+
89
+ ### DEV
90
+ - Dono da entrega ponta-a-ponta dos cards que assumiu.
91
+ - Pode escrever spec de produto, tech spec e subtarefas.
92
+
93
+ ### QA
94
+ - Executa testes e reporta bugs em apoio ao owner.
95
+ - Não bloqueia o owner de avançar depois de registrar o resultado.
96
+
97
+ ### PM / TPM / GPM
98
+ - Pode escrever spec, priorizar e aceitar.
99
+ - Pode assumir um card e conduzi-lo (incluindo handoff técnico).
100
+ - Aceite de produto é desejável, não cadeado: owner avança se PM não estiver no fluxo.
101
+
102
+ ### N2
103
+ - Validação operacional pós-deploy **se o time tiver esse papel**.
104
+ - Owner pode encerrar o card se não houver N2.
105
+
106
+ ---
107
+
108
+ ## Detalhamento dos Estágios
109
+
110
+ ### 1) A fazer — Owner: quem for puxar
111
+
112
+ **Objetivo:** fila saudável e "puxável".
113
+
114
+ **Pronto para entrar:**
115
+ - Contexto mínimo existe (objetivo, escopo, restrições, critérios de aceite).
116
+ - Dependências mapeadas (ou explicitamente "nenhuma").
117
+
118
+ **Saídas:** *Pronto para desenvolvimento* quando o profissional puxar (DEV, TL ou PM).
119
+
120
+ **Responsabilidades:**
121
+ - Owner (ou TL/PM se estiver refinando o backlog) deixa o card puxável.
122
+ - Não esperar o TL para puxar um card já claro.
123
+
124
+ ---
125
+
126
+ ### 2) Pronto para desenvolvimento — Owner: DEV
127
+
128
+ **Objetivo:** sinalizar que pode ser iniciado imediatamente.
129
+
130
+ **Pronto para entrar:**
131
+ - Critérios de aceite claros.
132
+ - Definição de "feito" acordada (testes, logs, métricas, migração, feature flag, etc.).
133
+
134
+ **Saídas:** *Em progresso* quando alguém pegar.
135
+
136
+ **Responsabilidades do DEV:**
137
+ - Assumir a entrega ponta-a-ponta do card (inclui QA/ajustes até pronto).
138
+
139
+ > O owner move para "Em progresso" ao assumir. Se o card ficar parado, qualquer DEV/TL/PM pode puxá-lo.
140
+
141
+ ---
142
+
143
+ ### 3) Em progresso — Owner: DEV
144
+
145
+ **Objetivo:** implementação ativa.
146
+
147
+ **Pronto para entrar:** card já assumido, branch/MR iniciados.
148
+
149
+ **Saídas:** *Review de código* quando houver MR pronto.
150
+
151
+ **Responsabilidades do DEV:**
152
+ - Comunicar riscos cedo (bloqueios, escopo estourando, dependências).
153
+ - Garantir checklist básico (lint/test/build, migrações, logs/telemetria quando aplicável).
154
+
155
+ ---
156
+
157
+ ### 4) Review de código — Owner: DEV
158
+
159
+ **Objetivo:** MR em revisão até merge.
160
+
161
+ **Pronto para entrar:**
162
+ - MR aberto, descrevendo mudança, riscos, como testar, rollback/flag quando aplicável.
163
+ - Link do ticket no MR.
164
+
165
+ **Saídas:** *Pronto para QA* após merge ou review.
166
+
167
+ **Responsabilidades do owner (autor do MR):**
168
+ - Pedir review quando fizer sentido; responder comentários; manter MR pequeno.
169
+ - Se review travar, o owner desbloqueia (pede ajuda ao TL/par — não fica parado esperando).
170
+
171
+ **Quem move para próxima etapa:** o owner (após merge ou revisão).
172
+
173
+ ---
174
+
175
+ ### 5) Pronto para QA — Owner: DEV
176
+
177
+ **Objetivo:** pacote pronto para validação (ambiente e instruções).
178
+
179
+ **Pronto para entrar:**
180
+ - Mudança disponível em ambiente de teste (ou release candidate preparado).
181
+ - Passo-a-passo de validação e critérios de aceite listados.
182
+
183
+ **Saídas:** *Em QA* quando DEV iniciar os testes e validação.
184
+
185
+ **Responsabilidades do DEV:**
186
+ - Garantir que existe build/ambiente e dados/seed (se necessário).
187
+ - Garantir instruções de teste.
188
+ - Mover para *Em QA* quando iniciar a validação.
189
+
190
+ ---
191
+
192
+ ### 6) Em QA — Owner: DEV
193
+
194
+ **Objetivo:** validar e corrigir até ficar ok.
195
+
196
+ **Pronto para entrar:** DEV executando testes ou validação em andamento.
197
+
198
+ **Saídas:**
199
+ - Volta para *Pronto para desenvolvimento* (se resultado negativo) — DEV adiciona flag e comentário.
200
+ - Vai para *Pronto para produto* quando resultado positivo.
201
+
202
+ **Responsabilidades do DEV:**
203
+ - Executar testes e validação (pode contar com apoio do QA).
204
+ - Se encontrar bugs/problemas, voltar para *Pronto para desenvolvimento* com flag e comentário claro.
205
+ - Manter ciclo curto (fix → reteste).
206
+ - Não jogar o card para outra pessoa só para mudar status — o owner avança.
207
+
208
+ > Se QA atuar, manter Owner: DEV (accountability de entrega) e definir "Executor: QA". Isso evita o limbo "QA é o dono então dev não corre".
209
+
210
+ ---
211
+
212
+ ### 7) Pronto para produto — Owner: quem entregou (PM apoia)
213
+
214
+ **Objetivo:** validação funcional/negócio.
215
+
216
+ **Pronto para entrar:**
217
+ - Validação técnica ok.
218
+ - Evidências quando fizer sentido.
219
+
220
+ **Saídas:** *Pronto para deploy* quando aprovado (pelo PM **ou** pelo owner se PM não estiver no fluxo).
221
+
222
+ **Responsabilidades:**
223
+ - PM valida comportamento quando estiver no fluxo.
224
+ - Owner pode auto-aceitar em times pequenos / se o aceite de produto não for um papel separado.
225
+ - Ajustes: volta para *Pronto para desenvolvimento* com flag e comentário.
226
+
227
+ ---
228
+
229
+ ### 8) Pronto para deploy — Owner: quem vai publicar
230
+
231
+ **Objetivo:** deploy consciente (rollback/flag quando necessário).
232
+
233
+ **Pronto para entrar:**
234
+ - Aceite feito (PM ou owner).
235
+ - Plano de deploy/rollback/flag quando o risco pedir.
236
+
237
+ **Saídas:** *Em rollout* quando iniciar deploy.
238
+
239
+ **Responsabilidades do owner:**
240
+ - Executar ou coordenar o deploy do próprio card.
241
+ - Pedir apoio ao TL em janela de risco — não é obrigatório.
242
+
243
+ ---
244
+
245
+ ### 9) Em rollout — Owner: quem publicou
246
+
247
+ **Objetivo:** rollout em execução e monitorado.
248
+
249
+ **Pronto para entrar:** deploy iniciado.
250
+
251
+ **Saídas:** *Validação* quando a mudança estiver ativa e estável.
252
+
253
+ **Responsabilidades do owner:**
254
+ - Monitorar métricas/logs/alertas; rollback se necessário.
255
+ - Comunicar status. Pedir ajuda ao TL em incidente.
256
+
257
+ ---
258
+
259
+ ### 10) Validação — Owner: quem publicou (PM/N2 apoiam)
260
+
261
+ **Objetivo:** validação operacional e de suporte (pós-deploy).
262
+
263
+ **Pronto para entrar:** feature ativa, checklist de validação disponível.
264
+
265
+ **Saídas:** *Pronto/Cancelado* quando validado (ou encerrado).
266
+
267
+ **Responsabilidades do N2:**
268
+ - Confirmar que a feature está funcionando no "mundo real".
269
+ - Se encontrar problema: voltar para *Pronto para desenvolvimento* com comentário objetivo do que falhou.
270
+ - Se validação OK: mover para *Pronto/Cancelado*.
271
+
272
+ ---
273
+
274
+ ### 11) Pronto/Cancelado — Owner: quem fechou o card
275
+
276
+ **Objetivo:** fechamento formal.
277
+
278
+ **Pronto para entrar:**
279
+ - Validado com sucesso **ou**
280
+ - Cancelado com motivo registrado.
281
+
282
+ **Responsabilidades:**
283
+ - Owner, TL ou PM registram motivo de cancelamento ou evidência de entrega.
284
+ - Qualquer um deles pode cancelar com motivo (prioridade/escopo).
285
+
286
+ ---
287
+
288
+ ## RACI
289
+
290
+ | Papel | Ação no fluxo |
291
+ |---|---|
292
+ | **Owner (DEV, TL ou PM)** | Conduz o card ponta-a-ponta. Move todas as transições do próprio trabalho. |
293
+ | **TECH LEAD** | Apoia. Pode mover qualquer card para destravar — não é gate. |
294
+ | **DEV** | Entrega técnica completa, inclusive spec/PR/deploy dos cards que assumiu. |
295
+ | **QA** | Testa e reporta. Não bloqueia o owner. |
296
+ | **PM / TPM / GPM** | Spec, priorização e aceite. Pode assumir e conduzir um card. |
297
+ | **N2** | Validação operacional se existir no time. |
@@ -0,0 +1,73 @@
1
+ ---
2
+ trigger: always_on
3
+ ---
4
+
5
+ > **Applies to:** HUB: all | POSITION: all | AREA: all | SQUAD: all
6
+
7
+ # Integrações — vendors via ENV
8
+
9
+ O Jarvis não assume Jira, GitLab ou Slack. Leia `$IDE/ENV.md` e despache pelo adapter.
10
+
11
+ ## Variáveis
12
+
13
+ | Variável | Vendors | Adapter |
14
+ |----------|---------|---------|
15
+ | `TASK_MANAGER` | jira, linear, github, asana | `bin/lib/tasks/comment.js` |
16
+ | `VERSION_CONTROL` | gitlab, github, bitbucket | `bin/lib/vcs/` |
17
+ | `MESSAGE_COMUNICATOR` | slack, discord, teams | runtime `communicator/` |
18
+
19
+ `{TASK_MANAGER_KEY}` = id da tarefa. Com board, é o id do card. Sem board, é o número de controle do usuário.
20
+
21
+ ## Freelance (TASK_MANAGER vazio)
22
+
23
+ `TASK_MANAGER` vazio, ausente ou ainda com a lista `[jira, linear, github, asana]` = **sem board** (freelance).
24
+
25
+ 1. **Perguntar** o `TASK_MANAGER_KEY` se não veio em `$ARGUMENTS`. Não inventar. Não exigir padrão `XXX-000`.
26
+ 2. Prompt:
27
+
28
+ ```
29
+ Não há TASK_MANAGER no ENV — modo freelance.
30
+ Qual o seu número de controle para esta tarefa?
31
+ (ex: F-042, CLIENTE-agosto, 2026-08-13)
32
+ ```
33
+
34
+ 3. Usar a resposta (lowercase) como pasta `$SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/` e no prefixo da branch.
35
+ 4. **Não** chamar `/eng-task-comment`, **não** mover card, **não** buscar issue no board.
36
+
37
+ Com board definido, se o key não veio nos argumentos, perguntar o id do card naquele vendor (ex: Jira `TASK-123`).
38
+
39
+ ## Comentário no card
40
+
41
+ Só se `TASK_MANAGER` estiver preenchido com um vendor. Freelance → pular.
42
+
43
+ ```
44
+ /eng-task-comment {TASK_MANAGER_KEY} {mensagem}
45
+ ```
46
+
47
+ ## MR / PR
48
+
49
+ ```
50
+ node bin/lib/vcs/create-merge.js --source BRANCH --target BRANCH --title "..." --body-file path
51
+ ```
52
+
53
+ Vendor pelo hostname de `git remote get-url origin` (ou `VERSION_CONTROL`).
54
+
55
+ ## Alertas (runtime)
56
+
57
+ `MESSAGE_COMUNICATOR=slack` → Socket Mode (três tokens).
58
+ `discord` → Bot token + channel ID em `ALERTS_CHANNEL`.
59
+ `teams` → Incoming Webhook em `MESSAGE_COMUNICATOR_BOT_TOKEN`.
60
+
61
+ ## URL do card
62
+
63
+ | TASK_MANAGER | Padrão |
64
+ |--------------|--------|
65
+ | jira | `{TASK_MANAGER_URL_BASE}/browse/{TASK_MANAGER_KEY}` |
66
+ | linear | `{TASK_MANAGER_URL_BASE}/issue/{TASK_MANAGER_KEY}` |
67
+ | github | `{TASK_MANAGER_URL_BASE}/issues/{TASK_MANAGER_KEY}` |
68
+ | asana | `{TASK_MANAGER_URL_BASE}/0/0/{TASK_MANAGER_KEY}` |
69
+
70
+ ## Proibido
71
+
72
+ - Hardcodar `gitlab.com`, `/browse/` ou Slack Bolt fora dos adapters.
73
+ - Pedir token no chat.
@@ -0,0 +1,333 @@
1
+ ---
2
+ trigger: always_on
3
+ ---
4
+
5
+ > **Applies to:** HUB: all | POSITION: all | AREA: ENGINEERING | SQUAD: all
6
+
7
+ # Regras do Workflow Plan (Planejamento de Execução)
8
+
9
+ ## Propósito
10
+
11
+ O workflow `plan` tem como objetivo **criar um plano de execução detalhado e faseado** que permita implementar a feature de forma incremental e retomável.
12
+
13
+ ---
14
+
15
+ ## ⛔ Gate 0: Pré-requisitos Obrigatórios
16
+
17
+ > Esta regra é executada **antes de qualquer ação**. Se qualquer condição falhar, o workflow para imediatamente.
18
+
19
+ ### Regra 0.1 — TASK_MANAGER_KEY obrigatório
20
+
21
+ Ler `TASK_MANAGER` do ENV.md. Ver `eng.integrations-rules.md` (freelance vs board).
22
+
23
+ Se `$ARGUMENTS` não trouxer o key: **perguntar e aguardar**. Não inventar. Não exigir `XXX-000`.
24
+
25
+ - Freelance (`TASK_MANAGER` vazio): *Qual o seu número de controle para esta tarefa?*
26
+ - Com board: *Qual o id do card no {TASK_MANAGER}?*
27
+
28
+ Sem resposta → **PARAR**. Com resposta → seguir (pasta/branch em lowercase).
29
+
30
+ ### Regra 0.2 — Proibido executar em branch protegida
31
+
32
+ Verificar branch atual:
33
+
34
+ ```bash
35
+ git branch --show-current
36
+ ```
37
+
38
+ Se for `main`, `master`, `develop`, `staging` ou `homolog`:
39
+
40
+ ```
41
+ 🚫 BLOQUEADO: Você está em uma branch protegida ({BRANCH_ATUAL}).
42
+
43
+ Este workflow só pode ser executado em uma branch de feature.
44
+ Execute /eng.start {TASK_MANAGER_KEY} primeiro para criar a branch correta.
45
+
46
+ Branch esperada: {TASK_MANAGER_KEY}-{titulo-kebab-case}
47
+ ```
48
+
49
+ **→ PARAR. Não executar nenhuma fase.**
50
+
51
+ ### Regra 0.3 — Branch deve corresponder ao TASK_MANAGER_KEY
52
+
53
+ Se a branch atual **não contém** o `{TASK_MANAGER_KEY}` no nome:
54
+
55
+ ```
56
+ ⚠️ ATENÇÃO: A branch atual ({BRANCH_ATUAL}) não corresponde à tarefa {TASK_MANAGER_KEY}.
57
+
58
+ Branch atual: {BRANCH_ATUAL}
59
+ Esperado: branch contendo {TASK_MANAGER_KEY}
60
+
61
+ Confirmar que está na branch certa? (s/n)
62
+ ```
63
+
64
+ **→ Aguardar confirmação explícita antes de prosseguir.**
65
+
66
+ ---
67
+
68
+ ## ⚠️ REGRA CRÍTICA: SOMENTE PLANEJAMENTO
69
+
70
+ > **Este workflow é EXCLUSIVAMENTE para criar o `plan.md`.**
71
+ >
72
+ > **NÃO é permitido:**
73
+ > - ❌ Escrever código
74
+ > - ❌ Criar arquivos de código (.ts, .js, .py, etc.)
75
+ > - ❌ Modificar arquivos existentes do projeto
76
+ > - ❌ Executar comandos de build/test
77
+ > - ❌ Fazer commits ou criar branches
78
+ > - ❌ Iniciar implementação
79
+ >
80
+ > **O ÚNICO artefato permitido é o arquivo `plan.md`.**
81
+
82
+ Se o usuário pedir para começar a implementação, responda:
83
+
84
+ ```
85
+ ⏸️ O workflow `plan` é apenas para planejamento.
86
+
87
+ Para implementar o código, use o workflow `work`:
88
+ → eng.work {TASK_MANAGER_KEY}
89
+ ```
90
+
91
+ ---
92
+
93
+ ## Princípios Fundamentais
94
+
95
+ ### 1. Localização do Arquivo
96
+
97
+ O arquivo `plan.md` deve ser criado em:
98
+
99
+ ```
100
+ $SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/plan.md
101
+ ```
102
+
103
+ Onde `{TASK_MANAGER_KEY}` é o ID do card em **lowercase** (ex: `TASK-123` → `task-123`).
104
+
105
+ ### 2. Pré-requisito
106
+
107
+ Antes de criar o `plan.md`, o arquivo `architecture.md` **DEVE existir** na mesma pasta da sessão. Se não existir, execute o workflow `start` primeiro.
108
+
109
+ ---
110
+
111
+ ## Estrutura do Plano
112
+
113
+ ### Fases
114
+
115
+ O plano deve ser dividido em **fases incrementais**, onde cada fase:
116
+
117
+ - Pode ser executada por um desenvolvedor em **1 hora** (máximo)
118
+ - Entrega valor testável
119
+ - Não quebra o sistema durante a implementação
120
+ - Permite retomar o trabalho se a sessão for interrompida
121
+
122
+ ### Tarefas dentro das Fases
123
+
124
+ Cada fase contém tarefas que:
125
+
126
+ - São específicas e acionáveis
127
+ - Possuem critério de conclusão claro
128
+ - Indicam dependências (sequencial ou paralelo)
129
+ - Incluem detalhes de implementação
130
+
131
+ ---
132
+
133
+ ## Status das Fases e Tarefas
134
+
135
+ ### Indicadores de Status
136
+
137
+ | Status | Emoji | Uso |
138
+ |--------|-------|-----|
139
+ | Completada | ✅ | Fase/tarefa finalizada e testada |
140
+ | Em Progresso | ⏰ | Fase/tarefa sendo executada agora |
141
+ | Não Iniciada | ⏳ | Fase/tarefa ainda não começada |
142
+ | Bloqueada | 🚫 | Fase/tarefa com impedimento |
143
+
144
+ ### Regras de Status
145
+
146
+ 1. **Apenas UMA fase** pode estar `Em Progresso ⏰` por vez
147
+ 2. **Apenas UMA tarefa** pode estar `Em Progresso ⏰` dentro de uma fase
148
+ 3. Marcar como `Completada ✅` somente após verificação
149
+ 4. Usar `Bloqueada 🚫` quando houver dependência externa
150
+
151
+ ---
152
+
153
+ ## Fluxo de Criação do Plano
154
+
155
+ ```
156
+ ┌─────────────────────────────────────────────────────────────┐
157
+ │ │
158
+ │ 1. LER ARCHITECTURE.MD │
159
+ │ ↓ │
160
+ │ 2. ANALISAR ESCOPO → Entender requisitos e restrições │
161
+ │ ↓ │
162
+ │ 3. PESQUISAR → Buscar arquivos relevantes no código │
163
+ │ ↓ │
164
+ │ 4. DIVIDIR EM FASES → Incrementos de ~1 hora │
165
+ │ ↓ │
166
+ │ 5. DETALHAR TAREFAS → Específicas e acionáveis │
167
+ │ ↓ │
168
+ │ 6. IDENTIFICAR DEPENDÊNCIAS → Sequencial vs paralelo │
169
+ │ ↓ │
170
+ │ 7. CRIAR PLAN.MD → Usando o template │
171
+ │ ↓ │
172
+ │ 8. VALIDAR COM HUMANO → Confirmar antes de prosseguir │
173
+ │ │
174
+ └─────────────────────────────────────────────────────────────┘
175
+ ```
176
+
177
+ ---
178
+
179
+ ## Comportamento Esperado
180
+
181
+ ### Fase 1: Análise do Architecture.md
182
+
183
+ 1. **Ler** o arquivo `architecture.md` da sessão
184
+ 2. **Extrair**:
185
+ - Objetivo da feature
186
+ - Requisitos funcionais e não-funcionais
187
+ - Decisões arquiteturais
188
+ - Restrições técnicas
189
+ - Dependências externas
190
+
191
+ ### Fase 2: Pesquisa no Codebase
192
+
193
+ 1. **Identificar** arquivos existentes que serão modificados
194
+ 2. **Buscar** padrões similares já implementados
195
+ 3. **Analisar** estrutura atual do projeto
196
+ 4. **Documentar** descobertas relevantes
197
+
198
+ ### Fase 3: Divisão em Fases
199
+
200
+ 1. **Agrupar** trabalho em incrementos lógicos
201
+ 2. **Garantir** que cada fase:
202
+ - Seja independentemente testável
203
+ - Não quebre funcionalidades existentes
204
+ - Possa ser commitada separadamente
205
+ 3. **Ordenar** por dependências técnicas
206
+
207
+ ### Fase 4: Detalhamento de Tarefas
208
+
209
+ Para cada tarefa, incluir:
210
+
211
+ - **O que fazer**: Descrição clara da ação
212
+ - **Onde fazer**: Arquivo(s) envolvido(s)
213
+ - **Como fazer**: Abordagem técnica
214
+ - **Como testar**: Verificação de conclusão
215
+
216
+ ### Fase 5: Validação
217
+
218
+ 1. **Apresentar** o plano ao humano
219
+ 2. **Discutir** ajustes necessários
220
+ 3. **Atualizar** `architecture.md` se houver mudanças arquiteturais
221
+
222
+ ---
223
+
224
+ ## Template do Plan.md
225
+
226
+ O arquivo deve seguir o template em `$IDE/templates/engineering/plan-template.md`.
227
+
228
+ ---
229
+
230
+ ## Regras de Atualização
231
+
232
+ ### Durante a Execução (workflow `work`)
233
+
234
+ 1. **Atualizar status** conforme progresso
235
+ 2. **Adicionar comentários** sobre mudanças de direção
236
+ 3. **Documentar** aprendizados importantes
237
+ 4. **Registrar** bloqueios e resoluções
238
+
239
+ ### Seção de Comentários
240
+
241
+ Cada fase pode ter uma seção `### Comentários:` para:
242
+
243
+ - Mudanças de direção necessárias
244
+ - Aprendizados durante a implementação
245
+ - Decisões tomadas em conjunto
246
+ - Problemas encontrados e soluções
247
+
248
+ ---
249
+
250
+ ## Regras de Qualidade
251
+
252
+ ### ⛔ NUNCA FAÇA
253
+
254
+ - ❌ Criar `plan.md` sem ler `architecture.md`
255
+ - ❌ Fases que levam mais de 1 hora
256
+ - ❌ Tarefas vagas como "implementar feature"
257
+ - ❌ Ignorar dependências entre tarefas
258
+ - ❌ Pular a validação com o humano
259
+ - ❌ Escrever em outro idioma que não pt-BR
260
+
261
+ ### ✅ SEMPRE FAÇA
262
+
263
+ - ✅ Basear o plano no `architecture.md`
264
+ - ✅ Dividir em fases de ~1 hora
265
+ - ✅ Detalhar cada tarefa com contexto
266
+ - ✅ Indicar dependências (sequencial/paralelo)
267
+ - ✅ Usar os emojis de status corretamente
268
+ - ✅ Validar o plano com o humano antes de prosseguir
269
+ - ✅ Escrever tudo em português (pt-BR)
270
+
271
+ ---
272
+
273
+ ## Erros Comuns a Evitar
274
+
275
+ ### ❌ Anti-padrões
276
+
277
+ 1. **Fases muito grandes**
278
+ - ❌ "Implementar todo o backend"
279
+ - ✅ "Criar endpoint de autenticação"
280
+
281
+ 2. **Tarefas vagas**
282
+ - ❌ "Fazer os testes"
283
+ - ✅ "Criar teste unitário para validação de token em `auth.service.spec.ts`"
284
+
285
+ 3. **Sem ordem de execução**
286
+ - ❌ Lista solta de tarefas
287
+ - ✅ Fases numeradas com dependências claras
288
+
289
+ 4. **Sem critério de conclusão**
290
+ - ❌ "Melhorar código"
291
+ - ✅ "Refatorar `UserService` para usar injeção de dependência - verificar com teste unitário"
292
+
293
+ ---
294
+
295
+ ## Checklist de Conclusão
296
+
297
+ Antes de considerar o plano completo:
298
+
299
+ - [ ] `architecture.md` foi lido e compreendido
300
+ - [ ] Pesquisa no codebase foi realizada
301
+ - [ ] Plano dividido em fases de ~1 hora
302
+ - [ ] Cada fase tem tarefas específicas
303
+ - [ ] Tarefas indicam o que, onde e como
304
+ - [ ] Dependências estão claras (sequencial/paralelo)
305
+ - [ ] Status iniciais definidos (todos ⏳)
306
+ - [ ] Conteúdo em português (pt-BR)
307
+ - [ ] Validado com o humano
308
+ - [ ] `plan.md` criado em `$SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/`
309
+
310
+ ---
311
+
312
+ ## Integração com Outros Workflows
313
+
314
+ ### Entrada (de onde vem)
315
+
316
+ ```
317
+ eng.start → architecture.md → eng.plan
318
+ ```
319
+
320
+ ### Saída (para onde vai)
321
+
322
+ ```
323
+ eng.plan → plan.md → eng.work → código
324
+ ```
325
+
326
+ ### Relacionamento
327
+
328
+ | Workflow | Relação |
329
+ |----------|---------|
330
+ | `start` | Cria o `architecture.md` que é entrada do `plan` |
331
+ | `plan` | Cria o `plan.md` com fases de execução |
332
+ | `work` | Executa o `plan.md` e atualiza status |
333
+ | `pr` | Finaliza após todas as fases completadas |