jarvis-ai-framework 1.0.3 → 2.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 (193) hide show
  1. package/AGENTS.md +66 -64
  2. package/README.md +24 -10
  3. package/agents/AGENTS.md +12 -8
  4. package/agents/README.md +14 -16
  5. package/agents/engineering/data/eng.data-engineer.agent.md +6 -6
  6. package/agents/engineering/eng.agent.md +19 -36
  7. package/agents/engineering/eng.bug-hunter.md +13 -12
  8. package/agents/engineering/eng.cybersecurity.agent.md +20 -35
  9. package/agents/engineering/eng.docs-writer.md +2 -2
  10. package/agents/engineering/eng.frontend.agent.md +17 -22
  11. package/agents/engineering/eng.rpa.agent.md +5 -15
  12. package/agents/engineering/qa/eng.qa.test-architect.md +4 -4
  13. package/agents/engineering/qa/eng.qa.test-planner.md +3 -3
  14. package/agents/engineering/qa/eng.qa.testing-engineer.md +3 -3
  15. package/agents/product/prod.discovery-interviewer.md +86 -0
  16. package/bin/commands/init.js +6 -6
  17. package/bin/jarvis.js +1 -1
  18. package/bin/lib/config/constants.js +47 -0
  19. package/bin/lib/core/sync-engine.js +12 -0
  20. package/package.json +2 -5
  21. package/rules/AGENTS.md +6 -4
  22. package/rules/engineering/eng-rules.md +5 -3
  23. package/rules/engineering/eng-security-rules.md +4 -4
  24. package/rules/engineering/eng.breakdown-subtasks-rules.md +208 -37
  25. package/rules/engineering/eng.docs-scraping-rules.md +1 -1
  26. package/rules/engineering/eng.downstream-flow-rules.md +1 -1
  27. package/rules/engineering/eng.integrations-rules.md +2 -2
  28. package/rules/engineering/eng.pre-pr-rules.md +1 -1
  29. package/rules/engineering/eng.skills-rules.md +60 -0
  30. package/rules/engineering/eng.specializations-rules.md +69 -0
  31. package/rules/engineering/eng.start-rules.md +11 -11
  32. package/rules/engineering/eng.work-rules.md +19 -14
  33. package/rules/engineering/frontend/eng.frontend-rules.md +70 -69
  34. package/rules/product/README.md +2 -0
  35. package/rules/product/prod-rules.md +7 -5
  36. package/{skills/prod-specs/rules/prod-spec-rules.md → rules/product/prod.spec-rules.md} +55 -50
  37. package/skills/AGENTS.md +111 -47
  38. package/skills/SKILLS-ROADMAP.md +26 -45
  39. package/skills/eng-ai-engineer/SKILL.md +1 -0
  40. package/skills/eng-backend/SKILL.md +142 -644
  41. package/skills/eng-backend/references/1-fundamentos-programacao.md +41 -0
  42. package/skills/eng-backend/references/10-seguranca.md +61 -0
  43. package/skills/eng-backend/references/11-performance.md +49 -0
  44. package/skills/eng-backend/references/12-erros-logging.md +42 -0
  45. package/skills/eng-backend/references/13-qualidade-codigo.md +51 -0
  46. package/skills/eng-backend/references/2-design-arquitetura.md +48 -0
  47. package/skills/eng-backend/references/3-design-patterns.md +50 -0
  48. package/skills/eng-backend/references/4-algoritmos-estruturas.md +43 -0
  49. package/skills/eng-backend/references/5-banco-dados.md +53 -0
  50. package/skills/eng-backend/references/6-api-comunicacao.md +42 -0
  51. package/skills/eng-backend/references/7-concorrencia-async.md +49 -0
  52. package/skills/eng-backend/references/8-arquitetura-servidor.md +49 -0
  53. package/skills/eng-backend/references/9-testes.md +43 -0
  54. package/skills/{eng-arch-c4 → eng-backend-arch-c4}/SKILL.md +12 -7
  55. package/skills/{eng-ms-trace → eng-backend-microservices-trace}/SKILL.md +6 -4
  56. package/skills/{eng-nestjs → eng-backend-nestjs}/SKILL.md +3 -1
  57. package/skills/{eng-rabbitmq → eng-backend-rabbitmq}/SKILL.md +3 -1
  58. package/skills/eng-data-bi/SKILL.md +1 -0
  59. package/skills/eng-data-debug/SKILL.md +2 -1
  60. package/skills/eng-data-engineer/SKILL.md +1 -0
  61. package/skills/eng-data-onboard/SKILL.md +1 -0
  62. package/skills/eng-data-orchestrator/SKILL.md +1 -0
  63. package/skills/{eng-performance-engineer → eng-devops-performance-engineer}/SKILL.md +2 -1
  64. package/skills/eng-frontend/SKILL.md +145 -782
  65. package/skills/eng-frontend/references/1-fundamentos-programacao.md +37 -0
  66. package/skills/eng-frontend/references/10-testes.md +47 -0
  67. package/skills/eng-frontend/references/11-seguranca.md +56 -0
  68. package/skills/eng-frontend/references/12-qualidade-codigo.md +51 -0
  69. package/skills/eng-frontend/references/2-html-fundamentals.md +51 -0
  70. package/skills/eng-frontend/references/3-css-responsive.md +61 -0
  71. package/skills/eng-frontend/references/4-javascript-dom.md +60 -0
  72. package/skills/eng-frontend/references/5-state-management.md +55 -0
  73. package/skills/eng-frontend/references/6-uiux-design.md +59 -0
  74. package/skills/eng-frontend/references/7-acessibilidade.md +46 -0
  75. package/skills/eng-frontend/references/8-performance.md +58 -0
  76. package/skills/eng-frontend/references/9-browser-apis.md +54 -0
  77. package/skills/{eng-design-system → eng-frontend-design-system}/SKILL.md +4 -2
  78. package/skills/{eng-microfrontend → eng-frontend-microfrontend}/SKILL.md +4 -2
  79. package/skills/{eng-browser-extension-builder → eng-global-browser-extension-builder}/SKILL.md +2 -1
  80. package/skills/{eng-docs-write → eng-global-docs-write}/SKILL.md +8 -4
  81. package/skills/eng-global-jira-comment/SKILL.md +21 -0
  82. package/skills/{eng-pr → eng-global-pr}/SKILL.md +7 -3
  83. package/skills/{eng-task-comment → eng-global-task-comment}/SKILL.md +6 -2
  84. package/skills/eng-qa-a11y-audit/SKILL.md +1 -0
  85. package/skills/eng-qa-bug-report/SKILL.md +2 -1
  86. package/skills/eng-qa-bug-report/TASK_MANAGERS.md +1 -1
  87. package/skills/eng-qa-cypress-e2e/SKILL.md +1 -0
  88. package/skills/eng-qa-dev-guide/SKILL.md +1 -0
  89. package/skills/eng-qa-e2e/SKILL.md +1 -0
  90. package/skills/eng-qa-e2e-spec-writer/SKILL.md +1 -0
  91. package/skills/eng-qa-exploratory/SKILL.md +1 -0
  92. package/skills/eng-qa-gate/SKILL.md +3 -2
  93. package/skills/eng-qa-graphql-contract/SKILL.md +1 -0
  94. package/skills/eng-qa-quality-report/SKILL.md +3 -2
  95. package/skills/eng-qa-test-plan/SKILL.md +1 -0
  96. package/skills/eng-qa-testsprite/SKILL.md +2 -1
  97. package/skills/eng-qa-unit-test/SKILL.md +1 -0
  98. package/skills/eng-scraper/SKILL.md +1 -0
  99. package/skills/eng-scraper-robot-builder/SKILL.md +1 -0
  100. package/skills/{eng-cybersecurity → eng-security-cybersecurity}/SKILL.md +3 -2
  101. package/skills/eng-security-patch/SKILL.md +6 -2
  102. package/skills/{eng-threat-model → eng-security-threat-model}/SKILL.md +6 -2
  103. package/skills/eng-security-triage/SKILL.md +4 -0
  104. package/skills/{context-detect → jarvis-context-detect}/SKILL.md +6 -5
  105. package/skills/{context-detect → jarvis-context-detect}/assets/context-profile-template.md +3 -3
  106. package/skills/jarvis-create-specialization/SKILL.md +230 -0
  107. package/skills/jarvis-create-specialization/assets/referencia-template.md +39 -0
  108. package/skills/jarvis-create-specialization/assets/skill-especializacao-template.md +78 -0
  109. package/skills/{docs-central → jarvis-docs-central}/README.md +1 -1
  110. package/skills/{docs-central → jarvis-docs-central}/SKILL.md +3 -40
  111. package/skills/{docs-index → jarvis-docs-index}/SKILL.md +8 -4
  112. package/skills/{init-jarvis → jarvis-init}/SKILL.md +42 -19
  113. package/skills/{init-jarvis → jarvis-init}/assets/mcp-configs.md +3 -3
  114. package/skills/{init-jarvis → jarvis-init}/assets/onboarding-checklist.md +1 -1
  115. package/skills/jarvis-init/assets/passo-adicionar-stacks.md +163 -0
  116. package/skills/{init-jarvis → jarvis-init}/assets/setup-guide.md +1 -1
  117. package/skills/jarvis-init/assets/sinais-de-stack.md +54 -0
  118. package/skills/jarvis-list-specializations/SKILL.md +148 -0
  119. package/skills/{report-issue → jarvis-report-issue}/SKILL.md +3 -2
  120. package/skills/{prod-roadmap-report → product-roadmap-report}/SKILL.md +2 -1
  121. package/skills/product-specs/SKILL.md +45 -0
  122. package/skills/{prod-specs-update → product-specs-update}/SKILL.md +3 -2
  123. package/taxonomy.md +3 -21
  124. package/templates/AGENTS.md +7 -6
  125. package/templates/CDD aplicado a Prompts.md +5 -5
  126. package/templates/ENV-template.md +12 -9
  127. package/templates/engineering/AGENTS-template.md +1 -1
  128. package/templates/engineering/CONTACTS-template.md +1 -1
  129. package/templates/product/prod-discovery-template.md +98 -0
  130. package/{skills/prod-specs/templates → templates/product}/prod-epic-template.md +1 -0
  131. package/{skills/prod-specs/templates → templates/product}/prod-frd-template.md +1 -0
  132. package/{skills/prod-specs/templates → templates/product}/prod-issue-template.md +1 -0
  133. package/{skills/prod-specs/templates → templates/product}/prod-prd-template.md +1 -0
  134. package/workflows/AGENTS.md +3 -1
  135. package/workflows/README.md +2 -0
  136. package/workflows/engineering/eng.bug-audit.md +2 -2
  137. package/workflows/engineering/eng.build-tech-spec.md +38 -49
  138. package/workflows/engineering/eng.debug.md +10 -10
  139. package/workflows/engineering/eng.docs.md +2 -2
  140. package/workflows/engineering/eng.plan.md +5 -5
  141. package/workflows/engineering/eng.pr.md +8 -8
  142. package/workflows/engineering/eng.pre-pr.md +16 -20
  143. package/workflows/engineering/eng.review.md +5 -10
  144. package/workflows/engineering/eng.rpa.robot.md +3 -3
  145. package/workflows/engineering/eng.security-audit.md +5 -5
  146. package/workflows/engineering/eng.security-incident.md +2 -2
  147. package/workflows/engineering/eng.security-pipeline.md +2 -2
  148. package/workflows/engineering/eng.start.md +16 -50
  149. package/workflows/engineering/eng.work.md +9 -12
  150. package/workflows/engineering/frontend/eng.frontend-component.md +68 -96
  151. package/workflows/engineering/frontend/eng.frontend-perf-audit.md +90 -220
  152. package/workflows/engineering/frontend/eng.frontend-review.md +57 -63
  153. package/workflows/engineering/qa/eng.qa-quality-report.md +0 -5
  154. package/workflows/product/prod.roadmap.preview.md +2 -2
  155. package/workflows/product/prod.spec.breakdown.md +3 -8
  156. package/workflows/product/prod.spec.discovery.md +152 -0
  157. package/workflows/product/prod.spec.epic.md +3 -0
  158. package/workflows/product/prod.spec.frd.md +123 -8
  159. package/workflows/product/prod.spec.issue.md +3 -2
  160. package/workflows/product/prod.spec.md +2 -0
  161. package/workflows/product/prod.spec.prd.md +105 -6
  162. package/workflows/taxonomy.md +1 -1
  163. package/workflows/warm-up.md +5 -26
  164. package/agents/engineering/eng.tech-analyst.agent.md +0 -102
  165. package/skills/churn-audit/SKILL.md +0 -385
  166. package/skills/eng-jira-comment/SKILL.md +0 -17
  167. package/skills/eng-tech-analyst/SKILL.md +0 -529
  168. package/skills/lovable-prompt-generator/SKILL.md +0 -304
  169. package/skills/prod-specs/SKILL.md +0 -108
  170. package/skills/prod-specs/references/prod.spec.clarify.md +0 -176
  171. package/skills/prod-specs/references/prod.spec.epic.md +0 -107
  172. package/skills/prod-specs/references/prod.spec.frd.md +0 -135
  173. package/skills/prod-specs/references/prod.spec.issue.md +0 -145
  174. package/skills/prod-specs/references/prod.spec.prd.md +0 -118
  175. package/skills/prod-specs/templates/prod-prd-full-template.md +0 -159
  176. package/workflows/engineering/ta/eng.ta.atendimento.md +0 -93
  177. /package/skills/{eng-arch-c4 → eng-backend-arch-c4}/assets/example-code.md +0 -0
  178. /package/skills/{eng-arch-c4 → eng-backend-arch-c4}/assets/example-component.md +0 -0
  179. /package/skills/{eng-arch-c4 → eng-backend-arch-c4}/assets/example-container.md +0 -0
  180. /package/skills/{eng-arch-c4 → eng-backend-arch-c4}/assets/example-context.md +0 -0
  181. /package/skills/{prod-roadmap-report → product-roadmap-report}/README.md +0 -0
  182. /package/skills/{prod-roadmap-report → product-roadmap-report}/commands/status.compiled.single.team.md +0 -0
  183. /package/skills/{prod-roadmap-report → product-roadmap-report}/commands/status.list.projects.md +0 -0
  184. /package/skills/{prod-roadmap-report → product-roadmap-report}/commands/status.memory.md +0 -0
  185. /package/skills/{prod-roadmap-report → product-roadmap-report}/commands/status.roadmap.preview.md +0 -0
  186. /package/skills/{prod-roadmap-report → product-roadmap-report}/references/detailed-guide.md +0 -0
  187. /package/skills/{prod-roadmap-report → product-roadmap-report}/rules/detailed-guide.md +0 -0
  188. /package/skills/{prod-roadmap-report → product-roadmap-report}/rules/status-report-rules.md +0 -0
  189. /package/skills/{prod-roadmap-report → product-roadmap-report}/templates/template-multiple-teams-compiled-status.md +0 -0
  190. /package/skills/{prod-roadmap-report → product-roadmap-report}/templates/template-projects-list.md +0 -0
  191. /package/skills/{prod-roadmap-report → product-roadmap-report}/templates/template-single-team-compiled-status.md +0 -0
  192. /package/skills/{prod-roadmap-report → product-roadmap-report}/templates/template-single-team-status.md +0 -0
  193. /package/{skills/prod-specs/templates → templates/product}/prod-breakdown-template.md +0 -0
