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,272 @@
1
+ ---
2
+ name: prod-specs-update
3
+ description: >
4
+ Sincroniza especificações de produto (PRD/FRD) em cascata e mantém dois
5
+ índices atualizados: um local (projeto atual) e um global no Google Drive
6
+ (todos os projetos). Trigger: quando um PRD ou FRD é criado ou modificado,
7
+ ou quando o usuário pede para sincronizar ou indexar specs.
8
+ allowed-tools: Read Write Edit Grep Glob Bash MCP
9
+ metadata:
10
+ author: jarvis-team
11
+ version: "1.0"
12
+ argument-hint: "[path-do-arquivo-criado-ou-modificado]"
13
+ disable-model-invocation: false
14
+ ---
15
+
16
+ # Update Specs — Sincronização de Especificações de Produto
17
+
18
+ Você é responsável por manter PRDs, FRDs e os índices de specs sempre
19
+ consistentes. Quando uma spec muda, você propaga em cascata e atualiza
20
+ dois índices: o local do projeto na pasta `docs` e o global no repositório `$CENTRAL_DOCS_REPO`.
21
+
22
+ O Central Docs é a pasta que centralizamos todas as especificações de produto. Ele serve como referência para todos os projetos e deve ser atualizada sempre que houver mudanças em qualquer spec.
23
+
24
+
25
+ ## Entrada
26
+
27
+ - `$ARGUMENTS` — (Opcional) Path do arquivo criado ou modificado.
28
+ - Pergunte para o usuário qual o path do Centarl Docs, que é onde devemos adicionar e atualizar as especificações de produto.
29
+
30
+ ---
31
+
32
+ ## Pré-requisito — Carregar ENV.md
33
+
34
+ Antes de qualquer ação, ler o `ENV.md` e extrair as variáveis necessárias:
35
+ ```bash
36
+ cat ENV.md
37
+ ```
38
+
39
+ Se não existir um `ENV.md`, crie executando a skill `init-jarvis` com Skill tool.
40
+
41
+ ---
42
+
43
+ ## Árvore de Decisão
44
+ ```
45
+ $ARGUMENTS fornecido?
46
+ → SIM: Ler frontmatter do arquivo
47
+ id começa com "PRD"? → Fluxo PRD
48
+ id começa com "FRD"? → Fluxo FRD
49
+ Nem um nem outro? → Avisar e encerrar
50
+ → NÃO: Ir direto para Reconstrução Completa dos Índices
51
+ ```
52
+
53
+ ---
54
+
55
+ ## Fluxo de Trabalho
56
+
57
+ ### 1. Fluxo FRD — quando uma FRD foi criada ou modificada
58
+
59
+ Extrair do frontmatter:
60
+ ```bash
61
+ grep -E "^(id|name|status|related_prd):" {arquivo_frd}
62
+ ```
63
+
64
+ **Se `related_prd` estiver ausente ou vazio**, perguntar:
65
+ ```
66
+ A FRD "{id}: {name}" não tem PRD pai definido.
67
+ → Qual é o path do PRD relacionado?
68
+ ```
69
+ Atualizar o frontmatter da FRD com o valor informado antes de continuar.
70
+
71
+ **Abrir o PRD referenciado** e verificar a seção `## Solução`:
72
+
73
+ - FRD **não aparece na lista** → Adicionar entry:
74
+ `- **[{id}]({path_relativo}) ({status}):** {name}`
75
+ - FRD **já aparece** → Corrigir status se divergente. Não alterar mais nada.
76
+
77
+ Mostrar diff proposto ao usuário. Aguardar confirmação antes de escrever.
78
+
79
+ ---
80
+
81
+ ### 2. Fluxo PRD — quando um PRD foi criado ou modificado
82
+
83
+ Extrair do frontmatter:
84
+ ```bash
85
+ grep -E "^(id|name|status):" {arquivo_prd}
86
+ ```
87
+
88
+ Buscar FRDs filhas nos dois diretórios:
89
+ ```bash
90
+ grep -rl "related_prd:" $PROD_DOCS --include="*.md"
91
+ ```
92
+
93
+ Filtrar apenas as que apontam para este PRD. Para cada FRD encontrada,
94
+ verificar na seção `## Solução` do PRD se o entry está presente e com
95
+ status correto. Atualizar divergências.
96
+
97
+ Mostrar diff proposto ao usuário. Aguardar confirmação antes de escrever.
98
+
99
+ ---
100
+
101
+ ### 3. Reconstrução dos Índices
102
+
103
+ Executado sempre após os fluxos acima, ou diretamente quando `$ARGUMENTS`
104
+ está vazio.
105
+
106
+ #### 3.1 Escanear specs locais
107
+ ```bash
108
+ # PRDs
109
+ find $PROD_DOCS -maxdepth 1 -name "*.md" | xargs grep -l "^id: PRD"
110
+
111
+ # FRDs
112
+ find $PROD_DOCS_FRD -name "*.md" | xargs grep -l "^id: FRD"
113
+ ```
114
+
115
+ Para cada arquivo, extrair via grep: `id`, `name`, `status`
116
+ (e `related_prd` nas FRDs).
117
+
118
+ #### 3.2 Obter projeto e repositório para cada PRD
119
+
120
+ Se o índice local já existir (`$PROD_DOCS/specs-index.md`), reutilizar
121
+ os mapeamentos já registrados.
122
+
123
+ Para cada PRD **sem mapeamento registrado**, perguntar:
124
+ ```
125
+ O PRD "{id}: {name}" ainda não tem projeto ou repositório mapeado.
126
+ → Projeto: (nome, URL ou "nenhum")
127
+ → Repositório Git: (nome, URL ou "nenhum")
128
+ ```
129
+
130
+ #### 3.3 Gerar o índice local
131
+
132
+ Escrever ou atualizar `$PROD_DOCS/specs-index.md` seguindo o template
133
+ de Índice Local abaixo.
134
+
135
+ #### 3.4 Escanear specs no Drive (se MCP disponível)
136
+
137
+ Acessar `$CENTRAL_DOCS_REPO` via MCP e listar todos os arquivos `.md`.
138
+
139
+ Para cada arquivo encontrado, extrair os metadados YAML (`id`, `name`,
140
+ `status`, `related_prd`). Consolidar com os dados locais, deduplizando
141
+ por `id`.
142
+
143
+ #### 3.5 Gerar o índice global no Drive (se MCP disponível)
144
+
145
+ Verificar se `specs-index.md` já existe na raiz da pasta do Drive.
146
+ Reutilizar mapeamentos de projeto/repositório já registrados. Perguntar
147
+ apenas o que estiver faltando.
148
+
149
+ Escrever ou atualizar o `specs-index.md` no Drive seguindo o template
150
+ de Índice Global abaixo.
151
+
152
+ ---
153
+
154
+ ## Templates
155
+
156
+ ### Índice Local (`$PROD_DOCS/specs-index.md`)
157
+ ```markdown
158
+ # Índice de Especificações — {WORKSPACE}
159
+
160
+ Índice das especificações do projeto atual. Atualizado automaticamente
161
+ pela skill `prod-update-specs`.
162
+
163
+ _Última atualização: {YYYY-MM-DD}_
164
+
165
+ ---
166
+
167
+ ## Relação de Arquivos e Projetos
168
+
169
+ | Spec | Status | Projeto | Repositório Git |
170
+ |------|--------|---------|-----------------|
171
+ | [PRD-001 — Nome](./prd-001.md) | in_progress | Projeto A | [repo-a](url) |
172
+ | [FRD-001 — Nome](./frds/frd-001.md) | in_review | Projeto A | [repo-a](url) |
173
+
174
+ ---
175
+
176
+ ## Relação PRD → FRDs
177
+
178
+ ### PRD-001: Nome do PRD
179
+ - [FRD-001 — Nome](./frds/frd-001.md) · `in_review`
180
+ - [FRD-002 — Nome](./frds/frd-002.md) · `in_progress`
181
+ ```
182
+
183
+ ---
184
+
185
+ ### Índice Global (`specs-index.md` no Drive)
186
+ ```markdown
187
+ # Índice Global de Especificações
188
+
189
+ Índice consolidado de todas as especificações de produto, abrangendo todos
190
+ os projetos. Atualizado automaticamente pela skill `prod-update-specs`.
191
+
192
+ _Última atualização: {YYYY-MM-DD}_
193
+
194
+ ---
195
+
196
+ ## Relação de Arquivos e Projetos
197
+
198
+ | Spec | Status | Projeto | Repositório Git |
199
+ |------|--------|---------|-----------------|
200
+ | [PRD-001 — Nome](link-drive) | in_progress | Projeto A | [repo-a](url) |
201
+ | [PRD-002 — Nome](link-drive) | in_review | Projeto B | [repo-b](url) |
202
+ | [FRD-001 — Nome](link-drive) | in_progress | Projeto A | [repo-a](url) |
203
+
204
+ ---
205
+
206
+ ## Projetos
207
+
208
+ | Projeto | Specs relacionadas |
209
+ |---------|--------------------|
210
+ | Projeto A | PRD-001, FRD-001, FRD-002 |
211
+ | Projeto B | PRD-002, FRD-003 |
212
+
213
+ ---
214
+
215
+ ## Repositórios
216
+
217
+ | Repositório | Specs relacionadas |
218
+ |-------------|-------------------|
219
+ | [repo-a](url) | PRD-001, FRD-001, FRD-002 |
220
+ | [repo-b](url) | PRD-002, FRD-003 |
221
+
222
+ ---
223
+
224
+ ## Relação PRD → FRDs
225
+
226
+ ### PRD-001: Nome — Projeto A
227
+ - [FRD-001 — Nome](link-drive) · `in_progress`
228
+ - [FRD-002 — Nome](link-drive) · `in_review`
229
+
230
+ ### PRD-002: Nome — Projeto B
231
+ - [FRD-003 — Nome](link-drive) · `icebox`
232
+ ```
233
+
234
+ ---
235
+
236
+ ## Regras
237
+
238
+ ### Nunca
239
+ - Remover entradas existentes de specs ou do índice sem confirmação explícita
240
+ - Sobrescrever mapeamentos de projeto/repositório já registrados sem perguntar
241
+ - Escrever mudanças em cascata sem mostrar o diff antes
242
+ - Alterar o bloco de versionamento dos docs
243
+
244
+ ### Sempre
245
+ - Mostrar resumo das mudanças propostas e aguardar confirmação
246
+ - Preservar paths relativos corretos entre os arquivos
247
+ - Tratar Drive como indisponível graciosamente — nunca bloquear o fluxo local
248
+ - Reutilizar mapeamentos de projeto/repo já existentes nos índices
249
+
250
+ ---
251
+
252
+ ## Checklist de Conclusão
253
+
254
+ - [ ] ENV.md lido — `$PROD_DOCS`, `$PROD_DOCS_FRD` e `$CENTRAL_DOCS_REPO` extraídos
255
+ - [ ] Disponibilidade do Drive MCP verificada
256
+ - [ ] Tipo do arquivo identificado (PRD / FRD / scan completo)
257
+ - [ ] Cascata de atualizações mapeada e confirmada pelo usuário
258
+ - [ ] Projeto e repositório obtidos para specs sem mapeamento
259
+ - [ ] Índice local gerado em `$PROD_DOCS/specs-index.md`
260
+ - [ ] Índice global gerado no Drive (se MCP disponível)
261
+ - [ ] Links internos validados
262
+
263
+ ---
264
+
265
+ ## Output
266
+
267
+ | Artefato | Escopo | Condição |
268
+ |----------|--------|----------|
269
+ | `$PROD_DOCS/specs-index.md` | Projeto atual | Sempre |
270
+ | `specs-index.md` no Drive | Todos os projetos | MCP conectado ou Integração ativa |
271
+ | PRDs afetados | Seção "Solução" sincronizada | Quando FRD muda |
272
+ | FRDs afetadas | `related_prd` preenchido | Quando ausente |
@@ -0,0 +1,156 @@
1
+ ---
2
+ name: report-issue
3
+ description: Reporta um bug no próprio framework Jarvis. A IA reflete sobre qual artefato (skill/workflow/rule) causou o erro, monta o report e abre um issue no repo do Jarvis (GitLab, GitHub ou Bitbucket, conforme VERSION_CONTROL).
4
+ argument-hint: "[descrição opcional do problema]"
5
+ disable-model-invocation: false
6
+ allowed-tools: Read Bash Grep Glob
7
+ license: AGPL-3.0
8
+ metadata:
9
+ author: jarvis-team
10
+ version: "1.0"
11
+ ---
12
+
13
+ # report-issue — Auto-report de bug no Framework Jarvis
14
+
15
+ Você é a IA que acabou de cometer ou identificar um erro causado por uma instrução do Jarvis.
16
+ Sua tarefa é: **refletir sobre o que falhou no framework, montar o report e abrir o issue no repositório do Jarvis**.
17
+
18
+ O usuário não precisa preencher nada — você é o autor do report.
19
+
20
+ ---
21
+
22
+ ## Fase 1 — Reflexão (obrigatória antes de qualquer ação)
23
+
24
+ Responda internamente às perguntas abaixo. Use o contexto da conversa atual:
25
+
26
+ ```
27
+ 1. Qual skill, workflow ou rule estava sendo executado quando o erro ocorreu?
28
+ → Nome do artefato + caminho (ex: skills/eng-backend/SKILL.md)
29
+
30
+ 2. O que a instrução dizia que eu deveria fazer?
31
+ → Transcreva ou resuma a instrução relevante
32
+
33
+ 3. O que eu fiz de errado ou o que saiu diferente do esperado?
34
+ → Comportamento real vs. comportamento esperado
35
+
36
+ 4. Por que a instrução induziu esse erro?
37
+ → Ambiguidade? Instrução incompleta? Pressuposto incorreto? Conflito com outra rule?
38
+
39
+ 5. O que deve mudar no artefato para que esse erro não ocorra novamente?
40
+ → Sugestão concreta de correção (reescrita de instrução, adição de gate, exemplo, etc.)
41
+ ```
42
+
43
+ Se não houver contexto suficiente na conversa, pergunte ao usuário **uma** coisa antes de continuar:
44
+ > "Para abrir o issue, preciso saber: qual skill ou workflow estava sendo executado?"
45
+
46
+ ---
47
+
48
+ ## Fase 2 — Montar o issue
49
+
50
+ Com as respostas da Fase 1, monte o issue no formato abaixo.
51
+
52
+ **Título:** `[BUG] {artefato}: {descrição curta do problema em até 80 chars}`
53
+
54
+ **Corpo:**
55
+
56
+ ```markdown
57
+ ## O que aconteceu
58
+
59
+ {descrição do comportamento errado observado — o que a IA fez de errado}
60
+
61
+ ## O que deveria ter acontecido
62
+
63
+ {comportamento correto esperado pelo framework}
64
+
65
+ ## Artefato com problema
66
+
67
+ `{caminho/do/arquivo}` — {seção ou instrução problemática, se identificável}
68
+
69
+ ## Causa raiz (hipótese)
70
+
71
+ {análise da IA: por que a instrução induziu o erro — ambiguidade, lacuna, conflito}
72
+
73
+ ## Sugestão de correção
74
+
75
+ {o que deve mudar no artefato para evitar o problema — seja específico}
76
+
77
+ ## Contexto de execução
78
+
79
+ - **Artefato em execução:** {nome do skill/workflow/rule}
80
+ - **Versão do Jarvis:** {ler de package.json → campo "version"}
81
+ - **Reportado por:** IA (auto-report)
82
+ ```
83
+
84
+ ---
85
+
86
+ ## Fase 3 — Credenciais e repo
87
+
88
+ Ler do `$IDE/ENV.md`:
89
+
90
+ - `JARVIS_PROJECT` (preferido) ou alias `JARVIS_GITLAB_PROJECT` — URL ou `grupo/repo`
91
+ - `VERSION_CONTROL` — `gitlab` | `github` | `bitbucket` (default pelo hostname da URL)
92
+
93
+ Se o projeto não estiver definido:
94
+
95
+ > `🚫 BLOQUEADO: defina JARVIS_PROJECT=https://github.com/phelipperibeiro/jarvis-framework` (ou GitLab/Bitbucket) no ENV.md.`
96
+ > → PARAR
97
+
98
+ Token: o adapter resolve sozinho (`.npmrc` GitLab, `gh auth` / `GITHUB_TOKEN`, `BITBUCKET_TOKEN`).
99
+
100
+ Versão do Jarvis:
101
+
102
+ ```bash
103
+ grep '"version"' package.json | head -1 | sed 's/.*"version": *"\([^"]*\)".*/\1/'
104
+ ```
105
+
106
+ ---
107
+
108
+ ## Fase 4 — Abrir o issue
109
+
110
+ ```bash
111
+ BODY_FILE=$(mktemp)
112
+ # gravar o corpo markdown do issue em $BODY_FILE
113
+
114
+ REPO=$(grep -E '^(JARVIS_PROJECT|JARVIS_GITLAB_PROJECT)=' $IDE/ENV.md | tail -1 | cut -d= -f2-)
115
+
116
+ node bin/lib/vcs/create-issue.js \
117
+ --repo "$REPO" \
118
+ --title "$ISSUE_TITLE" \
119
+ --body-file "$BODY_FILE"
120
+
121
+ rm -f "$BODY_FILE"
122
+ ```
123
+
124
+ ---
125
+
126
+ ## Fase 5 — Confirmar ao usuário
127
+
128
+ Sucesso (exit 0):
129
+
130
+ ```
131
+ ✅ Issue aberto com sucesso!
132
+
133
+ Título : {título do issue}
134
+ Artefato: {caminho do arquivo com problema}
135
+ URL : {url retornada}
136
+
137
+ O time do Jarvis vai revisar e corrigir o artefato.
138
+ ```
139
+
140
+ Erro:
141
+
142
+ ```
143
+ 🚫 Erro ao abrir issue: {mensagem}
144
+
145
+ Verifique token (GitLab .npmrc / gh auth / BITBUCKET_TOKEN) e JARVIS_PROJECT.
146
+ ```
147
+
148
+ ---
149
+
150
+ ## Regras
151
+
152
+ - **Nunca** pedir ao usuário que preencha o report — a IA preenche tudo
153
+ - **Nunca** abrir issue sem completar a Fase 1 (reflexão obrigatória)
154
+ - **Nunca** hardcodar o repo ou token — sempre ler `JARVIS_PROJECT` do ENV.md; o adapter resolve o vendor
155
+ - **Sempre** usar label `bug` — sem exceções
156
+ - **Sempre** limpar arquivos temporários após o curl
package/taxonomy.md ADDED
@@ -0,0 +1,270 @@
1
+ # Taxonomia Organizacional
2
+ Define a estrutura organizacional, vocabulário e configurações do framework Jarvis
3
+
4
+ > **📝 Como usar**: Este arquivo define as opções válidas para variáveis do ENV.md.
5
+ > Edite este arquivo para customizar as opções da sua organização antes de instalar o framework.
6
+ >
7
+ > **Domínio de Email**: Configure `DOMAIN:` para validar emails corporativos (ex: `DOMAIN: suaempresa.com.br`)
8
+
9
+ ---
10
+
11
+ ## 🏢 Squads (Times de Desenvolvimento)
12
+
13
+ Squads são times multidisciplinares. Customize via `/taxonomy`. Skills e agentes técnicos (RPA, Data, QA, etc.) **não** dependem destes nomes.
14
+
15
+ ### CORE
16
+ channel_id:
17
+ board_code:
18
+ modules:
19
+ Time principal. Adicione squads da sua organização com `/taxonomy add SQUADS`.
20
+
21
+ ### SUPPORT
22
+ channel_id:
23
+ board_code:
24
+ modules: atendimento, chamados, triagem, diagnostico, escalonamento
25
+ Time de suporte técnico — Tech Analysts. Transversal às squads de desenvolvimento.
26
+
27
+ ---
28
+
29
+ ## 🎯 Hubs (Áreas Técnicas)
30
+
31
+ Hubs representam especialidades técnicas dentro da organização.
32
+
33
+ ### AI
34
+ Inteligência Artificial, Jarvis, Chatbots, n8n, agents
35
+
36
+ ### FRONTEND
37
+ Desenvolvimento de interfaces de usuário, web e mobile
38
+
39
+ ### BACKEND
40
+ Desenvolvimento de APIs, serviços, microsserviços e integrações
41
+
42
+ ### QA
43
+ Quality Assurance, testes automatizados, testes manuais e garantia de qualidade
44
+
45
+ ### DATA
46
+ Engenharia e análise de dados, pipelines, BI e operações de dados, Machine Learning, Data Science e modelos preditivos
47
+
48
+ ### FULLCYCLE
49
+ Desenvolvedor que atua em todas as camadas técnicas (frontend, backend e, quando necessário, dados) do início ao fim de uma entrega — em qualquer verificação de HUB, é tratado como coringa/superusuário: satisfaz qualquer HUB exigido, nunca bloqueado por applies_to HUB específico
50
+ ---
51
+
52
+ ## 👤 Positions (Cargos e Senioridades)
53
+
54
+ Níveis de senioridade e cargos técnicos na organização.
55
+
56
+ ### HEAD
57
+ Líder de área (Engenharia, Produto, Vendas)
58
+ - Responsável por uma área técnica ou de negócio
59
+ - Gestão de pessoas e direção técnica/produto
60
+ - Interface entre squads e liderança executiva
61
+
62
+ ### JUNIOR
63
+ Desenvolvedor Júnior (0-2 anos de experiência)
64
+ - Aprendendo tecnologias e processos
65
+ - Pede ajuda quando precisar — sem gate obrigatório de TL/PM
66
+ - Foco em desenvolver habilidades técnicas
67
+ - No fluxo downstream: dono ponta-a-ponta do card que assumiu (puxar, implementar, MR, validar, deploy)
68
+
69
+ ### PLENO
70
+ Desenvolvedor Pleno (2-4 anos de experiência)
71
+ - Autonomia em tarefas individuais
72
+ - Contribui para decisões técnicas
73
+ - Mentoría desenvolvedores júnior
74
+ - No fluxo downstream: dono ponta-a-ponta do card que assumiu
75
+
76
+ ### SENIOR
77
+ Desenvolvedor Sênior (4+ anos de experiência)
78
+ - Alta autonomia técnica
79
+ - Toma decisões arquiteturais
80
+ - Mentoria e liderança técnica
81
+ - No fluxo downstream: dono ponta-a-ponta do card que assumiu
82
+
83
+ ### TECH LEAD
84
+ Líder técnico de time ou squad
85
+ - Responsável por direção técnica do time
86
+ - Coordena desenvolvimento e arquitetura
87
+ - Interface entre time e stakeholders
88
+ - No fluxo downstream: apoia o time. Não é gate — o profissional que assumiu o card conduz ponta-a-ponta. TL desbloqueia e cobre quando pedido.
89
+
90
+ ### SPECIALIST
91
+ Especialista em área técnica ou disciplina específica
92
+ - Expert em domínio particular (segurança, performance, etc.)
93
+ - Consultoria técnica para times
94
+ - Define padrões e melhores práticas
95
+ - No fluxo downstream: dono ponta-a-ponta do card que assumiu
96
+
97
+ ### QA-ENGINEER
98
+ Engenheiro de Quality Assurance
99
+ - Planejamento e execução de testes (manuais e automatizados)
100
+ - Reporte e rastreamento de bugs
101
+ - Validação técnica de entregas antes da aprovação de produto
102
+ - No fluxo downstream: apoia o DEV na validação — não move cards, apenas executa e reporta
103
+
104
+ ### PM
105
+ Product Manager
106
+ - Gestão de produto e roadmap
107
+ - Define prioridades e features
108
+ - Interface com stakeholders de negócio
109
+ - No fluxo downstream: pode priorizar, aceitar e também assumir/conduzir um card ponta-a-ponta. Aceite apoia — não trava o owner.
110
+
111
+ ### TPM
112
+ Technical Product Manager
113
+ - Product Manager com foco técnico
114
+ - Ponte entre produto e engenharia
115
+ - Decisões de produto com viés técnico
116
+ - No fluxo downstream: pode priorizar, aceitar e também assumir/conduzir um card ponta-a-ponta. Aceite apoia — não trava o owner.
117
+
118
+ ### GPM
119
+ Group Product Manager
120
+ - Gerencia múltiplos PMs
121
+ - Visão estratégica de produto
122
+ - Coordenação entre diferentes áreas
123
+ - No fluxo downstream: pode priorizar, aceitar e também assumir/conduzir um card ponta-a-ponta. Aceite apoia — não trava o owner.
124
+
125
+ ### TECH ANALYST
126
+ Ponte técnica entre suporte operacional e squads de engenharia — posição de entrada em engenharia
127
+ ⚠️ Posição transversal — NÃO pertence a nenhuma squad de desenvolvimento. Squad no ENV.md = SUPPORT.
128
+ - Diagnóstico e triagem técnica de chamados não resolvidos pelo suporte N2
129
+ - Resolução de problemas dentro do escopo via backoffice, scripts e ferramentas internas
130
+ - Escalonamento qualificado: avalia impacto antes de escalar, nunca escala por reflexo
131
+ - Consulta banco de dados para diagnóstico (somente leitura — não escreve em produção)
132
+ - Classifica e registra bugs no Jira com descrição clara, impacto avaliado e área identificada
133
+ - Monitora e atualiza frequência de bugs recorrentes no Jarvis, alertando QA quando necessário
134
+ - Não desenvolve features, não faz deploy, não define prioridades — isso é do PM
135
+ - No fluxo downstream: responsável pela validação operacional pós-deploy e encaminhamento de problemas encontrados em produção
136
+
137
+ ### QUALITY_CHAMPION
138
+ Designação secundária para devs com função parcial de qualidade dentro do squad.
139
+ Não é uma posição de senioridade — o dev mantém seu cargo (JUNIOR, PLENO, SENIOR, etc.).
140
+ Registrado no campo Posição do `members.md` junto com o cargo principal.
141
+ - Responsável por cobertura de testes em features de baixo/médio risco do squad
142
+ - Executa quality gates e orienta outros devs via eng-qa-dev-guide
143
+ - NÃO substitui QA em features críticas, decisões de bloqueio ou sign-off de release
144
+ - Dedicação típica: ~30% do tempo em atividades de qualidade
145
+ - No fluxo downstream: apoia o QA-ENGINEER na cobertura — não toma decisões de bloqueio
146
+
147
+ ### CTO
148
+ Chief Technology Officer
149
+ - Direção estratégica de tecnologia
150
+ - Responsável por toda organização técnica
151
+ - Decisões de alto nível sobre arquitetura e stack
152
+
153
+ ### GENERALIST
154
+ Profissional que acumula funções de outras posições (SPECIALIST, PM, dev, QA etc.) conforme a demanda — típico de times pequenos sem gente dedicada por função
155
+ - Cargo principal (como SPECIALIST), não designação secundária (diferente de QUALITY_CHAMPION)
156
+ - Transita entre ENGINEERING e PRODUCT — não fica restrito a uma única área
157
+ - Em qualquer verificação de POSITION ou AREA, é tratado como coringa/superusuário: satisfaz qualquer valor exigido
158
+ - No fluxo downstream: dono ponta-a-ponta do card que assumiu, com autonomia equivalente a TECH LEAD/staff (ver eng-rules.md)
159
+
160
+ ---
161
+
162
+ ## 📊 Areas (Áreas de Negócio)
163
+
164
+ Áreas funcionais da organização.
165
+
166
+ ### ENGINEERING
167
+ prefix: eng
168
+ Área de Engenharia
169
+ - Desenvolvimento de software
170
+ - Infraestrutura e operações
171
+ - Inovação tecnológica
172
+
173
+ ### PRODUCT
174
+ prefix: prod
175
+ Área de Produto
176
+ - Gestão de produto
177
+ - Discovery e research
178
+ - Roadmap e estratégia
179
+
180
+ DOMAIN:
181
+
182
+ ---
183
+
184
+ ## 🌐 Domain (Domínio de Email Corporativo)
185
+
186
+ Define o domínio de email corporativo para validação e padronização de emails.
187
+
188
+ **ADICIONAR APENAS UMA LINHA APÓS AREAS:**
189
+
190
+ ```markdown
191
+ DOMAIN:
192
+ ```
193
+
194
+ ### Como Funciona
195
+ - Todos os emails devem terminar com `@DOMAIN`
196
+ - Usado na validação de ENV.md durante `/init-jarvis`
197
+ - Garante que apenas emails corporativos sejam registrados
198
+ - Exemplo: `pedro@domain.com.br`, `ana@domain.com.br`
199
+
200
+ ### Para Open Source (Sem Restrição)
201
+ Deixe em branco ou remova a linha:
202
+
203
+ ```markdown
204
+ DOMAIN:
205
+ ```
206
+
207
+ ---
208
+
209
+ ## 📝 Como Adicionar Novas Opções
210
+
211
+ Para adicionar uma nova opção:
212
+
213
+ 1. Adicione o nome em MAIÚSCULAS sob a categoria apropriada
214
+ 2. Inclua os campos estruturados (se aplicável)
215
+ 3. Inclua uma breve descrição
216
+ 4. Execute `/init-jarvis` - as novas opções aparecerão automaticamente
217
+
218
+ **Exemplo — Squad com channel_id e modules:**
219
+ ```markdown
220
+ ### MOBILE
221
+ channel_id: C0123456789
222
+ board_code: MOB
223
+ modules: app-ios, app-android, push-notification, deep-link
224
+ Time focado em desenvolvimento mobile nativo (iOS/Android)
225
+ ```
226
+
227
+ > Membros da organização são gerenciados em `members.md`.
228
+
229
+ **Exemplo — Area com prefix:**
230
+ ```markdown
231
+ ### DESIGN
232
+ prefix: design
233
+ Área de Design, UX e pesquisa com usuários
234
+ ```
235
+
236
+ > Use `/taxonomy-manager add` para adicionar opções com validação automática.
237
+
238
+ ---
239
+
240
+ ## 🔄 Sincronização
241
+
242
+ Quando este arquivo é atualizado:
243
+ - Execute `/init-jarvis` para recriar ENV.md com novas opções
244
+ - Ou edite manualmente `$IDE/ENV.md` se já existir
245
+ - As validações nos workflows usarão automaticamente as novas opções
246
+
247
+ ---
248
+
249
+ ## ⚠️ Notas Importantes
250
+
251
+ 1. **Mantenha nomes sem espaços**: Use `-` ou `_` para separar palavras
252
+ - ✅ `CORE`
253
+ - ❌ `ENGINEERING CORE`
254
+
255
+ 2. **Use MAIÚSCULAS**: Facilita padronização e busca
256
+ - ✅ `SENIOR`
257
+ - ❌ `Senior` ou `senior`
258
+
259
+ 3. **Evite caracteres especiais**: Apenas letras, números, `-` e `_`
260
+ - ✅ `RPA`, `TECH-LEAD`
261
+ - ❌ `RPA!`, `TECH/LEAD`
262
+
263
+ 4. **Mantenha consistência**: Uma vez definido, evite mudar nomes existentes
264
+ - Impacta ENV.md de projetos existentes
265
+ - Se necessário mudar, comunique toda a organização
266
+
267
+ 5. **Domínio de Email**: Configure uma única vez no início
268
+ - ✅ `DOMAIN: seudominio.com.br` (validará emails @seudominio.com.br)
269
+ - ✅ `DOMAIN:` (em branco para sem restrição)
270
+ - ❌ Múltiplos domínios (use apenas um)