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
@@ -0,0 +1,41 @@
1
+ # 1. Fundamentos de Programação
2
+
3
+ **Nível:** FUNDAMENTAL
4
+ **Independência:** ✅ Válido em qualquer linguagem
5
+
6
+ ## Objetivo
7
+ Dominar os blocos construtivos de todo software, que são os mesmos em qualquer linguagem: dados, controle de fluxo, funções, recursão, tratamento de erros e paradigmas.
8
+
9
+ ## Conhecimentos Principais
10
+
11
+ ### Essenciais
12
+ - Variáveis, tipos de dados e escopo (global, local, léxico)
13
+ - Controle de fluxo: condicionais (if/else, switch) e laços (while, for)
14
+ - Funções: definição, parâmetros, retorno e valores padrão
15
+ - Recursão: o conceito, o caso base e o estouro de pilha
16
+ - Tratamento básico de exceções (try/catch/finally)
17
+ - Entrada e saída básicas
18
+ - Paradigmas: imperativo, declarativo, orientado a objetos e funcional
19
+
20
+ ### Importantes
21
+ - Closures: o que são e como capturam o escopo
22
+ - Funções de primeira classe: funções como valores
23
+ - Funções de ordem superior (map, filter, reduce, em conceito)
24
+ - Callbacks, promessas e async/await como padrão, não como sintaxe
25
+ - Sistemas de tipos: tipagem estática versus dinâmica
26
+
27
+ ### Complementares
28
+ - Geradores e iteradores (menos comuns)
29
+ - Funções puras e imutabilidade
30
+
31
+ ## O que NÃO Inclui
32
+ - Sintaxe específica de uma linguagem
33
+ - APIs e bibliotecas específicas
34
+ - Recursos exclusivos de uma linguagem (por exemplo, modelos próprios de concorrência ou decoradores)
35
+
36
+ ## Por quê é Universal
37
+ Todo software é construído sobre esses conceitos. Mudar de linguagem muda a sintaxe, não os fundamentos.
38
+
39
+ ## Referências
40
+ - IEEE SWEBOK - Software Engineering Body of Knowledge
41
+ - ACM Computing Curricula 2023
@@ -0,0 +1,61 @@
1
+ # 10. Segurança de Aplicações
2
+
3
+ **Nível:** FUNDAMENTAL
4
+ **Independência:** ✅ Válido em qualquer linguagem
5
+
6
+ ## Objetivo
7
+ Construir aplicações que resistam às vulnerabilidades mais comuns e protejam os dados, com segurança por padrão.
8
+
9
+ ## Conhecimentos Principais
10
+
11
+ ### OWASP Top 10 (2025)
12
+ - 1. Quebra de controle de acesso (Broken Access Control)
13
+ - 2. Configuração incorreta de segurança (Security Misconfiguration)
14
+ - 3. Falhas na cadeia de suprimentos de software (Software Supply Chain Failures)
15
+ - 4. Falhas criptográficas (Cryptographic Failures)
16
+ - 5. Design inseguro (Insecure Design)
17
+ - 6. Componentes vulneráveis e desatualizados
18
+ - 7. Falhas de identificação e autenticação
19
+ - 8. Falhas de integridade de software e de dados
20
+ - 9. Falhas de registro e monitoramento de segurança
21
+ - 10. Server-Side Request Forgery (SSRF)
22
+
23
+ ### Autenticação e autorização
24
+ - Autenticação básica versus avançada
25
+ - OAuth 2.0 (em conceito) e JWT
26
+ - Autenticação multifator (MFA)
27
+ - Gerenciamento seguro de sessão
28
+ - Autorização (RBAC e ABAC) e prevenção de acesso indevido a recursos de outras pessoas
29
+
30
+ ### Criptografia
31
+ - Hash com sal e algoritmos modernos (bcrypt, scrypt, argon2); nunca senha em texto plano
32
+ - Criptografia simétrica versus assimétrica
33
+ - Assinaturas digitais
34
+ - Certificados e PKI (em conceito)
35
+ - HTTPS e TLS
36
+
37
+ ### Práticas seguras
38
+ - Validação e sanitização de toda entrada externa
39
+ - Proteção contra CSRF e configuração segura de CORS
40
+ - Prevenção de injeção de SQL e de XSS
41
+ - Padrões seguros por padrão (secure defaults)
42
+ - Princípio do menor privilégio
43
+
44
+ ### Dados sensíveis
45
+ - Dados pessoais (PII)
46
+ - LGPD, GDPR e CCPA (em conceito)
47
+ - Criptografia em repouso e em trânsito
48
+ - Exclusão segura
49
+ - Gerenciamento de segredos: nunca no código nem no repositório
50
+
51
+ ## O que NÃO Inclui
52
+ - Ferramentas específicas de segurança
53
+ - Configuração de firewall de aplicação web
54
+
55
+ ## Por quê é Universal
56
+ As vulnerabilidades e as defesas valem independentemente da linguagem ou do framework.
57
+
58
+ ## Referências
59
+ - OWASP Top 10
60
+ - IEEE SWEBOK
61
+ - ACM Computing Curricula 2023
@@ -0,0 +1,49 @@
1
+ # 11. Performance e Otimização
2
+
3
+ **Nível:** IMPORTANTE
4
+ **Independência:** ✅ Válido em qualquer linguagem
5
+
6
+ ## Objetivo
7
+ Encontrar gargalos com medição e otimizar onde importa, sem sacrificar a clareza.
8
+
9
+ ## Conhecimentos Principais
10
+
11
+ ### Identificar gargalos
12
+ - Profiling de CPU, memória e E/S
13
+ - Benchmarking
14
+ - Testes de carga
15
+ - Latência versus vazão (throughput)
16
+ - Lei de Amdahl
17
+
18
+ ### Otimizações comuns
19
+ - Caching em memória e distribuído
20
+ - Otimização de consultas ao banco
21
+ - Pool de conexões
22
+ - Processamento em lote
23
+ - Carregamento sob demanda (lazy loading)
24
+ - Paginação
25
+
26
+ ### Caching
27
+ - Cache em memória
28
+ - Caches distribuídos
29
+ - Estratégias de invalidação
30
+ - Coerência de cache
31
+ - TTL e expiração
32
+
33
+ ### Escalabilidade
34
+ - Escala horizontal versus vertical
35
+ - Sharding de banco de dados
36
+ - Réplicas de leitura
37
+ - Processamento assíncrono
38
+
39
+ ## O que NÃO Inclui
40
+ - Otimizações específicas de uma linguagem
41
+ - Ajuste fino de um servidor ou produto específico
42
+
43
+ ## Por quê é Universal
44
+ Os princípios de desempenho (medir primeiro, otimizar o gargalo) valem em qualquer linguagem.
45
+
46
+ ## Referências
47
+ - IEEE SWEBOK - Software Engineering Body of Knowledge
48
+ - ACM Computing Curricula 2023
49
+ - Donald Knuth - otimização prematura
@@ -0,0 +1,42 @@
1
+ # 12. Tratamento de Erros e Logging
2
+
3
+ **Nível:** IMPORTANTE
4
+ **Independência:** ✅ Válido em qualquer linguagem
5
+
6
+ ## Objetivo
7
+ Tratar falhas de forma previsível e registrar o suficiente para diagnosticar problemas sem expor dados sensíveis.
8
+
9
+ ## Conhecimentos Principais
10
+
11
+ ### Tratamento de erros
12
+ - Exceções versus códigos de erro
13
+ - Falhar rápido (fail fast) versus degradação graciosa
14
+ - Propagação de erros entre as camadas
15
+ - Try/catch/finally
16
+ - Erros personalizados com contexto
17
+
18
+ ### Logging
19
+ - Níveis de log (DEBUG, INFO, WARN, ERROR e FATAL)
20
+ - Logging estruturado
21
+ - Agregação de logs (em conceito)
22
+ - Quando registrar e o que registrar, sem dados sensíveis
23
+ - Retenção de logs
24
+
25
+ ### Monitoramento
26
+ - Alertas
27
+ - Métricas (latência, taxa de erro e vazão)
28
+ - Verificações de saúde
29
+ - Observabilidade: logs, métricas e traces
30
+ - Rastreamento entre serviços com identificador de correlação
31
+
32
+ ## O que NÃO Inclui
33
+ - Ferramentas específicas de logging e monitoramento
34
+ - Configuração de uma biblioteca de logs
35
+
36
+ ## Por quê é Universal
37
+ Estratégias de erro e de observabilidade são independentes de tecnologia.
38
+
39
+ ## Referências
40
+ - IEEE SWEBOK - Software Engineering Body of Knowledge
41
+ - ACM Computing Curricula 2023
42
+ - Martin Fowler - Circuit Breaker e padrões de resiliência
@@ -0,0 +1,51 @@
1
+ # 13. Qualidade de Código
2
+
3
+ **Nível:** FUNDAMENTAL
4
+ **Independência:** ✅ Válido em qualquer linguagem
5
+
6
+ ## Objetivo
7
+ Escrever código legível e fácil de mudar, e manter o histórico e a documentação organizados.
8
+
9
+ ## Conhecimentos Principais
10
+
11
+ ### Clean Code
12
+ - Nomes significativos
13
+ - Funções pequenas e bem definidas
14
+ - DRY
15
+ - Comentários: quando usar e quando não
16
+ - Formatação e estilo consistentes
17
+ - Tratamento de erros
18
+ - Limites (boundaries) claros
19
+
20
+ ### Refatoração
21
+ - Refatorar: o conceito e como fazê-lo com segurança
22
+ - Code smells (indicadores de problemas)
23
+ - Extract Method e Extract Class
24
+ - Substituir números mágicos
25
+ - Consolidar código duplicado
26
+ - Simplificar condicionais complexas
27
+
28
+ ### Code review
29
+ - Objetivos da revisão de código
30
+ - Como revisar e como receber feedback
31
+ - Automatização com linters e formatadores (em conceito)
32
+
33
+ ### Documentação
34
+ - Documentação técnica
35
+ - Documentação de API
36
+ - Comentários versus código autoexplicativo
37
+ - Registro de mudanças (change log)
38
+ - Architecture Decision Records (ADRs)
39
+
40
+ ## O que NÃO Inclui
41
+ - Linters e formatadores específicos
42
+ - Configurações de ferramentas de estilo
43
+
44
+ ## Por quê é Universal
45
+ Os padrões de qualidade de código independem da linguagem.
46
+
47
+ ## Referências
48
+ - IEEE SWEBOK - Software Engineering Body of Knowledge
49
+ - ACM Computing Curricula 2023
50
+ - Robert C. Martin - Clean Code
51
+ - Martin Fowler - Refactoring
@@ -0,0 +1,48 @@
1
+ # 2. Design e Arquitetura de Software
2
+
3
+ **Nível:** FUNDAMENTAL
4
+ **Independência:** ✅ Válido em qualquer linguagem
5
+
6
+ ## Objetivo
7
+ Projetar sistemas coesos e fáceis de mudar, aplicando princípios de design e padrões de arquitetura que independem de tecnologia.
8
+
9
+ ## Conhecimentos Principais
10
+
11
+ ### Princípios SOLID
12
+ - **S**ingle Responsibility: uma razão para mudar
13
+ - **O**pen/Closed: aberto para extensão, fechado para modificação
14
+ - **L**iskov Substitution: subtipos substituem seus tipos base
15
+ - **I**nterface Segregation: interfaces pequenas e específicas
16
+ - **D**ependency Inversion: depender de abstrações
17
+
18
+ ### Princípios complementares
19
+ - DRY (Don't Repeat Yourself)
20
+ - KISS (Keep It Simple)
21
+ - YAGNI (You Aren't Gonna Need It)
22
+ - Separação de responsabilidades (Separation of Concerns)
23
+
24
+ ### Conceitos de orientação a objetos
25
+ - Encapsulamento, abstração e polimorfismo
26
+ - Herança e seus riscos; composição como alternativa
27
+ - Coesão alta e acoplamento baixo
28
+
29
+ ### Padrões de arquitetura
30
+ - Em camadas (Layered, N-tier)
31
+ - Hexagonal (Ports and Adapters): o núcleo não conhece os detalhes externos
32
+ - Clean Architecture
33
+ - Domain-Driven Design (DDD): contextos delimitados e linguagem ubíqua
34
+ - Orientada a eventos (Event-Driven)
35
+ - **Vertical Slice**: organizar cada funcionalidade como uma fatia vertical completa. Vantagens: coesão alta, menor acoplamento entre funcionalidades e entregas mais independentes. Funciona bem com contextos delimitados do DDD
36
+
37
+ ## O que NÃO Inclui
38
+ - Padrões específicos de um framework
39
+ - Implementação de DDD em um framework específico
40
+ - Estrutura de diretórios de um framework
41
+
42
+ ## Por quê é Universal
43
+ Princípios de bom design são atemporais e valem com qualquer tecnologia.
44
+
45
+ ## Referências
46
+ - IEEE SWEBOK - Software Engineering Body of Knowledge
47
+ - ACM Computing Curricula 2023
48
+ - Martin Fowler - Patterns of Enterprise Application Architecture
@@ -0,0 +1,50 @@
1
+ # 3. Design Patterns
2
+
3
+ **Nível:** IMPORTANTE
4
+ **Independência:** ✅ Os 23 padrões GoF são independentes de linguagem
5
+
6
+ ## Objetivo
7
+ Reconhecer o problema que cada padrão resolve e quando aplicá-lo, em vez de apenas memorizar implementações.
8
+
9
+ ## Conhecimentos Principais
10
+
11
+ ### Criacionais
12
+ - Factory e Abstract Factory
13
+ - Builder
14
+ - Singleton (e seus riscos)
15
+ - Prototype
16
+
17
+ ### Estruturais
18
+ - Adapter
19
+ - Bridge
20
+ - Composite
21
+ - Decorator
22
+ - Facade
23
+ - Proxy
24
+
25
+ ### Comportamentais
26
+ - Chain of Responsibility
27
+ - Command
28
+ - Iterator
29
+ - Observer
30
+ - State
31
+ - Strategy
32
+ - Template Method
33
+ - Visitor
34
+ - Mediator
35
+
36
+ ### Como usar
37
+ - Entender o problema e o contexto antes de escolher o padrão
38
+ - Na prática, poucos padrões (cerca de cinco ou seis) resolvem a maior parte dos casos
39
+ - Preferir a solução mais simples; um padrão não é objetivo, é meio
40
+
41
+ ## O que NÃO Inclui
42
+ - Implementações em uma linguagem específica
43
+ - Variações próprias de uma biblioteca ou framework
44
+
45
+ ## Por quê é Universal
46
+ Os padrões descrevem soluções para problemas recorrentes de design e não dependem de sintaxe.
47
+
48
+ ## Referências
49
+ - Design Patterns - Gang of Four (1994)
50
+ - Martin Fowler - Refactoring
@@ -0,0 +1,43 @@
1
+ # 4. Algoritmos e Estruturas de Dados
2
+
3
+ **Nível:** FUNDAMENTAL
4
+ **Independência:** ✅ Válido em qualquer linguagem
5
+
6
+ ## Objetivo
7
+ Escolher a estrutura e o algoritmo certos e analisar o custo deles em tempo e espaço.
8
+
9
+ ## Conhecimentos Principais
10
+
11
+ ### Estruturas de dados básicas
12
+ - Arrays e listas
13
+ - Pilhas e filas
14
+ - Listas ligadas
15
+ - Árvores (binárias, de busca e balanceadas)
16
+ - Grafos
17
+ - Tabelas hash (dicionários)
18
+ - Heaps
19
+
20
+ ### Análise de complexidade
21
+ - Notação Big O (O, Ω, Θ)
22
+ - Análise de tempo e de espaço
23
+ - Melhor caso, pior caso e caso médio
24
+ - Identificação de gargalos
25
+
26
+ ### Algoritmos fundamentais
27
+ - Busca (linear e binária)
28
+ - Ordenação (quick, merge e heap sort, em conceito)
29
+ - Percursos em árvores e grafos (DFS e BFS)
30
+ - Recursão versus iteração
31
+ - Técnicas: divisão e conquista, algoritmos gulosos e programação dinâmica
32
+
33
+ ## O que NÃO Inclui
34
+ - Implementações específicas de uma linguagem
35
+ - Bibliotecas de coleções de uma linguagem
36
+
37
+ ## Por quê é Universal
38
+ Complexidade e estruturas de dados são os mesmos em qualquer linguagem.
39
+
40
+ ## Referências
41
+ - IEEE SWEBOK - Software Engineering Body of Knowledge
42
+ - ACM Computing Curricula 2023
43
+ - Introduction to Algorithms (CLRS)
@@ -0,0 +1,53 @@
1
+ # 5. Banco de Dados e Persistência
2
+
3
+ **Nível:** FUNDAMENTAL
4
+ **Independência:** ✅ Os conceitos valem para bancos relacionais e não relacionais
5
+
6
+ ## Objetivo
7
+ Modelar, consultar e evoluir dados com consistência e bom desempenho.
8
+
9
+ ## Conhecimentos Principais
10
+
11
+ ### Conceitos relacionais
12
+ - Modelo relacional: tabelas, colunas e linhas
13
+ - Chaves primárias e estrangeiras
14
+ - Índices
15
+ - Normalização (1FN, 2FN, 3FN) e desnormalização, e quando usar cada uma
16
+ - Junções (INNER, LEFT, RIGHT e FULL)
17
+
18
+ ### ACID e transações
19
+ - **A**tomicidade: tudo ou nada
20
+ - **C**onsistência: o estado é sempre válido
21
+ - **I**solamento: transações não interferem entre si
22
+ - **D**urabilidade: o que foi confirmado persiste
23
+ - Níveis de isolamento (Read Uncommitted, Read Committed, Repeatable Read, Serializable)
24
+ - Condições de corrida e deadlocks em transações
25
+
26
+ ### Consultas e desempenho
27
+ - Seleção, agregações e agrupamentos
28
+ - Subconsultas
29
+ - Planos de consulta (EXPLAIN)
30
+ - Tipos de índice (árvore B, hash) e quando criar índices
31
+
32
+ ### Conceitos não relacionais (quando relevante)
33
+ - Armazenamento de documentos e de chave-valor
34
+ - Teorema CAP (consistência, disponibilidade e tolerância a partições)
35
+ - Consistência eventual
36
+ - Quando usar relacional ou não relacional
37
+
38
+ ### Migrações e versionamento
39
+ - Migrações de esquema e de dados
40
+ - Compatibilidade retroativa
41
+
42
+ ## O que NÃO Inclui
43
+ - Dialetos de SQL específicos
44
+ - Configuração e ajuste de um banco específico
45
+ - Recursos exclusivos de um produto de banco de dados
46
+
47
+ ## Por quê é Universal
48
+ Os conceitos de dados e de transações valem para qualquer banco, relacional ou não.
49
+
50
+ ## Referências
51
+ - IEEE SWEBOK - Software Engineering Body of Knowledge
52
+ - ACM Computing Curricula 2023
53
+ - Martin Fowler - NoSQL Distilled
@@ -0,0 +1,42 @@
1
+ # 6. API e Comunicação entre Sistemas
2
+
3
+ **Nível:** FUNDAMENTAL
4
+ **Independência:** ✅ Válido em qualquer linguagem
5
+
6
+ ## Objetivo
7
+ Projetar APIs claras, seguras e evolutivas para que sistemas se comuniquem de forma confiável.
8
+
9
+ ## Conhecimentos Principais
10
+
11
+ ### REST e HTTP
12
+ - Princípios REST (Representational State Transfer)
13
+ - Métodos HTTP: GET, POST, PUT, PATCH, DELETE, HEAD e OPTIONS
14
+ - Códigos de status (1xx a 5xx)
15
+ - Cabeçalhos HTTP importantes
16
+ - Ausência de estado (statelessness)
17
+ - Design orientado a recursos
18
+ - HATEOAS e hipermídia
19
+
20
+ ### Conceitos de API
21
+ - Versionamento de API e versionamento semântico
22
+ - Autenticação (OAuth, JWT, Basic) e autorização (RBAC e ABAC)
23
+ - Limitação de taxa (rate limiting e throttling)
24
+ - Paginação, filtros e parâmetros de consulta
25
+ - Idempotência: repetir a chamada não repete o efeito
26
+ - Documentação de API por uma especificação padronizada
27
+
28
+ ### Protocolo HTTP/HTTPS
29
+ - HTTPS e TLS
30
+ - Diferenças entre HTTP/1.1, HTTP/2 e HTTP/3
31
+ - Keep-alive e compressão
32
+
33
+ ## O que NÃO Inclui
34
+ - Implementação em um framework web específico
35
+ - Protocolos alternativos muito especializados
36
+
37
+ ## Por quê é Universal
38
+ APIs são a forma padrão de os sistemas conversarem, e os princípios independem de quem as implementa.
39
+
40
+ ## Referências
41
+ - Roy Fielding - Architectural Styles and the Design of Network-based Software Architectures (REST)
42
+ - Especificações do protocolo HTTP (RFCs)
@@ -0,0 +1,49 @@
1
+ # 7. Concorrência e Assincronismo
2
+
3
+ **Nível:** IMPORTANTE
4
+ **Independência:** ✅ Válido em qualquer linguagem
5
+
6
+ ## Objetivo
7
+ Lidar com várias tarefas ao mesmo tempo sem corromper estado nem travar o sistema.
8
+
9
+ ## Conhecimentos Principais
10
+
11
+ ### Conceitos fundamentais
12
+ - Concorrência versus paralelismo
13
+ - Threads versus processos
14
+ - Troca de contexto
15
+ - Segurança entre threads (thread safety)
16
+ - Estado mutável compartilhado como a principal fonte de problemas
17
+
18
+ ### Problemas de concorrência
19
+ - Condições de corrida e data races
20
+ - Deadlocks e livelocks
21
+ - Starvation
22
+ - Problemas de visibilidade de memória
23
+
24
+ ### Soluções
25
+ - Mutexes e locks
26
+ - Semáforos
27
+ - Operações atômicas
28
+ - Imutabilidade
29
+ - Troca de mensagens
30
+ - Modelo de atores (em conceito)
31
+
32
+ ### Assincronismo
33
+ - Callbacks
34
+ - Promessas e futuros
35
+ - Async/await como padrão, não como sintaxe
36
+ - Programação reativa (em conceito)
37
+ - E/S não bloqueante
38
+
39
+ ## O que NÃO Inclui
40
+ - Sintaxe de concorrência de uma linguagem específica
41
+ - Bibliotecas de threads específicas
42
+
43
+ ## Por quê é Universal
44
+ Concorrência é um desafio de qualquer backend, e os problemas e soluções são os mesmos em todas as linguagens.
45
+
46
+ ## Referências
47
+ - IEEE SWEBOK - Software Engineering Body of Knowledge
48
+ - ACM Computing Curricula 2023
49
+ - Literatura clássica sobre concorrência (conceitos aplicáveis a qualquer linguagem)
@@ -0,0 +1,49 @@
1
+ # 8. Arquitetura de Servidor
2
+
3
+ **Nível:** IMPORTANTE
4
+ **Independência:** ✅ Válido em qualquer linguagem
5
+
6
+ ## Objetivo
7
+ Estruturar o servidor para atender muitas requisições com escalabilidade e resiliência, sem depender de uma tecnologia específica.
8
+
9
+ ## Conhecimentos Principais
10
+
11
+ ### Padrões de servidor
12
+ - Modelo requisição-resposta
13
+ - Pipeline de tratamento de requisições
14
+ - Padrão middleware
15
+ - Pool de conexões e pool de threads
16
+
17
+ ### Escalabilidade
18
+ - Escala vertical versus horizontal
19
+ - Balanceamento de carga (round robin, menos conexões e similares)
20
+ - Arquitetura sem estado (stateless) versus com estado
21
+ - Gerenciamento de sessão
22
+ - Camadas de cache
23
+
24
+ ### Resiliência
25
+ - Timeouts
26
+ - Retentativas com backoff exponencial
27
+ - Circuit breaker
28
+ - Bulkhead
29
+ - Verificações de saúde (health checks)
30
+
31
+ ### Sistemas distribuídos
32
+ - Teorema CAP
33
+ - Consistência eventual
34
+ - Algoritmos de consenso (em conceito)
35
+ - Transações distribuídas
36
+ - Idempotência em sistemas distribuídos
37
+
38
+ ## O que NÃO Inclui
39
+ - Configuração específica de um servidor web ou proxy
40
+ - Infraestrutura de implantação (contêineres e orquestração)
41
+
42
+ ## Por quê é Universal
43
+ Os padrões de arquitetura de servidor valem com qualquer tecnologia de implementação.
44
+
45
+ ## Referências
46
+ - IEEE SWEBOK - Software Engineering Body of Knowledge
47
+ - ACM Computing Curricula 2023
48
+ - Martin Fowler - Patterns of Enterprise Application Architecture
49
+ - Designing Data-Intensive Applications (conceitos)
@@ -0,0 +1,43 @@
1
+ # 9. Testes
2
+
3
+ **Nível:** FUNDAMENTAL
4
+ **Independência:** ✅ Válido em qualquer linguagem
5
+
6
+ ## Objetivo
7
+ Garantir, com testes rápidos e confiáveis, que o código faz o que deve e continua fazendo depois das mudanças.
8
+
9
+ ## Conhecimentos Principais
10
+
11
+ ### Tipos de teste
12
+ - Unitários: isolam uma unidade
13
+ - Integração: verificam a interação entre componentes
14
+ - Ponta a ponta (E2E): percorrem o fluxo completo
15
+ - De contrato: validam o contrato das APIs
16
+
17
+ ### Práticas
18
+ - Test-Driven Development (TDD): vermelho, verde, refatorar
19
+ - Behavior-Driven Development (BDD)
20
+ - Cobertura de testes e quando ela é relevante
21
+ - Mocks e stubs
22
+ - Fixtures e dados de teste
23
+ - Padrão Arrange-Act-Assert
24
+
25
+ ### Qualidade dos testes
26
+ - Determinísticos (sem testes instáveis)
27
+ - Rápidos
28
+ - Independentes entre si
29
+ - Legíveis
30
+ - Pirâmide de testes: muitos unitários, poucos de ponta a ponta
31
+
32
+ ## O que NÃO Inclui
33
+ - Frameworks e bibliotecas de teste específicos
34
+ - Sintaxe de uma ferramenta de testes
35
+
36
+ ## Por quê é Universal
37
+ Testar é uma prática universal, independente da linguagem ou do framework de teste.
38
+
39
+ ## Referências
40
+ - IEEE SWEBOK - Software Engineering Body of Knowledge
41
+ - ACM Computing Curricula 2023
42
+ - Kent Beck - Test-Driven Development
43
+ - Martin Fowler - Test Pyramid
@@ -1,9 +1,14 @@
1
1
  ---
2
- name: eng-arch-c4
2
+ name: eng-backend-arch-c4
3
3
  description: Cria e mantém documentação de arquitetura usando C4 Model. Use quando precisar documentar sistemas com diagramas de Contexto, Container, Componente e Código.
4
4
  argument-hint: "[nivel: context|container|component|code] [sistema-opcional]"
5
5
  disable-model-invocation: false
6
6
  allowed-tools: Read Write Edit Grep Glob Bash MCP
7
+ metadata:
8
+ author: jarvis-team
9
+ version: "1.0"
10
+ area: backend
11
+ stack: arch-c4
7
12
  ---
8
13
 
9
14
  # Arch C4 - Documentação de Arquitetura
@@ -43,10 +48,10 @@ Criar e manter documentação de arquitetura usando os 4 níveis do C4:
43
48
 
44
49
  | Nível | Arquivo |
45
50
  |-------|---------|
46
- | Context | `$IDE/skills/eng-arch-c4/assets/example-context.md` |
47
- | Container | `$IDE/skills/eng-arch-c4/assets/example-container.md` |
48
- | Component | `$IDE/skills/eng-arch-c4/assets/example-component.md` |
49
- | Code | `$IDE/skills/eng-arch-c4/assets/example-code.md` |
51
+ | Context | `$IDE/skills/eng-backend-arch-c4/assets/example-context.md` |
52
+ | Container | `$IDE/skills/eng-backend-arch-c4/assets/example-container.md` |
53
+ | Component | `$IDE/skills/eng-backend-arch-c4/assets/example-component.md` |
54
+ | Code | `$IDE/skills/eng-backend-arch-c4/assets/example-code.md` |
50
55
 
51
56
  ---
52
57
 
@@ -55,7 +60,7 @@ Criar e manter documentação de arquitetura usando os 4 níveis do C4:
55
60
  **IMPORTANTE**: Antes de executar, verificar se o `ENV.md` existe e está configurado:
56
61
 
57
62
  ```bash
58
- cat $IDE/ENV.md 2>/dev/null || echo "⚠️ ENV.md não encontrado. Execute /init-jarvis primeiro."
63
+ cat $IDE/ENV.md 2>/dev/null || echo "⚠️ ENV.md não encontrado. Execute /jarvis-init primeiro."
59
64
  ```
60
65
 
61
66
  ---
@@ -330,7 +335,7 @@ Referência: https://c4model.com
330
335
 
331
336
  ### ENV.md não encontrado
332
337
  - Interromper execução
333
- - Orientar usuário a executar `/init-jarvis` primeiro
338
+ - Orientar usuário a executar `/jarvis-init` primeiro
334
339
 
335
340
  ### Script de detecção não encontrado
336
341
  - Executar detecção manual com comandos básicos