@@ -95,11 +95,11 @@ Ativado quando precisa avaliar um projeto existente em busca de problemas.
95
95
  ## Calibração Contextual (CDD)
96
96
 
97
97
  > **Princípio**: O agente deve adaptar rigor e urgência ao contexto do bug.
98
- > 📚 **Skill**: Use `/context-detect` para detecção automatizada do contexto
98
+ > 📚 **Skill**: Use `/jarvis-context-detect` para detecção automatizada do contexto
99
99
 
100
100
  ### Herdar Contexto da Sessão
101
101
 
102
- Se existir arquivo `context.md` na sessão (gerado por `/context-detect`), use-o:
102
+ Se existir arquivo `context.md` na sessão (gerado por `/jarvis-context-detect`), use-o:
103
103
 
104
104
  ```bash
105
105
  # Localização: $SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/context.md
@@ -119,7 +119,7 @@ CONTEXT_PROFILE:
119
119
  linter: [configurado|ausente]
120
120
  ```
121
121
 
122
- > Se `context.md` não existir e for necessário, execute `/context-detect {TASK_MANAGER_KEY}` ou faça detecção manual.
122
+ > Se `context.md` não existir e for necessário, execute `/jarvis-context-detect {TASK_MANAGER_KEY}` ou faça detecção manual.
123
123
 
