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,574 @@
1
+ ---
2
+ description: Fluxo para preparar a sessão com contexto personalizado por perfil
3
+ version: "1.7"
4
+ auto_execution_mode: 1
5
+ env_file: "@/ENV.md"
6
+ model_tier: low
7
+ model_justification: Leitura seletiva de contexto e apresentação de menu — não requer raciocínio complexo
8
+ ---
9
+
10
+ # warm-up — Contexto Personalizado por Perfil
11
+
12
+ ## Objetivo
13
+
14
+ Preparar a sessão carregando **somente o contexto necessário** para o perfil do usuário,
15
+ evitando leitura desnecessária de arquivos e economizando tokens.
16
+
17
+ ---
18
+
19
+ ## Passo 0 — Ler ENV.md (silenciosamente)
20
+
21
+ Leia o arquivo `$IDE/ENV.md` e extraia as seguintes variáveis:
22
+
23
+ ```bash
24
+ grep -E "^(POSITION|SQUAD|HUB|AREA|WORKSPACE|WORKSPACE_REPOS|DOCS_FOLDER|RULES_FOLDER|FLOWS_FOLDER|TEMPLATES_FOLDER|MAX_AI_EXECUTION_PERCENTAGE|ENABLE_CDD)=" $IDE/ENV.md
25
+ ```
26
+
27
+ Variáveis que guiam o carregamento de contexto:
28
+
29
+ | Variável | Uso |
30
+ |----------|-----|
31
+ | `POSITION` | Define profundidade e foco do contexto |
32
+ | `HUB` | Define especialidade técnica prioritária |
33
+ | `AREA` | Define domínio (ENGINEERING vs PRODUCT vs outros) |
34
+ | `SQUAD` | Referência de squad para contexto do time |
35
+ | `WORKSPACE` | Pasta do `$IDE/`. Vazio = nome dessa pasta |
36
+ | `WORKSPACE_REPOS` | Allowlist. Vazio = todas as subpastas com `.git/` |
37
+ | `DOCS_FOLDER` | Caminho base dos documentos do workspace |
38
+ | `RULES_FOLDER` | Caminho base das regras |
39
+ | `FLOWS_FOLDER` | Caminho base dos workflows |
40
+ | `MAX_AI_EXECUTION_PERCENTAGE` | Calibra nível de autonomia |
41
+ | `ENABLE_CDD` | Ativa/desativa calibração contextual |
42
+
43
+ > **Não invente valores ausentes.** Se uma variável crítica não estiver definida, continue com o comportamento padrão indicado abaixo.
44
+ >
45
+ > `$IDE/ENV.md` pode estar num ancestral do cwd (workspace acima do repo aberto).
46
+ > Se `WORKSPACE` estiver vazio, usar o nome da pasta que contém `$IDE/`.
47
+ > Repos = `WORKSPACE_REPOS` ou scan de subpastas com `.git/`. Se houver mais de um, perguntar quais carregar nesta sessão (`ACTIVE_REPOS`). Um git na raiz = fluxo atual.
48
+
49
+ ---
50
+
51
+ ## Passo 0.5 — Reconhecimento do Stack Técnico (silenciosamente)
52
+
53
+ Objetivo: garantir contexto completo do stack **antes** de qualquer workflow,
54
+ para nunca inventar ou sugerir tecnologias fora do que o projeto usa.
55
+
56
+ ### 1. Extrair variáveis de stack do ENV.md
57
+
58
+ Além das variáveis de perfil (Passo 0), extrair todas as variáveis de tecnologia
59
+ definidas no ENV.md — qualquer variável não relacionada a perfil de usuário com
60
+ valor não vazio. Exemplos de padrões comuns:
61
+
62
+ - Mensageria : `MESSAGE_BROKER`, `MESSAGE_BROKER_URL_API`, `MESSAGE_BROKER_API_AUTH`
63
+ - Banco : `DB_*`, `DATABASE_*`
64
+ - Cache : `CACHE_*`, `REDIS_*`
65
+ - Outros serviços: qualquer var com `_URL`, `_HOST`, `_API` no nome
66
+
67
+ > Não hardcode nomes de tecnologias. Leia o que está definido e infira a tech
68
+ > pelo valor da variável (ex: `MESSAGE_BROKER=rabbitmq` → tech = RabbitMQ).
69
+
70
+ ### 2. Para cada tecnologia identificada
71
+
72
+ **a) Carregar documentação via context7:**
73
+ ```
74
+ mcp__context7__resolve-library-id → query: {nome da tecnologia}
75
+ mcp__context7__query-docs → carregar docs relevantes
76
+ ```
77
+ → Usar a documentação como referência para toda a sessão.
78
+
79
+ **b) Se houver URL de API de gerenciamento + credenciais:**
80
+ - Consultar a API para entender a topologia real do serviço
81
+ (ex: exchanges, filas e bindings ativos para RabbitMQ via management API)
82
+ - Usar as variáveis `*_URL_API` + `*_API_AUTH` correspondentes
83
+ - Registrar o que foi encontrado como contexto da sessão
84
+
85
+ ### 3. Invariante de sessão — crítica
86
+
87
+ > 🔒 A partir deste passo, para toda a sessão:
88
+ > - Trabalhar **somente** com as tecnologias identificadas aqui
89
+ > - **Nunca sugerir alternativas tecnológicas** não presentes no stack identificado
90
+ > - **Nunca inventar** configurações, topologias ou comportamentos não confirmados
91
+ > via ENV, API ou codebase
92
+ > - Exceção: **somente se o usuário solicitar explicitamente**
93
+
94
+ > Se nenhuma variável de stack for encontrada no ENV.md, pular silenciosamente.
95
+
96
+ ---
97
+
98
+ ## Passo 1 — Determinar Perfil de Comunicação
99
+
100
+ O perfil de comunicação é derivado de `POSITION` (conforme definido no `$IDE/taxonomy.md`).
101
+ **Não use a lista abaixo como hardcode** — use-a como referência de interpretação semântica:
102
+
103
+ | Categoria semântica | Exemplos de POSITION | Perfil de comunicação |
104
+ |---------------------|---------------------|----------------------|
105
+ | Técnico iniciante | JUNIOR, PLENO | `didático` — explicar decisões, incluir contexto |
106
+ | Técnico sênior | SENIOR, TECH LEAD, SPECIALIST | `direto` — foco em trade-offs e riscos |
107
+ | Gestão de produto | PM, TPM, GPM | `estratégico` — impacto e visão de produto |
108
+ | Executivo | CTO e equivalentes | `estratégico` — visão de alto nível |
109
+ | Não definido | — | `didático` (padrão conservador) |
110
+
111
+ > O mapeamento exato de quais POSITIONs existem vem do `$IDE/taxonomy.md` — não assuma valores fora desse arquivo.
112
+
113
+ ---
114
+
115
+ ## Passo 2 — Sincronizar Documentação Central (condicional)
116
+
117
+ Se `CENTRAL_DOCS_REPO` estiver configurado no ENV.md, invocar o skill `docs-central` via Skill tool para carregar docs do produto.
118
+
119
+ > ⚠️ **IMPORTANTE**: NÃO executar `jarvis docs sync` diretamente via Bash.
120
+ > Usar sempre: **Skill tool → docs-central (Modo 1: Buscar Docs)**
121
+
122
+ O skill `docs-central` gerencia:
123
+ - Extração de token do `.npmrc`
124
+ - Fallback quando `index.md` não existe (navegação por árvore)
125
+ - Tratamento de erros
126
+
127
+ **Invocação:**
128
+ ```
129
+ Skill tool: docs-central
130
+ Modo: 1 (Buscar Docs)
131
+ Contexto: warm-up - sincronização inicial
132
+ ```
133
+
134
+ **Output esperado:**
135
+ ```
136
+ 🔄 Sincronizando docs de {SQUAD}/{WORKSPACE}...
137
+ ✅ Docs sincronizados
138
+ 📊 5 documentos disponíveis:
139
+ - 1 PRD(s)
140
+ - 1 FRD(s)
141
+ - 2 ARD(s)
142
+ - 1 RFC(s)
143
+ ```
144
+
145
+ **Comportamento:**
146
+ - Se `CENTRAL_DOCS_REPO` vazio → pula silenciosamente
147
+ - Se erro de token → exibe aviso mas continua
148
+ - Se `index.md` não existe → navega estrutura do repo e lista docs disponíveis
149
+ - Se erro genérico → exibe mensagem clara e continua sem bloquear
150
+
151
+ Após sincronizar, exibir resumo dos documentos disponíveis:
152
+ - PRDs compartilhados do produto
153
+ - ARDs gerais e específicos do repo atual
154
+ - RFCs relevantes
155
+ - Dependências externas (outros produtos/squads)
156
+
157
+ ---
158
+
159
+ ## Passo 3 — Carregar Contexto Seletivo por AREA e HUB
160
+
161
+ **Regra fundamental**: os caminhos são construídos **dinamicamente** a partir dos valores lidos do ENV.md.
162
+ Não use caminhos hardcoded. Não escaneie pastas inteiras.
163
+
164
+ ### 3.1 — Construir caminhos base a partir do ENV e taxonomy
165
+
166
+ ```bash
167
+ # 1. Ler AREA e HUB do ENV
168
+ AREA=$(grep "^AREA=" $IDE/ENV.md | cut -d= -f2)
169
+ HUB=$(grep "^HUB=" $IDE/ENV.md | cut -d= -f2)
170
+
171
+ # 2. Ler prefixo da AREA no taxonomy (linha "prefix: xxx" abaixo do ### AREA)
172
+ {prefix} = valor de "prefix:" definido sob ### {AREA} em $IDE/taxonomy.md
173
+ {area} = lowercase(AREA)
174
+
175
+ ex: AREA=ENGINEERING → prefix="eng", area="engineering"
176
+ AREA=PRODUCT → prefix="prod", area="product"
177
+ ```
178
+
179
+ > Se o prefixo não estiver definido no taxonomy, usar `lowercase(AREA)` como fallback.
180
+
181
+ ### 2.2 — Sequência de leitura (executar nessa ordem)
182
+
183
+ **Sempre leia:**
184
+ ```
185
+ git log --oneline -3 ← commits recentes (independente de perfil)
186
+ git status --short ← estado atual do repositório
187
+ ```
188
+
189
+ **Docs da área (tentar em ordem, parar no primeiro encontrado):**
190
+ ```
191
+ 1. $DOCS_FOLDER/{area}/index.md ← índice de docs da área (ex: docs/engineering/index.md)
192
+ 2. $DOCS_FOLDER/index.md ← índice geral (fallback)
193
+ 2. $DOCS_FOLDER/AGENTS.md ← resumo para agents geral (fallback)
194
+ (não ler os docs em si — apenas o índice para mapear o que existe)
195
+ ```
196
+
197
+ **Regras da área:**
198
+ ```
199
+ $RULES_FOLDER/{area}/{prefix}-rules.md
200
+ ex: $RULES_FOLDER/engineering/eng-rules.md
201
+ $RULES_FOLDER/product/prod-rules.md
202
+ ```
203
+
204
+ **Regras do hub (adicionar ao contexto base, se existir):**
205
+ ```
206
+ $RULES_FOLDER/{area}/{hub}/{hub}-rules.md
207
+ ex: $RULES_FOLDER/engineering/qa/qa-rules.md
208
+ $RULES_FOLDER/engineering/ai/ai-rules.md
209
+ ```
210
+
211
+ **README (apenas para perfil didático ou quando não há docs/index.md):**
212
+ ```
213
+ README.md (raiz do projeto) ← visão geral do projeto
214
+ ```
215
+
216
+ ### 2.3 — Exemplos de caminhos gerados (ilustrativo)
217
+
218
+ | AREA | prefix | HUB | Caminhos tentados |
219
+ |------|--------|-----|-------------------|
220
+ | ENGINEERING | eng | QA | `docs/engineering/index.md` → `rules/engineering/eng-rules.md` → `rules/engineering/qa/qa-rules.md` |
221
+ | ENGINEERING | eng | AI | `docs/engineering/index.md` → `rules/engineering/eng-rules.md` → `rules/engineering/ai/ai-rules.md` |
222
+ | PRODUCT | prod | — | `docs/product/index.md` → `rules/product/prod-rules.md` |
223
+
224
+ > **Importante**: Se um arquivo ou pasta não existir, ignore silenciosamente — não errar, não inventar.
225
+ > Novos valores de AREA ou HUB adicionados ao taxonomy.md funcionam automaticamente sem alterar este workflow.
226
+
227
+ ---
228
+
229
+ ## Passo 3 — Resumo de Contexto Carregado
230
+
231
+ Após as leituras, exiba **somente** um resumo compacto:
232
+
233
+ ```
234
+ ── Sessão iniciada ──────────────────────────────────────
235
+ Workspace: {WORKSPACE}
236
+ Perfil : {POSITION} · {HUB} · {SQUAD}
237
+ Autonomia: {MAX_AI_EXECUTION_PERCENTAGE}%
238
+ Stack : {lista das techs identificadas no ENV}
239
+ Docs : {context7 carregado para cada tech + docs de área}
240
+ Topologia: {resumo da consulta à API de gerenciamento, se disponível}
241
+ Commits : {N} commits recentes carregados
242
+ ─────────────────────────────────────────────────────────
243
+ ```
244
+
245
+ ---
246
+
247
+ ## Passo 4 — Menu Adaptado por AREA
248
+
249
+ O menu é determinado pelos valores de `POSITION`, `AREA` e `HUB` lidos do ENV.md.
250
+
251
+ > ⚠️ **Ordem de precedência — verificar SEMPRE nesta sequência:**
252
+ > 1. **POSITION** — se houver menu dedicado para o POSITION, usá-lo diretamente (ignora AREA+HUB)
253
+ > 2. **AREA + HUB** — combinações específicas (DATA, QA, RPA)
254
+ > 3. **AREA** — menu genérico da área
255
+ > 4. **Genérico** — fallback para AREAs sem menu próprio
256
+ >
257
+ > **Nunca avaliar menus de AREA antes de verificar se o POSITION tem menu dedicado.**
258
+
259
+ > Se o valor de AREA não tiver menu definido abaixo, use o **menu genérico**.
260
+ > Novos valores de AREA adicionados ao taxonomy.md devem ganhar um menu correspondente aqui.
261
+
262
+ ---
263
+
264
+ ### Menu para POSITION=TECH ANALYST (sobrepõe AREA=ENGINEERING)
265
+
266
+ > ℹ️ O Tech Analyst é transversal — não pertence a nenhuma squad de desenvolvimento.
267
+ > Seu `SQUAD` no ENV.md deve ser `SUPPORT`. Interfaces com todas as squads.
268
+
269
+ Quando `POSITION=TECH ANALYST`, ignorar o menu de ENGINEERING e exibir:
270
+
271
+ ```
272
+ Como você quer continuar?
273
+
274
+ A: Atender chamado técnico (ta.atendimento)
275
+ B: Outro
276
+ ```
277
+
278
+ Roteamento:
279
+ - A → `$FLOWS_FOLDER/engineering/ta/eng.ta.atendimento.md`
280
+ - B → perguntar e rotear dinamicamente
281
+
282
+ ---
283
+
284
+ ### Menu para POSITION=TECH LEAD (sobrepõe menu genérico de ENGINEERING)
285
+
286
+ > ℹ️ Usar este menu quando `POSITION=TECH LEAD` e `AREA=ENGINEERING`.
287
+ > O Tech Lead é responsável pelos gates de qualidade e segurança do time — workflows de segurança aparecem em destaque.
288
+
289
+ ```
290
+ Como você quer continuar?
291
+
292
+ ── Engenharia ──────────────────────────────────────────────
293
+ A: Iniciar sessão para codar (eng.start)
294
+ B: Debug / Investigar problema (eng.debug)
295
+ C: Criar ou iterar ARD (eng.create-ard)
296
+ D: Criar ou iterar ARD desde o codebase (eng.create-ard-from-code)
297
+ E: Abrir ou iterar RFC (eng.create-rfc)
298
+ F: Fazer tech spec (eng.build-tech-spec)
299
+ G: Revisar código / PR (eng.review)
300
+ H: Documentar (eng.docs)
301
+ ── Segurança ───────────────────────────────────────────────
302
+ I: Auditar segurança do repositório (eng.security-audit)
303
+ J: Revisar PR com foco em segurança (eng.security-review)
304
+ K: Responder incidente de segurança (eng.security-incident)
305
+ L: Outro
306
+ ```
307
+
308
+ Roteamento:
309
+ - A → `$FLOWS_FOLDER/engineering/eng.start.md`
310
+ - B → `$FLOWS_FOLDER/engineering/eng.debug.md`
311
+ - C → `$FLOWS_FOLDER/engineering/eng.create-ard.md`
312
+ - D → `$FLOWS_FOLDER/engineering/eng.create-ard-from-code.md`
313
+ - E → `$FLOWS_FOLDER/engineering/eng.create-rfc.md`
314
+ - F → `$FLOWS_FOLDER/engineering/eng.build-tech-spec.md`
315
+ - G → `$FLOWS_FOLDER/engineering/eng.review.md`
316
+ - H → `$FLOWS_FOLDER/engineering/eng.docs.md`
317
+ - I → `$FLOWS_FOLDER/engineering/eng.security-audit.md`
318
+ - J → `$FLOWS_FOLDER/engineering/eng.security-review.md`
319
+ - K → `$FLOWS_FOLDER/engineering/eng.security-incident.md`
320
+ - L → perguntar e rotear dinamicamente
321
+
322
+ ---
323
+
324
+ ### Menu para POSITION=CTO (sobrepõe AREA)
325
+
326
+ > ℹ️ Usar este menu para qualquer `AREA` quando `POSITION` é equivalente a CTO.
327
+ > Foco estratégico: segurança, arquitetura, risco e decisões de alto impacto — sem granularidade operacional.
328
+
329
+ ```
330
+ Como você quer continuar?
331
+
332
+ ── Segurança & Risco ────────────────────────────────────────
333
+ A: Auditar segurança do repositório (eng.security-audit)
334
+ B: Responder incidente de segurança (eng.security-incident)
335
+ ── Arquitetura & Estratégia ────────────────────────────────
336
+ C: Revisar código / PR estratégico (eng.review)
337
+ D: Criar ou iterar ARD (eng.create-ard)
338
+ E: Abrir ou iterar RFC (eng.create-rfc)
339
+ F: Fazer tech spec (eng.build-tech-spec)
340
+ G: Outro
341
+ ```
342
+
343
+ Roteamento:
344
+ - A → `$FLOWS_FOLDER/engineering/eng.security-audit.md`
345
+ - B → `$FLOWS_FOLDER/engineering/eng.security-incident.md`
346
+ - C → `$FLOWS_FOLDER/engineering/eng.review.md`
347
+ - D → `$FLOWS_FOLDER/engineering/eng.create-ard.md`
348
+ - E → `$FLOWS_FOLDER/engineering/eng.create-rfc.md`
349
+ - F → `$FLOWS_FOLDER/engineering/eng.build-tech-spec.md`
350
+ - G → perguntar e rotear dinamicamente
351
+
352
+ ---
353
+
354
+ ### Menu para AREA=ENGINEERING e HUB=DATA
355
+
356
+ > ℹ️ Usar este menu quando `AREA=ENGINEERING` **e** `HUB=DATA`.
357
+
358
+ ```
359
+ Como você quer continuar?
360
+
361
+ A: Criar pipeline novo (data.new-pipeline)
362
+ B: Integrar fonte de dados nova (eng-data-onboard)
363
+ C: Diagnosticar falha em pipeline (eng-data-debug)
364
+ D: Dashboard ou query analítica (eng-data-bi)
365
+ E: Criar ou depurar DAG / orquestração (eng-data-orchestrator)
366
+ F: Criar contrato de dados (data.contract)
367
+ G: Outro
368
+ ```
369
+
370
+ Roteamento:
371
+ - A → `$FLOWS_FOLDER/engineering/data/data.new-pipeline.md`
372
+ - B → skill `eng-data-onboard`
373
+ - C → skill `eng-data-debug`
374
+ - D → skill `eng-data-bi`
375
+ - E → skill `eng-data-orchestrator`
376
+ - F → `$FLOWS_FOLDER/engineering/data/data.contract.md`
377
+ - G → perguntar e rotear dinamicamente
378
+
379
+ ---
380
+
381
+ ### Menu para AREA=ENGINEERING e (HUB=QA ou Quality Champion)
382
+
383
+ > ℹ️ Usar este menu quando `AREA=ENGINEERING` **e** uma das condições:
384
+ > - `HUB=QA`
385
+ > - O usuário atual (`USER` do ENV.md) constar em `members.md` com `Quality Champion` no campo Posição
386
+ >
387
+ > Para verificar se o usuário é Quality Champion:
388
+ > ```bash
389
+ > grep -i "$USER" members.md | grep -i "Quality Champion"
390
+ > ```
391
+ > Se retornar resultado → usuário é Quality Champion → usar este menu.
392
+
393
+ ```
394
+ Como você quer continuar?
395
+
396
+ A: Mapear estratégia de testes para uma feature (qa.refinement-entry)
397
+ B: Gerar testes E2E para uma feature (qa.e2e-test-generation)
398
+ C: Sessão de teste exploratório (qa.exploratory-session)
399
+ D: Validar quality gate de uma spec (eng-qa-quality-gate-validation)
400
+ E: Gerar relatório de qualidade (qa.quality-report)
401
+ F: Orientar dev sobre cobertura de testes (qa.dev-quality-guide)
402
+ G: Planejar capacidade QA da sprint (qa.sprint-planning)
403
+ H: Sign-off de release (qa.release-signoff)
404
+ I: Outro
405
+ ```
406
+
407
+ Roteamento:
408
+ - A → `$FLOWS_FOLDER/engineering/qa/eng-qa-refinement-entry.md`
409
+ - B → `$FLOWS_FOLDER/engineering/qa/eng-qa-e2e-test-generation.md`
410
+ - C → `$FLOWS_FOLDER/engineering/qa/eng-qa-exploratory-session.md`
411
+ - D → `$FLOWS_FOLDER/engineering/qa/eng-qa-quality-gate-validation.md`
412
+ - E → `$FLOWS_FOLDER/engineering/qa/eng-qa-quality-report.md`
413
+ - F → `$FLOWS_FOLDER/engineering/qa/eng-qa-dev-quality-guide.md`
414
+ - G → `$FLOWS_FOLDER/engineering/qa/eng-qa-sprint-planning.md`
415
+ - H → `$FLOWS_FOLDER/engineering/qa/eng-qa-release-signoff.md`
416
+ - I → perguntar e rotear dinamicamente
417
+
418
+ ---
419
+
420
+ ### Menu para AREA=ENGINEERING (qualquer HUB)
421
+
422
+ ```
423
+ Como você quer continuar?
424
+
425
+ A: Iniciar sessão para codar (eng.start)
426
+ B: Debug / Investigar problema (eng.debug)
427
+ C: Criar ou iterar um ARD do zero ou desde um PRD (eng.create-ard)
428
+ D: Criar ou iterar um ARD desde o codebase (eng.create-ard-from-code)
429
+ E: Abrir ou iterar um RFC (eng.create-rfc)
430
+ F: Fazer uma tech spec (eng.build-tech-spec)
431
+ G: Revisar código / PR (eng.review)
432
+ H: Documentar (eng.docs)
433
+ I: Criar ou manter robô RPA (eng.rpa.robot) — skill técnica, não depende de squad
434
+ J: Outro
435
+ ```
436
+
437
+ Roteamento:
438
+ - A → `$FLOWS_FOLDER/engineering/eng.start.md`
439
+ - B → `$FLOWS_FOLDER/engineering/eng.debug.md`
440
+ - C → `$FLOWS_FOLDER/engineering/eng.create-ard.md`
441
+ - D → `$FLOWS_FOLDER/engineering/eng.create-ard-from-code.md`
442
+ - E → `$FLOWS_FOLDER/engineering/eng.create-rfc.md`
443
+ - F → `$FLOWS_FOLDER/engineering/eng.build-tech-spec.md`
444
+ - G → `$FLOWS_FOLDER/engineering/eng.review.md`
445
+ - H → `$FLOWS_FOLDER/engineering/eng.docs.md`
446
+ - I → `$FLOWS_FOLDER/engineering/eng.rpa.robot.md`
447
+ - J → perguntar e rotear dinamicamente
448
+
449
+ ### Menu para AREA=PRODUCT
450
+
451
+ ```
452
+ Como você quer continuar?
453
+
454
+ A: Criar nova PRD (prod.spec.prd)
455
+ B: Criar novo FRD (prod.spec.frd)
456
+ C: Criar story, task ou issue (prod.spec.issue)
457
+ D: Detalhar épico (prod.spec.epic)
458
+ E: Outro
459
+ ```
460
+
461
+ Roteamento:
462
+ - A → `$FLOWS_FOLDER/product/prod.spec.prd.md`
463
+ - B → `$FLOWS_FOLDER/product/prod.spec.frd.md`
464
+ - C → `$FLOWS_FOLDER/product/prod.spec.issue.md`
465
+ - D → `$FLOWS_FOLDER/product/prod.spec.epic.md`
466
+ - E → perguntar e rotear dinamicamente
467
+
468
+ ### Menu genérico (qualquer AREA além de ENGINEERING/PRODUCT)
469
+
470
+ ```
471
+ Como você quer continuar?
472
+
473
+ A: Perguntar algo sobre o projeto
474
+ B: Criar documentação
475
+ C: Outro
476
+ ```
477
+
478
+ Roteamento:
479
+ - A → responder com base no contexto carregado
480
+ - B → `$FLOWS_FOLDER/engineering/eng.docs.md` (se existir) ou criar diretamente
481
+ - C → perguntar qual atividade e rotear dinamicamente
482
+
483
+ ### Ajuste de menu por POSITION (sobrepõe AREA quando aplicável)
484
+
485
+ | POSITION semântico | Ajuste no menu |
486
+ |-------------------|----------------|
487
+ | CTO e equivalentes | Menu estratégico com segurança em destaque — ver seção "Menu para POSITION=CTO" acima |
488
+ | TECH LEAD em AREA=ENGINEERING | Menu completo de engenharia + workflows de segurança — ver seção "Menu para POSITION=TECH LEAD" acima |
489
+ | PM, TPM, GPM em AREA=ENGINEERING | Mostrar menu PRODUCT mesmo estando na área ENGINEERING |
490
+ | TECH ANALYST | Mostrar menu de atendimento técnico (ta.atendimento) em vez do menu ENGINEERING |
491
+
492
+ ---
493
+
494
+ ## Passo 5 — Limite de Execução (MAX_AI_EXECUTION_PERCENTAGE)
495
+
496
+ `MAX_AI_EXECUTION_PERCENTAGE` é um **limite hard de execução** — a IA para obrigatoriamente quando atinge esse percentual do plano e **sempre pergunta** antes de continuar, mesmo com valores altos.
497
+
498
+ **Regra de cálculo:**
499
+ ```
500
+ tarefas_executáveis = floor(total_tarefas × (MAX_AI_EXECUTION_PERCENTAGE / 100))
501
+
502
+ ex: 10 tarefas, MAX=70 → IA executa 7, para, pergunta ao usuário
503
+ ex: 10 tarefas, MAX=90 → IA executa 9, para, pergunta ao usuário
504
+ ex: 10 tarefas, MAX=100 → IA executa todas, mas ainda reporta e pergunta ao final
505
+ ```
506
+
507
+ **Ao atingir o limite — sempre, sem exceção:**
508
+ 1. Parar a execução imediatamente
509
+ 2. Reportar o que foi feito
510
+ 3. Listar o que resta com sugestões de como o humano pode executar
511
+ 4. Perguntar explicitamente como o usuário deseja prosseguir
512
+ 5. Nunca continuar sem resposta explícita do usuário
513
+
514
+ **Tarefas restantes (acima do limite):**
515
+ - A IA **nunca executa** as tarefas restantes de forma autônoma — nem que o usuário peça "continua tudo"
516
+ - A IA **pode assistir**: explicar, sugerir comandos, preparar código para revisão
517
+ - Quem executa é o humano
518
+
519
+ **O nível de autonomia calibra o comportamento *dentro* do limite, mas não o substitui:**
520
+
521
+ | Valor | Nível | O que muda dentro do limite |
522
+ |-------|-------|-----------------------------|
523
+ | ≥ 90% | alto | Executa sem pedir confirmação a cada passo |
524
+ | 70–89% | médio | Pausa em decisões críticas antes de continuar |
525
+ | 60–69% | baixo | Apresenta opções e aguarda aprovação a cada passo |
526
+ | Não definido | médio | Usa 80% como padrão |
527
+
528
+ Declare ao usuário: limite configurado, quantas tarefas isso representa e o que ficará para execução humana.
529
+
530
+ ---
531
+
532
+ ## Regras do Warm-up
533
+
534
+ ### Nunca faça
535
+ - Ler uma pasta inteira para mapear contexto — use o índice ou leia arquivos específicos
536
+ - Inventar valores de ENV não definidos
537
+ - Recusar contexto de outra área: Dev/TL/PM podem carregar rules de engenharia **e** de produto (autonomia ponta-a-ponta)
538
+ - Perguntar informações que já constam no ENV.md
539
+ - Sugerir tecnologia alternativa não presente no stack identificado no Passo 0.5
540
+ - Assumir topologia de serviços sem consultar ENV ou API de gerenciamento
541
+
542
+ ### Sempre faça
543
+ - Ler ENV.md primeiro, antes de qualquer outra coisa
544
+ - Carregar stack técnico do ENV antes de qualquer workflow (Passo 0.5)
545
+ - Usar context7 para documentação das tecnologias identificadas no stack
546
+ - Consultar API de gerenciamento quando disponível (`*_URL_API` + `*_API_AUTH` no ENV)
547
+ - Usar `$RULES_FOLDER`, `$DOCS_FOLDER`, `$FLOWS_FOLDER` em vez de caminhos hardcoded
548
+ - Exibir o resumo de contexto antes do menu
549
+ - Rotear para o workflow correto sem repetir perguntas já respondidas
550
+ - Ignorar silenciosamente arquivos que não existem
551
+
552
+ ---
553
+
554
+ ## Integração com CDD
555
+
556
+ Se `ENABLE_CDD=true` no ENV.md, **após o usuário selecionar a opção do menu**,
557
+ execute `/context-detect` antes de iniciar o workflow escolhido.
558
+
559
+ Se `ENABLE_CDD=false` ou não definido, prossiga diretamente para o workflow.
560
+
561
+ ---
562
+
563
+ ## Notas de Versão
564
+
565
+ | Versão | Mudança |
566
+ |--------|---------|
567
+ | 1.0 | Leitura genérica de `$RULES_FOLDER/` e `$DOCS_FOLDER/` — sem filtro por perfil |
568
+ | 1.1 | Carregamento seletivo por `POSITION` + `HUB`; menu adaptado; integração com CDD |
569
+ | 1.2 | Menu específico para `AREA=ENGINEERING` + `HUB=QA` com roteamento para workflows `eng-qa-*` |
570
+ | 1.3 | Menu QA expandido: sprint planning (G) + release sign-off (H); condição estendida para `POSITION=QUALITY_CHAMPION` |
571
+ | 1.4 | Menu específico para `AREA=ENGINEERING` + `HUB=DATA`: pipeline novo, onboarding de fonte, debug, dashboard, contrato |
572
+ | 1.5 | Opção de robô RPA no menu de ENGINEERING (skill técnica, sem squad dedicado) |
573
+ | 1.6 | Menu específico para `POSITION=TECH LEAD`: engenharia completa + workflows de segurança em destaque; Menu para `POSITION=CTO`: foco estratégico em segurança, arquitetura e risco |
574
+ | 1.7 | **Bugfix**: menus de POSITION movidos para antes dos menus de AREA — corrige TL recebendo menu genérico sem opções de segurança; bloco de precedência explícita no início do Passo 4 |