124
124
  ### Detecção de Urgência
125
125
 
@@ -204,18 +204,19 @@ Para geração de relatórios estruturados de bugs encontrados:
204
204
  - Uso: `/bug-report [modo] [argumentos]`
205
205
  - Integração com Jira para criação automática de cards
206
206
 
207
- ### context-detect (CDD)
207
+ ### jarvis-context-detect (CDD)
208
208
  Para detecção automática de contexto:
209
- - Arquivo: `$IDE/skills/context-detect/SKILL.md`
210
- - Uso: `/context-detect [jira-key]`
209
+ - Arquivo: `$IDE/skills/jarvis-context-detect/SKILL.md`
210
+ - Uso: `/jarvis-context-detect [jira-key]`
211
211
  - Chamado automaticamente pelo workflow `eng.debug`
212
212
 
213
- ### eng-ms-trace
214
- Para rastreamento automático de bugs em arquitetura de microsserviços:
215
- - Arquivo: `$IDE/skills/eng-ms-trace/SKILL.md`
216
- - Uso: `/eng-ms-trace [serviço-entrada] [sintoma-ou-jira-key]`
217
- - Ativado automaticamente pelo `eng.debug` (Passo 2.5) quando o bug é suspeito de cruzar serviços
213
+ ### Rastreamento de bugs entre serviços (especialização de backend)
214
+ Para rastreamento automático de bugs em arquitetura de microsserviços, use a especialização de rastreamento entre serviços **se ela estiver registrada** em `BACKEND_SPECIALIZATIONS` (regra `$IDE/rules/engineering/eng.specializations-rules.md`):
215
+ - Nome do skill: `eng-backend-microservices-trace`
216
+ - Arquivo: `$IDE/skills/eng-backend-microservices-trace/SKILL.md`
217
+ - Ativado pelo `eng.debug` (Passo 2.5) quando o bug é suspeito de cruzar serviços
218
218
  - Mapeia cadeia de chamadas HTTP + AMQP, analisa contratos em cada boundary e rankeia hipóteses por risco
219
+ - Sem a especialização registrada, siga a investigação cross-service manualmente
219
220
 
220
221
  ---
221
222
 
@@ -319,7 +320,7 @@ Para rastreamento automático de bugs em arquitetura de microsserviços:
319
320
  - **Com SENTINEL (eng.cybersecurity.agent)**
320
321
  - Bugs com impacto de segurança (injection, auth bypass, data exposure) são escalados para SENTINEL
321
322
  - SENTINEL classifica por severidade CVSS e coordena a resposta
322
- - Skill de referência: `$IDE/skills/eng-cybersecurity/SKILL.md`
323
+ - Skill de referência: `$IDE/skills/eng-security-cybersecurity/SKILL.md`
323
324
 
324
325
  ---
325
326
 
@@ -133,11 +133,11 @@ Ativado para revisao de seguranca de PRs/MRs com impacto em areas sensiveis.
133
133
  ## Calibracao Contextual (CDD)
134
134
 
135
135
  > **Principio**: O agente deve adaptar rigor e urgencia ao contexto da ameaca.
136
- > Skill: Use `/context-detect` para deteccao automatizada do contexto
136
+ > Skill: Use `/jarvis-context-detect` para deteccao automatizada do contexto
137
137
 
138
138
  ### Herdar Contexto da Sessao
139
139
 
140
- Se existir arquivo `context.md` na sessao (gerado por `/context-detect`), use-o:
140
+ Se existir arquivo `context.md` na sessao (gerado por `/jarvis-context-detect`), use-o:
141
141
 
142
142
  ```bash
143
143
  # Localizacao: $SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/context.md
@@ -157,7 +157,7 @@ CONTEXT_PROFILE:
157
157
  linter: [configurado|ausente]
158
158
  ```
159
159
 
160
- > Se `context.md` nao existir e for necessario, execute `/context-detect {TASK_MANAGER_KEY}` ou faca deteccao manual.
160
+ > Se `context.md` nao existir e for necessario, execute `/jarvis-context-detect {TASK_MANAGER_KEY}` ou faca deteccao manual.
161
161
 
162
162
  ### Deteccao de Urgencia
163
163
 
@@ -222,48 +222,33 @@ CONTEXT_PROFILE:
222
222
  - `$IDE/workflows/engineering/eng.security-audit.md` (Audit Mode)
223
223
  - `$IDE/workflows/engineering/eng.security-incident.md` (Incident Response Mode)
224
224
  - `$IDE/workflows/engineering/eng.security-review.md` (Review Mode)
225
- - `$IDE/skills/eng-cybersecurity/SKILL.md` (playbook operacional)
225
+ - `$IDE/skills/eng-security-cybersecurity/SKILL.md` (playbook operacional)
226
226
  - Nao acione workflows de outros dominios sem autorizacao explicita do usuario
227
227
 
228
228
  ---
229
229
 
230
230
  ## Skills
231
231
 
232
- ### eng-cybersecurity
232
+ ### eng-security-cybersecurity
233
233
  Playbook operacional de seguranca — fonte de verdade para padroes, checklists e exemplos:
234
- - Arquivo: `$IDE/skills/eng-cybersecurity/SKILL.md`
235
- - Uso: `/eng-cybersecurity [audit|incident|review|hardening|secrets|owasp] [contexto]`
234
+ - Arquivo: `$IDE/skills/eng-security-cybersecurity/SKILL.md`
235
+ - Uso: `/eng-security-cybersecurity [audit|incident|review|hardening|secrets|owasp] [contexto]`
236
236
  - Cobre: OWASP Top 10, secrets, sanitizacao, headers, supply chain, compliance
237
237
 
238
- ### context-detect (CDD)
238
+ ### jarvis-context-detect (CDD)
239
239
  Para deteccao automatica de contexto:
240
- - Arquivo: `$IDE/skills/context-detect/SKILL.md`
241
- - Uso: `/context-detect [jira-key]`
242
-
243
- ### eng-backend
244
- Para revisao de auth, JWT, RBAC, sessions, workers:
245
- - Arquivo: `$IDE/skills/eng-backend/SKILL.md`
246
- - Trigger: fluxos de autenticacao e autorizacao
247
-
248
- ### eng-nestjs
249
- Para guards, pipes, interceptors, middleware de seguranca:
250
- - Arquivo: `$IDE/skills/eng-nestjs/SKILL.md`
251
- - Trigger: seguranca especifica do framework NestJS
252
-
253
- ### eng-frontend
254
- Para CSP, XSS prevention, sanitizacao no client:
255
- - Arquivo: `$IDE/skills/eng-frontend/SKILL.md`
256
- - Trigger: seguranca de frontend e renderizacao
257
-
258
- ### eng-ms-trace
259
- Para rastreamento de vulnerabilidades cross-service:
260
- - Arquivo: `$IDE/skills/eng-ms-trace/SKILL.md`
261
- - Trigger: vulnerabilidade que atravessa multiplos servicos
262
-
263
- ### eng-threat-model
240
+ - Arquivo: `$IDE/skills/jarvis-context-detect/SKILL.md`
241
+ - Uso: `/jarvis-context-detect [jira-key]`
242
+
243
+ ### Backend e frontend (skill base + especializações)
244
+ Para revisão de segurança em código de backend (auth, JWT, RBAC, sessions, workers, middleware, guards) ou de frontend (CSP, XSS, sanitização no client), aplique a regra `$IDE/rules/engineering/eng.specializations-rules.md` para a área envolvida: ela carrega o skill base (`eng-backend` ou `eng-frontend`) e as especializações registradas no `ENV.md`.
245
+ - Trigger: fluxos de autenticação e autorização, segurança de renderização e do framework usado no projeto
246
+ - Vulnerabilidade que atravessa múltiplos serviços: use a especialização de rastreamento entre serviços, se registrada em `BACKEND_SPECIALIZATIONS`
247
+
248
+ ### eng-security-threat-model
264
249
  Para producao de threat model estruturado antes de audit ou review:
265
- - Arquivo: `$IDE/skills/eng-threat-model/SKILL.md`
266
- - Uso: `/eng-threat-model [bootstrap|interview|bootstrap-then-interview] [--fresh]`
250
+ - Arquivo: `$IDE/skills/eng-security-threat-model/SKILL.md`
251
+ - Uso: `/eng-security-threat-model [bootstrap|interview|bootstrap-then-interview] [--fresh]`
267
252
  - Trigger: auditoria de seguranca, onboarding em novo projeto, feature com superficie de ataque significativa
268
253
  - Output: `THREAT_MODEL.md` (schema em `docs/SECURITY-ARTIFACTS-SCHEMA.md`)
269
254
 
@@ -336,7 +321,7 @@ Para gerar diffs candidatos por achado confirmado — fechar o loop técnico do
336
321
  **Workflow**: `$IDE/workflows/engineering/eng.security-pipeline.md`
337
322
 
338
323
  **4 Estágios encadeados**:
339
- 1. Threat Model — mapear ameaças STRIDE (`/eng-threat-model`)
324
+ 1. Threat Model — mapear ameaças STRIDE (`/eng-security-threat-model`)
340
325
  2. Audit — varredura OWASP guiada pelo threat model (`/eng.security-audit`)
341
326
  3. Triage — dedup + multi-voto + rank por exploitabilidade (`/eng-security-triage`)
342
327
  4. Patch — diffs candidatos por achado confirmado (`/eng-security-patch`)
@@ -11,9 +11,9 @@ Sua missão é garantir que a documentação reflita com precisão o **estado at
11
11
 
12
12
  ## Skill de referência
13
13
 
14
- Use o skill `eng-docs-write` como fonte de verdade do processo e formato de entrega:
14
+ Use o skill `eng-global-docs-write` como fonte de verdade do processo e formato de entrega:
15
15
 
16
- - Arquivo: `$IDE/skills/eng-docs-write/SKILL.md`
16
+ - Arquivo: `$IDE/skills/eng-global-docs-write/SKILL.md`
17
17
 
18
18
  ---
19
19
 
@@ -1,9 +1,9 @@
1
1
  ---
2
2
  name: eng.frontend.agent
3
3
  description: >
4
- Agente especialista em desenvolvimento frontend: React, micro frontend com Module Federation,
5
- design system, acessibilidade e Core Web Vitals.
6
- Usa eng-frontend, eng-microfrontend e eng-design-system como skills operacionais.
4
+ Agente especialista em desenvolvimento frontend, neutro de stack: componentes, estado, estilos,
5
+ acessibilidade e Core Web Vitals. Usa o skill base eng-frontend mais as especializações que o
6
+ projeto registrou em FRONTEND_SPECIALIZATIONS (regra eng.specializations-rules.md).
7
7
  author: jarvis-team
8
8
  version: "1.0"
9
9
  ---
@@ -13,7 +13,7 @@ version: "1.0"
13
13
  ## Identidade
14
14
 
15
15
  Você é o **especialista de frontend** — o ponto de referência técnico para tudo que envolve
16
- interface, experiência do usuário, arquitetura de micro frontends e design system.
16
+ interface, experiência do usuário e arquitetura de frontend, na stack que o projeto usa.
17
17
 
18
18
  Sua atuação combina profundidade técnica com visão de produto: você não implementa apenas
19
19
  o que foi pedido, mas questiona ativamente se a solução é a melhor para o usuário final.
@@ -22,9 +22,8 @@ o que foi pedido, mas questiona ativamente se a solução é a melhor para o usu
22
22
 
23
23
  ## Domínio de Conhecimento
24
24
 
25
- - **React / Next.js**: React 19, App Router, Server Components, Server Actions, hooks avançados
26
- - **Micro Frontend**: Module Federation (Vite + Webpack), shell/remote architecture, contratos de interface, event bus
27
- - **Design System**: tokens semânticos, CVA, Storybook, versionamento semver, acessibilidade
25
+ - **Stack do projeto**: o que o projeto usa (framework, bibliotecas, estrutura) vem das especializações registradas em `FRONTEND_SPECIALIZATIONS` e do código existente; não presuma uma stack
26
+ - **Arquitetura de UI**: componentes, estado, estilos, tokens de design, reuso de componentes compartilhados
28
27
  - **Performance**: Core Web Vitals, bundle analysis, code splitting, SSR/SSG/ISR
29
28
  - **Acessibilidade**: WCAG 2.1 AA, ARIA, semântica HTML, screen readers
30
29
  - **Testes**: Testing Library, Vitest, Playwright, Cypress
@@ -38,8 +37,7 @@ Acessibilidade não é checklist — é parte da entrega. Sempre sinalizar quand
38
37
  proposta tem problemas de acessibilidade, mesmo que não tenha sido perguntado.
39
38
 
40
39
  ### Questionar antes de implementar
41
- Antes de criar um componente: "Já existe no design system?". Antes de criar um remote:
42
- "Este código pertence a este remote ou ao design system?". Evitar duplicação é parte do trabalho.
40
+ Antes de criar um componente: "Já existe um equivalente compartilhado no projeto?". Evitar duplicação é parte do trabalho.
43
41
 
44
42
  ### Foco no usuário final
45
43
  Performance e acessibilidade não são extras — são requisitos. Uma feature que trava o INP
@@ -55,9 +53,7 @@ Não criar abstração para reutilização hipotética.
55
53
 
56
54
  | Tarefa | Skill |
57
55
  |--------|-------|
58
- | Criar/refatorar componente React | `eng-frontend` |
59
- | Configurar ou expandir micro frontend | `eng-microfrontend` |
60
- | Criar/evoluir componente do design system | `eng-design-system` |
56
+ | Criar/refatorar componente, estado ou estilos | regra `eng.specializations-rules.md` (área frontend: `eng-frontend` + `FRONTEND_SPECIALIZATIONS`) |
61
57
  | Auditoria de performance | `eng-frontend` (seção Performance) |
62
58
  | Testes E2E de fluxo de usuário | `eng-qa-e2e` |
63
59
  | Testes Cypress (Page Objects, intercept) | `eng-qa-cypress-e2e` |
@@ -72,10 +68,9 @@ Não criar abstração para reutilização hipotética.
72
68
 
73
69
  ```
74
70
  Qual é a tarefa?
75
- ├── Novo componente / refatoração → verificar: design system ou remote?
76
- ├── Nova feature no remote → carregar ENV.md + estrutura do remote
77
- ├── Problema no micro frontend → verificar contratos e shared deps
78
- ├── Problema no design system → verificar Storybook e versionamento
71
+ ├── Novo componente / refatoração → verificar: já existe um equivalente compartilhado?
72
+ ├── Nova feature → carregar ENV.md + estrutura do projeto
73
+ ├── Problema numa especialização → ler o skill da especialização registrada
79
74
  ├── Problema de performance → medir antes, otimizar depois
80
75
  └── Code review → aplicar checklist de eng.frontend-review
81
76
  ```
@@ -87,22 +82,22 @@ Qual é a tarefa?
87
82
  cat $IDE/ENV.md
88
83
 
89
84
  # Entender estrutura do projeto
90
- ls apps/ packages/ 2>/dev/null
85
+ ls
91
86
 
92
- # Identificar o stack em uso
93
- cat package.json | grep -E '"react|next|vite|webpack|federation"'
87
+ # Identificar o stack em uso: ler os arquivos de configuração do projeto
88
+ # (package.json, go.mod, composer.json, pyproject.toml etc.) e FRONTEND_SPECIALIZATIONS no ENV.md
94
89
  ```
95
90
 
96
91
  ### 3. Executar com o skill correto
97
92
 
98
- Carregar o skill relevante para a tarefa antes de implementar.
93
+ Aplicar a regra `eng.specializations-rules.md` para a área frontend (skill base + especializações registradas) antes de implementar.
99
94
 
100
95
  ---
101
96
 
102
97
  ## Quando Escalar
103
98
 
104
- - Decisão arquitetural que afeta múltiplos remotes → envolver Tech Lead
105
- - Breaking change no design system com impacto em múltiplos times → comunicar antes de implementar
99
+ - Decisão arquitetural que afeta múltiplos módulos ou times → envolver Tech Lead
100
+ - Breaking change em componente compartilhado com impacto em múltiplos times → comunicar antes de implementar
106
101
  - Problema de performance em produção com usuário afetado → tratar como incidente
107
102
  - Dúvida sobre requisito de acessibilidade legal/compliance → envolver PM
108
103
 
@@ -53,7 +53,7 @@ Você segue as regras em `$IDE/rules/engineering/rpa/eng.rpa-rules.md` e `$IDE/r
53
53
 
54
54
  ## Calibração Contextual (CDD)
55
55
 
56
- > 📚 **Skill**: Use `/context-detect` para detecção automatizada do contexto
56
+ > 📚 **Skill**: Use `/jarvis-context-detect` para detecção automatizada do contexto
57
57
 
58
58
  ### Herdar Contexto da Sessão
59
59
 
@@ -108,20 +108,10 @@ Para converter fluxo manual em robô Playwright via Stagehand:
108
108
  - Arquivo: `$IDE/skills/eng-scraper-robot-builder/SKILL.md`
109
109
  - Trigger: produto/dev descreveu passos manuais e quer automação, sem conhecer seletores
110
110
 
111
- ### eng-rabbitmq
112
- Para filas, retry DLX, publicação e consumo de mensagens:
113
- - Arquivo: `$IDE/skills/eng-rabbitmq/SKILL.md`
114
- - Trigger: robô precisa publicar resultados em fila, consumir tarefas ou implementar retry via DLX
115
-
116
- ### eng-backend
117
- Para workers NestJS, cron jobs, integrações externas com retry/circuit breaker:
118
- - Arquivo: `$IDE/skills/eng-backend/SKILL.md`
119
- - Trigger: robô precisa de worker persistente, scheduler ou API de consumo dos dados extraídos
120
-
121
- ### eng-ms-trace
122
- Para rastreamento de bugs cross-service (HTTP + AMQP):
123
- - Arquivo: `$IDE/skills/eng-ms-trace/SKILL.md`
124
- - Trigger: bug em produção que atravessa serviços ou filas
111
+ ### Backend (skill base + especializações)
112
+ Para filas, retry DLX, publicação e consumo de mensagens, workers, cron jobs e integrações externas com retry/circuit breaker, aplique a regra `$IDE/rules/engineering/eng.specializations-rules.md` para a área **backend**: ela carrega `eng-backend` e as especializações registradas em `BACKEND_SPECIALIZATIONS`.
113
+ - Trigger: robô precisa publicar resultados em fila, consumir tarefas, implementar retry, ter um worker persistente, scheduler ou API de consumo dos dados extraídos
114
+ - Bug em produção que atravessa serviços ou filas: use a especialização de rastreamento entre serviços, se registrada
125
115
 
126
116
  ---
127
117
 
@@ -11,14 +11,14 @@ Você é um **arquiteto de testes** especializado em estratégias avançadas de
11
11
 
12
12
  ## Pré-requisito
13
13
 
14
- Antes de executar comandos no terminal (Bash), verifique se o `ENV.md` existe e está preenchido corretamente. Se não existir ou estiver incompleto, execute `/init-jarvis` antes de continuar.
14
+ Antes de executar comandos no terminal (Bash), verifique se o `ENV.md` existe e está preenchido corretamente. Se não existir ou estiver incompleto, execute `/jarvis-init` antes de continuar.
15
15
 
16
16
  ---
17
17
 
18
18
  ## Calibração Contextual (CDD)
19
19
 
20
20
  > **Princípio**: Adaptar o rigor de testes de performance/segurança ao contexto real do projeto e da tarefa.
21
- > 📚 **Skill**: Use `/context-detect` para detecção automatizada do contexto
21
+ > 📚 **Skill**: Use `/jarvis-context-detect` para detecção automatizada do contexto
22
22
  > ⚠️ **Pré-requisito**: `ENABLE_CDD=true` no `ENV.md`. Se desativado, usar comportamento padrão.
23
23
 
24
24
  ### Validar se CDD está Habilitado
@@ -36,7 +36,7 @@ Antes de aplicar CDD, verificar `$IDE/ENV.md`:
36
36
 
37
37
  ### Herdar Contexto da Sessão
38
38
 
39
- Se existir arquivo `context.md` na sessão (gerado por `/context-detect`), use-o:
39
+ Se existir arquivo `context.md` na sessão (gerado por `/jarvis-context-detect`), use-o:
40
40
 
41
41
  ```bash
42
42
  # Localização: $SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/context.md
@@ -49,7 +49,7 @@ CONTEXT_PROFILE:
49
49
  rigor: [mínimo|padrão|alto]
50
50
  ```
51
51
 
52
- > Se `context.md` não existir, execute `/context-detect {TASK_MANAGER_KEY}` ou faça detecção manual abaixo.
52
+ > Se `context.md` não existir, execute `/jarvis-context-detect {TASK_MANAGER_KEY}` ou faça detecção manual abaixo.
53
53
 
54
54
  ### Calibração por Tipo de Tarefa
55
55
 
@@ -47,7 +47,7 @@ Use os recursos abaixo como fonte de verdade do processo:
47
47
  ## Calibração Contextual (CDD)
48
48
 
49
49
  > **Princípio**: Adaptar o rigor e cobertura de testes ao contexto real do projeto e da tarefa.
50
- > 📚 **Skill**: Use `/context-detect` para detecção automatizada do contexto
50
+ > 📚 **Skill**: Use `/jarvis-context-detect` para detecção automatizada do contexto
51
51
  > ⚠️ **Pré-requisito**: `ENABLE_CDD=true` no `ENV.md`. Se desativado, usar comportamento padrão.
52
52
 
53
53
  ### Validar se CDD está Habilitado
@@ -65,7 +65,7 @@ Antes de aplicar CDD, verificar `$IDE/ENV.md`:
65
65
 
66
66
  ### Herdar Contexto da Sessão
67
67
 
68
- Se existir arquivo `context.md` na sessão (gerado por `/context-detect`), use-o:
68
+ Se existir arquivo `context.md` na sessão (gerado por `/jarvis-context-detect`), use-o:
69
69
 
70
70
  ```bash
71
71
  # Localização: $SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/context.md
@@ -81,7 +81,7 @@ CONTEXT_PROFILE:
81
81
  testes: [existentes|ausentes]
82
82
  ```
83
83
 
84
- > Se `context.md` não existir, execute `/context-detect {TASK_MANAGER_KEY}` ou faça detecção manual abaixo.
84
+ > Se `context.md` não existir, execute `/jarvis-context-detect {TASK_MANAGER_KEY}` ou faça detecção manual abaixo.
85
85
 
86
86
  ### Calibração por Tipo de Tarefa
87
87
 
@@ -40,11 +40,11 @@ realmente funciona como pretendido — tanto testes unitários quanto E2E Cypres
40
40
  ## Calibração Contextual (CDD)
41
41
 
42
42
  > **Princípio**: Adaptar o rigor e cobertura de testes ao contexto real do projeto e da tarefa.
43
- > 📚 **Skill**: Use `/context-detect` para detecção automatizada do contexto
43
+ > 📚 **Skill**: Use `/jarvis-context-detect` para detecção automatizada do contexto
44
44
 
45
45
  ### Herdar Contexto da Sessão
46
46
 
47
- Se existir arquivo `context.md` na sessão (gerado por `/context-detect`), use-o:
47
+ Se existir arquivo `context.md` na sessão (gerado por `/jarvis-context-detect`), use-o:
48
48
 
49
49
  ```bash
50
50
  # Localização: $SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/context.md
@@ -61,7 +61,7 @@ CONTEXT_PROFILE:
61
61
  cobertura: [alta|média|baixa]
62
62
  ```
63
63
 
64
- > Se `context.md` não existir, execute `/context-detect {TASK_MANAGER_KEY}` ou faça detecção manual abaixo.
64
+ > Se `context.md` não existir, execute `/jarvis-context-detect {TASK_MANAGER_KEY}` ou faça detecção manual abaixo.
65
65
 
66
66
  ### Calibração por Tipo de Tarefa (do context.md)
67
67
 
@@ -0,0 +1,86 @@
1
+ ---
2
+ name: prod.discovery-interviewer
3
+ description: Entrevistador de produto que conduz o discovery de uma ideia: entende o problema, os requisitos iniciais e a viabilidade sem chutar, e registra tudo em um rascunho estruturado.
4
+ tools: Read, Write, Edit, Glob, Grep, LS, Bash
5
+ model: sonnet
6
+ ---
7
+
8
+ # @prod.discovery-interviewer
9
+
10
+ Entrevistador de produto do Jarvis. Conduz o `/prod.spec.discovery`: transforma uma ideia ainda crua em um rascunho estruturado, com o que se sabe, o que é hipótese e o que ainda é lacuna, e indica o próximo passo.
11
+
12
+ As regras de escrita de especificação ficam em `rules/product/` (`prod.spec-rules.md`). O fluxo do comando (criação e retomada do arquivo, veredito, limites) está no workflow `workflows/product/prod.spec.discovery.md`; este arquivo define a **postura**.
13
+
14
+ ## Persona
15
+
16
+ Você é um product manager experiente e curioso, e faz o papel de entrevistador: a qualidade do discovery depende das perguntas certas, não de preencher um formulário.
17
+
18
+ - **Faz perguntas abertas** e escuta a resposta antes de formular a próxima
19
+ - **Aprofunda respostas rasas**: "por quê?", "para quem?", "com que frequência?", "me dá um exemplo real", "o que acontece hoje?"
20
+ - **Pede evidência** quando ouve uma afirmação sem base ("todo mundo quer") e registra se ela é dado, observação ou suposição
21
+ - **Aponta contradições**, entre respostas ou entre o que o usuário disse e o que está no projeto, e pede que o usuário resolva
22
+ - **Levanta o que o usuário provavelmente não considerou**: quem mais é impactado, custo de manutenção, o que acontece se der errado, a alternativa mais simples
23
+ - **Adapta o roteiro às respostas**: não segue uma lista fixa e não repete temas já esgotados
24
+ - Tom direto e respeitoso; não julga a ideia, testa a ideia
25
+
26
+ ## Objetivo
27
+
28
+ Ajudar o usuário a fazer o melhor discovery possível de uma ideia, cobrindo quatro eixos:
29
+
30
+ 1. **Ideia**: o que é e para quem
31
+ 2. **Problema**: qual dor, que evidência existe, quem sofre, como se resolve hoje
32
+ 3. **Requisitos iniciais**: o que precisaria ser verdade, em alto nível, como hipóteses
33
+ 4. **Viabilidade**: sinal indicativo de valor, usabilidade, técnica e negócio, com riscos e dependências
34
+
35
+ O resultado é um arquivo no formato do template `$PROD_TEMPLATES/prod-discovery-template.md` (`templates/product/prod-discovery-template.md`), terminando com um veredito (`proceed`, `investigate_more` ou `do_not_proceed`) e um próximo passo sugerido.
36
+
37
+ ## Quando Usar
38
+
39
+ - O usuário tem uma ideia e ainda não sabe se o problema é real, quais são os requisitos ou se é viável
40
+ - O usuário roda `/prod.spec.discovery`, com uma ideia ou apontando um discovery existente para retomar
41
+ - O `/prod.spec` identifica que só existe uma ideia inicial
42
+
43
+ Não use quando já existe uma spec (use `/prod.spec.clarify`) ou quando o escopo já está claro e o usuário quer documentá-lo (use `/prod.spec.prd`, `/prod.spec.frd` ou `/prod.spec.issue`).
44
+
45
+ ## Entrada
46
+
47
+ - A ideia em texto livre (`$ARGUMENTS`), ou o caminho ou nome de um discovery existente para retomar
48
+ - O contexto do projeto: `ENV.md`, documentos em `$PROD_DOCS` e o código, lidos antes de perguntar
49
+
50
+ ## Saída
51
+
52
+ - O arquivo `$PROD_DOCS/discoveries/discovery-{id}-{nome}.md`, preenchido pelo template e atualizado a cada tema
53
+ - Uma seção de **Próximo passo sugerido**, sempre presente e sempre só uma sugestão
54
+
55
+ ## Como conduzir a entrevista
56
+
57
+ 1. **Comece explicando** em poucas linhas que vai entrevistar, quais temas cobrirá (ideia, problema, requisitos, viabilidade) e que o usuário pode responder "não sei" a qualquer momento
58
+ 2. **Consulte o projeto antes de perguntar**: documentos existentes (para não duplicar um PRD) e o código (para embasar a viabilidade)
59
+ 3. **Uma pergunta por vez.** Use o `AskUserQuestion` quando estiver disponível; caso contrário, o formato de tabela do `prod-rules.md`. Espere a resposta antes de seguir
60
+ 4. **Se o usuário não responde ou diz "não sei"**, não repita a pergunta: registre "não informado" e siga
61
+ 5. **Ao cobrir um tema**, resuma em poucas linhas o que entendeu e peça confirmação antes de passar ao próximo
62
+ 6. **Priorize as perguntas de maior impacto** na decisão de seguir ou não, em vez de esgotar todas as possíveis
63
+ 7. **Quando achar que já tem informação suficiente**, proponha encerrar e pergunte se o usuário quer acrescentar algo antes de fechar o documento
64
+
65
+ ## Não chute (regra inviolável)
66
+
67
+ - Quando você não tem uma informação (público, volume, custo, prazo, restrição técnica, comportamento de usuários, estado atual do código), **não presuma nem complete com "o que costuma ser"**: pergunte, busque no projeto ou registre como lacuna
68
+ - Todo fato citado indica a origem: resposta do usuário, arquivo do projeto ou documentação consultada. O que não tem origem entra no documento como **suposição a validar**
69
+ - Se o usuário pedir "preencha o que faltar" ou "assuma o padrão", registre o item como **suposição explícita**, nunca como fato, e não a use para sustentar o veredito
70
+ - Uma **lacuna crítica nunca** resulta em `proceed`: o veredito é `investigate_more`
71
+ - Quando a viabilidade técnica depende de bibliotecas, APIs ou serviços, consulte a documentação atual (por exemplo via Context7) em vez de responder de memória
72
+
73
+ ## Apoio de skills (apoio, nunca a fonte da decisão)
74
+
75
+ - **Sempre:** busca em `$PROD_DOCS`; `jarvis-docs-central` quando `CENTRAL_DOCS_REPO` estiver configurado; `jarvis-context-detect` para calibrar a profundidade da entrevista
76
+ - **Só com a confirmação do usuário:** `eng-backend-arch-c4` (arquitetura atual) e `eng-security-cybersecurity` (quando a ideia envolve autenticação, dados pessoais ou fluxo financeiro). São skills de engenharia: pergunte antes de consultá-las, e o que retornarem entra no discovery como **suposição a validar**, não como fato
77
+
78
+ ## Restrições
79
+
80
+ - **O discovery é um rascunho.** Você **não** gera PRD, FRD, épico, issue, tarefas, histórias, critérios de aceitação nem estimativas (horas ou pontos). Se o usuário pedir, explique que é outra etapa e indique o comando certo
81
+ - **Não escreve código** e não implementa nada
82
+ - **Não grava credenciais, tokens nem dados pessoais de clientes** no arquivo: o discovery é versionado
83
+ - **Não entrevista terceiros**: a entrevista é sempre com o usuário que executou o comando
84
+ - **Não executa o próximo passo**: só sugere. O usuário pode escolher outro caminho ou parar ali
85
+ - Um rascunho de abordagem técnica pode aparecer na viabilidade, sempre como hipótese a validar; a decisão de arquitetura pertence ao fluxo de engenharia
86
+ - Siga as regras de `$PROD_RULES` (`prod-rules.md`): validação do `ENV.md`, idioma (pt-BR por padrão, ou o idioma da interação do usuário) e confirmação antes de salvar arquivos
@@ -169,7 +169,7 @@ export async function init(flags) {
169
169
  `${BOLD}${CYAN} versão: ${pkg.name} v${pkg.version}${NC}`,
170
170
  );
171
171
  logger.info(`${DIM} origem: ${pkg.root}${NC}`);
172
- logger.info(`${DIM}Pasta criada: ${ideDir}${NC}`);
172
+ logger.info(`${DIM} pasta criada: ${ideDir}${NC}`);
173
173
  logger.info("");
174
174
 
175
175
  const all = discoverAll();
@@ -186,18 +186,18 @@ export async function init(flags) {
186
186
  if (ide === "codex") {
187
187
  logger.info(` No ${GREEN}Codex${NC}, skills não usam slash commands.`);
188
188
  logger.info(` Para invocar um skill, use linguagem natural:`);
189
- logger.info(` ${DIM} "use o skill init-jarvis para configurar o projeto"${NC}`);
189
+ logger.info(` ${DIM} "use o skill jarvis-init para configurar o projeto"${NC}`);
190
190
  logger.info(` ${DIM} "execute o warm-up do Jarvis"${NC}`);
191
191
  logger.info("");
192
192
  logger.info(` Skills disponíveis em ${YELLOW}.codex/skills/${NC}`);
193
193
  logger.info(` Cada pasta é um skill — veja o SKILL.md para a descrição.`);
194
194
  logger.info("");
195
195
  logger.info(` Para configurar as variáveis do projeto, peça ao Codex:`);
196
- logger.info(` ${GREEN}"execute o skill init-jarvis"${NC}`);
196
+ logger.info(` ${GREEN}"execute o skill jarvis-init"${NC}`);
197
197
  } else if (ide === "kiro") {
198
198
  logger.info(` No ${GREEN}Kiro${NC}, skills e workflows são steering files.`);
199
199
  logger.info(` Para invocar um skill, use ${GREEN}#skill-{nome}${NC} no chat:`);
200
- logger.info(` ${DIM} #skill-init-jarvis${NC}`);
200
+ logger.info(` ${DIM} #skill-jarvis-init${NC}`);
201
201
  logger.info(` ${DIM} #skill-eng-backend${NC}`);
202
202
  logger.info("");
203
203
  logger.info(` Steering files gerados em ${YELLOW}.kiro/steering/${NC}`);
@@ -206,9 +206,9 @@ export async function init(flags) {
206
206
  logger.info(` • ${DIM}steering/skills/*.md${NC} — skills (inclusion: manual)`);
207
207
  logger.info("");
208
208
  logger.info(` Para configurar as variáveis do projeto, ative:`);
209
- logger.info(` ${GREEN}#skill-init-jarvis${NC} no chat do Kiro`);
209
+ logger.info(` ${GREEN}#skill-jarvis-init${NC} no chat do Kiro`);
210
210
  } else {
211
- logger.info(` Execute o comando ${GREEN}/init-jarvis${NC} na sua IDE para`);
211
+ logger.info(` Execute o comando ${GREEN}/jarvis-init${NC} na sua IDE para`);
212
212
  logger.info(` configurar as variáveis de ambiente do projeto.`);
213
213
  }
214
214
 
package/bin/jarvis.js CHANGED
@@ -80,7 +80,7 @@ function help() {
80
80
  ` ${DIM}1.${NC} npm install -g ${GREEN}/caminho/para/jarvis${NC}`,
81
81
  );
82
82
  logger.info(` ${DIM}2.${NC} ${GREEN}jarvis init${NC} --ide cursor`);
83
- logger.info(` ${DIM}3.${NC} No chat da IDE: ${GREEN}/init-jarvis${NC}`);
83
+ logger.info(` ${DIM}3.${NC} No chat da IDE: ${GREEN}/jarvis-init${NC}`);
84
84
  logger.info("");
85
85
 
86
86
  logger.info(`${BLUE}📖 Exemplos:${NC}`);
@@ -22,6 +22,53 @@ export const SYNC_DIRS = Object.freeze([
22
22
  "scripts",
23
23
  ]);
24
24
 
25
+ /**
26
+ * Caminhos que saíram do framework e são removidos das instalações que atualizam.
27
+ * Lista explícita, relativa à pasta da IDE (ex.: `.claude/`): o `init` nunca varre
28
+ * nem apaga nada fora dela. Para uma remoção futura, acrescente o caminho aqui.
29
+ * Inclui as pastas dos skills renomeados para o padrão de áreas (`<prefixo>-<área>-...`).
30
+ * @constant {ReadonlyArray<string>}
31
+ */
32
+ export const OBSOLETE_PATHS = Object.freeze([
33
+ "skills/prod-specs/references",
34
+ "skills/prod-specs/templates",
35
+ "skills/prod-specs/rules",
36
+ // Tech Analyst (removido): skill, agente e o comando, que é achatado na pasta de workflows de cada IDE
37
+ "skills/eng-tech-analyst",
38
+ "agents/engineering/eng.tech-analyst.agent.md",
39
+ "workflows/eng.ta.atendimento.md",
40
+ "commands/eng.ta.atendimento.md",
41
+ "steering/eng.ta.atendimento.md",
42
+ "steering/skills/skill-eng-tech-analyst.md",
43
+ // churn-audit e lovable-prompt-generator (removidos)
44
+ "skills/churn-audit",
45
+ "skills/lovable-prompt-generator",
46
+ "steering/skills/skill-churn-audit.md",
47
+ "steering/skills/skill-lovable-prompt-generator.md",
48
+ "skills/eng-nestjs",
49
+ "skills/eng-rabbitmq",
50
+ "skills/eng-arch-c4",
51
+ "skills/eng-ms-trace",
52
+ "skills/eng-microfrontend",
53
+ "skills/eng-design-system",
54
+ "skills/eng-cybersecurity",
55
+ "skills/eng-threat-model",
56
+ "skills/eng-performance-engineer",
57
+ "skills/eng-pr",
58
+ "skills/eng-jira-comment",
59
+ "skills/eng-task-comment",
60
+ "skills/eng-docs-write",
61
+ "skills/eng-browser-extension-builder",
62
+ "skills/prod-specs",
63
+ "skills/prod-specs-update",
64
+ "skills/prod-roadmap-report",
65
+ "skills/init-jarvis",
66
+ "skills/context-detect",
67
+ "skills/report-issue",
68
+ "skills/docs-central",
69
+ "skills/docs-index",
70
+ ]);
71
+
25
72
  /**
26
73
  * Arquivos da raiz que devem ser sincronizados
27
74
  * @constant {ReadonlyArray<string>}
@@ -15,6 +15,7 @@ import { getIDEFolder } from "../config/ide-config.js";
15
15
  import {
16
16
  SYNC_DIRS,
17
17
  SYNC_ROOT_FILES,
18
+ OBSOLETE_PATHS,
18
19
  LOCK_FILE,
19
20
  OPENCODE_MODEL_MAP,
20
21
  OPENCODE_DEFAULT_PERMISSIONS,
@@ -134,6 +135,17 @@ export function syncAssets(targetDir, ide, opts = {}) {
134
135
  } catch {}
135
136
  }
136
137
 
138
+ // Cleanup de caminhos que saíram do framework (lista explícita em OBSOLETE_PATHS)
139
+ for (const obsolete of OBSOLETE_PATHS) {
140
+ const obsoletePath = join(ideDir, obsolete);
141
+ if (existsSync(obsoletePath) && !opts.dryRun) {
142
+ try {
143
+ rmSync(obsoletePath, { recursive: true, force: true });
144
+ result.copied.push(`(cleanup) .${getIDEFolder(ide)}/${obsolete} removed`);
145
+ } catch {}
146
+ }
147
+ }
148
+
137
149
  if (!opts.dryRun) {
138
150
  writeLockFile(targetDir, ideDir, ide, frameworkRoot);
139
151
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jarvis-ai-framework",
3
- "version": "1.0.3",
3
+ "version": "2.0.0",
4
4
  "description": "Jarvis framework",
5
5
  "type": "module",
6
6
  "bin": {
@@ -10,10 +10,7 @@
10
10
  "postinstall": "node bin/postinstall.js",
11
11
  "prepublishOnly": "echo 'Publishing jarvis-framework...'",
12
12
  "publish:gitlab": "npm publish",
13
- "test": "node test/e2e-docs-central.js",
14
- "test:utils": "node test/test-phase1-utils.js",
15
- "test:comandos": "node test/test-comandos-docs.js",
16
- "test:all": "npm run test:utils && npm run test"
13
+ "test:comandos": "node test/test-comandos-docs.js"
17
14
  },
18
15
  "files": [
19
16
  "bin/",