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.
- package/AGENTS.md +66 -64
- package/README.md +24 -10
- package/agents/AGENTS.md +12 -8
- package/agents/README.md +14 -16
- package/agents/engineering/data/eng.data-engineer.agent.md +6 -6
- package/agents/engineering/eng.agent.md +19 -36
- package/agents/engineering/eng.bug-hunter.md +13 -12
- package/agents/engineering/eng.cybersecurity.agent.md +20 -35
- package/agents/engineering/eng.docs-writer.md +2 -2
- package/agents/engineering/eng.frontend.agent.md +17 -22
- package/agents/engineering/eng.rpa.agent.md +5 -15
- package/agents/engineering/qa/eng.qa.test-architect.md +4 -4
- package/agents/engineering/qa/eng.qa.test-planner.md +3 -3
- package/agents/engineering/qa/eng.qa.testing-engineer.md +3 -3
- package/agents/product/prod.discovery-interviewer.md +86 -0
- package/bin/commands/init.js +6 -6
- package/bin/jarvis.js +1 -1
- package/bin/lib/config/constants.js +47 -0
- package/bin/lib/core/sync-engine.js +12 -0
- package/package.json +2 -5
- package/rules/AGENTS.md +6 -4
- package/rules/engineering/eng-rules.md +5 -3
- package/rules/engineering/eng-security-rules.md +4 -4
- package/rules/engineering/eng.breakdown-subtasks-rules.md +208 -37
- package/rules/engineering/eng.docs-scraping-rules.md +1 -1
- package/rules/engineering/eng.downstream-flow-rules.md +1 -1
- package/rules/engineering/eng.integrations-rules.md +2 -2
- package/rules/engineering/eng.pre-pr-rules.md +1 -1
- package/rules/engineering/eng.skills-rules.md +60 -0
- package/rules/engineering/eng.specializations-rules.md +69 -0
- package/rules/engineering/eng.start-rules.md +11 -11
- package/rules/engineering/eng.work-rules.md +19 -14
- package/rules/engineering/frontend/eng.frontend-rules.md +70 -69
- package/rules/product/README.md +2 -0
- package/rules/product/prod-rules.md +7 -5
- package/{skills/prod-specs/rules/prod-spec-rules.md → rules/product/prod.spec-rules.md} +55 -50
- package/skills/AGENTS.md +111 -47
- package/skills/SKILLS-ROADMAP.md +26 -45
- package/skills/eng-ai-engineer/SKILL.md +1 -0
- package/skills/eng-backend/SKILL.md +142 -644
- package/skills/eng-backend/references/1-fundamentos-programacao.md +41 -0
- package/skills/eng-backend/references/10-seguranca.md +61 -0
- package/skills/eng-backend/references/11-performance.md +49 -0
- package/skills/eng-backend/references/12-erros-logging.md +42 -0
- package/skills/eng-backend/references/13-qualidade-codigo.md +51 -0
- package/skills/eng-backend/references/2-design-arquitetura.md +48 -0
- package/skills/eng-backend/references/3-design-patterns.md +50 -0
- package/skills/eng-backend/references/4-algoritmos-estruturas.md +43 -0
- package/skills/eng-backend/references/5-banco-dados.md +53 -0
- package/skills/eng-backend/references/6-api-comunicacao.md +42 -0
- package/skills/eng-backend/references/7-concorrencia-async.md +49 -0
- package/skills/eng-backend/references/8-arquitetura-servidor.md +49 -0
- package/skills/eng-backend/references/9-testes.md +43 -0
- package/skills/{eng-arch-c4 → eng-backend-arch-c4}/SKILL.md +12 -7
- package/skills/{eng-ms-trace → eng-backend-microservices-trace}/SKILL.md +6 -4
- package/skills/{eng-nestjs → eng-backend-nestjs}/SKILL.md +3 -1
- package/skills/{eng-rabbitmq → eng-backend-rabbitmq}/SKILL.md +3 -1
- package/skills/eng-data-bi/SKILL.md +1 -0
- package/skills/eng-data-debug/SKILL.md +2 -1
- package/skills/eng-data-engineer/SKILL.md +1 -0
- package/skills/eng-data-onboard/SKILL.md +1 -0
- package/skills/eng-data-orchestrator/SKILL.md +1 -0
- package/skills/{eng-performance-engineer → eng-devops-performance-engineer}/SKILL.md +2 -1
- package/skills/eng-frontend/SKILL.md +145 -782
- package/skills/eng-frontend/references/1-fundamentos-programacao.md +37 -0
- package/skills/eng-frontend/references/10-testes.md +47 -0
- package/skills/eng-frontend/references/11-seguranca.md +56 -0
- package/skills/eng-frontend/references/12-qualidade-codigo.md +51 -0
- package/skills/eng-frontend/references/2-html-fundamentals.md +51 -0
- package/skills/eng-frontend/references/3-css-responsive.md +61 -0
- package/skills/eng-frontend/references/4-javascript-dom.md +60 -0
- package/skills/eng-frontend/references/5-state-management.md +55 -0
- package/skills/eng-frontend/references/6-uiux-design.md +59 -0
- package/skills/eng-frontend/references/7-acessibilidade.md +46 -0
- package/skills/eng-frontend/references/8-performance.md +58 -0
- package/skills/eng-frontend/references/9-browser-apis.md +54 -0
- package/skills/{eng-design-system → eng-frontend-design-system}/SKILL.md +4 -2
- package/skills/{eng-microfrontend → eng-frontend-microfrontend}/SKILL.md +4 -2
- package/skills/{eng-browser-extension-builder → eng-global-browser-extension-builder}/SKILL.md +2 -1
- package/skills/{eng-docs-write → eng-global-docs-write}/SKILL.md +8 -4
- package/skills/eng-global-jira-comment/SKILL.md +21 -0
- package/skills/{eng-pr → eng-global-pr}/SKILL.md +7 -3
- package/skills/{eng-task-comment → eng-global-task-comment}/SKILL.md +6 -2
- package/skills/eng-qa-a11y-audit/SKILL.md +1 -0
- package/skills/eng-qa-bug-report/SKILL.md +2 -1
- package/skills/eng-qa-bug-report/TASK_MANAGERS.md +1 -1
- package/skills/eng-qa-cypress-e2e/SKILL.md +1 -0
- package/skills/eng-qa-dev-guide/SKILL.md +1 -0
- package/skills/eng-qa-e2e/SKILL.md +1 -0
- package/skills/eng-qa-e2e-spec-writer/SKILL.md +1 -0
- package/skills/eng-qa-exploratory/SKILL.md +1 -0
- package/skills/eng-qa-gate/SKILL.md +3 -2
- package/skills/eng-qa-graphql-contract/SKILL.md +1 -0
- package/skills/eng-qa-quality-report/SKILL.md +3 -2
- package/skills/eng-qa-test-plan/SKILL.md +1 -0
- package/skills/eng-qa-testsprite/SKILL.md +2 -1
- package/skills/eng-qa-unit-test/SKILL.md +1 -0
- package/skills/eng-scraper/SKILL.md +1 -0
- package/skills/eng-scraper-robot-builder/SKILL.md +1 -0
- package/skills/{eng-cybersecurity → eng-security-cybersecurity}/SKILL.md +3 -2
- package/skills/eng-security-patch/SKILL.md +6 -2
- package/skills/{eng-threat-model → eng-security-threat-model}/SKILL.md +6 -2
- package/skills/eng-security-triage/SKILL.md +4 -0
- package/skills/{context-detect → jarvis-context-detect}/SKILL.md +6 -5
- package/skills/{context-detect → jarvis-context-detect}/assets/context-profile-template.md +3 -3
- package/skills/jarvis-create-specialization/SKILL.md +230 -0
- package/skills/jarvis-create-specialization/assets/referencia-template.md +39 -0
- package/skills/jarvis-create-specialization/assets/skill-especializacao-template.md +78 -0
- package/skills/{docs-central → jarvis-docs-central}/README.md +1 -1
- package/skills/{docs-central → jarvis-docs-central}/SKILL.md +3 -40
- package/skills/{docs-index → jarvis-docs-index}/SKILL.md +8 -4
- package/skills/{init-jarvis → jarvis-init}/SKILL.md +42 -19
- package/skills/{init-jarvis → jarvis-init}/assets/mcp-configs.md +3 -3
- package/skills/{init-jarvis → jarvis-init}/assets/onboarding-checklist.md +1 -1
- package/skills/jarvis-init/assets/passo-adicionar-stacks.md +163 -0
- package/skills/{init-jarvis → jarvis-init}/assets/setup-guide.md +1 -1
- package/skills/jarvis-init/assets/sinais-de-stack.md +54 -0
- package/skills/jarvis-list-specializations/SKILL.md +148 -0
- package/skills/{report-issue → jarvis-report-issue}/SKILL.md +3 -2
- package/skills/{prod-roadmap-report → product-roadmap-report}/SKILL.md +2 -1
- package/skills/product-specs/SKILL.md +45 -0
- package/skills/{prod-specs-update → product-specs-update}/SKILL.md +3 -2
- package/taxonomy.md +3 -21
- package/templates/AGENTS.md +7 -6
- package/templates/CDD aplicado a Prompts.md +5 -5
- package/templates/ENV-template.md +12 -9
- package/templates/engineering/AGENTS-template.md +1 -1
- package/templates/engineering/CONTACTS-template.md +1 -1
- package/templates/product/prod-discovery-template.md +98 -0
- package/{skills/prod-specs/templates → templates/product}/prod-epic-template.md +1 -0
- package/{skills/prod-specs/templates → templates/product}/prod-frd-template.md +1 -0
- package/{skills/prod-specs/templates → templates/product}/prod-issue-template.md +1 -0
- package/{skills/prod-specs/templates → templates/product}/prod-prd-template.md +1 -0
- package/workflows/AGENTS.md +3 -1
- package/workflows/README.md +2 -0
- package/workflows/engineering/eng.bug-audit.md +2 -2
- package/workflows/engineering/eng.build-tech-spec.md +38 -49
- package/workflows/engineering/eng.debug.md +10 -10
- package/workflows/engineering/eng.docs.md +2 -2
- package/workflows/engineering/eng.plan.md +5 -5
- package/workflows/engineering/eng.pr.md +8 -8
- package/workflows/engineering/eng.pre-pr.md +16 -20
- package/workflows/engineering/eng.review.md +5 -10
- package/workflows/engineering/eng.rpa.robot.md +3 -3
- package/workflows/engineering/eng.security-audit.md +5 -5
- package/workflows/engineering/eng.security-incident.md +2 -2
- package/workflows/engineering/eng.security-pipeline.md +2 -2
- package/workflows/engineering/eng.start.md +16 -50
- package/workflows/engineering/eng.work.md +9 -12
- package/workflows/engineering/frontend/eng.frontend-component.md +68 -96
- package/workflows/engineering/frontend/eng.frontend-perf-audit.md +90 -220
- package/workflows/engineering/frontend/eng.frontend-review.md +57 -63
- package/workflows/engineering/qa/eng.qa-quality-report.md +0 -5
- package/workflows/product/prod.roadmap.preview.md +2 -2
- package/workflows/product/prod.spec.breakdown.md +3 -8
- package/workflows/product/prod.spec.discovery.md +152 -0
- package/workflows/product/prod.spec.epic.md +3 -0
- package/workflows/product/prod.spec.frd.md +123 -8
- package/workflows/product/prod.spec.issue.md +3 -2
- package/workflows/product/prod.spec.md +2 -0
- package/workflows/product/prod.spec.prd.md +105 -6
- package/workflows/taxonomy.md +1 -1
- package/workflows/warm-up.md +5 -26
- package/agents/engineering/eng.tech-analyst.agent.md +0 -102
- package/skills/churn-audit/SKILL.md +0 -385
- package/skills/eng-jira-comment/SKILL.md +0 -17
- package/skills/eng-tech-analyst/SKILL.md +0 -529
- package/skills/lovable-prompt-generator/SKILL.md +0 -304
- package/skills/prod-specs/SKILL.md +0 -108
- package/skills/prod-specs/references/prod.spec.clarify.md +0 -176
- package/skills/prod-specs/references/prod.spec.epic.md +0 -107
- package/skills/prod-specs/references/prod.spec.frd.md +0 -135
- package/skills/prod-specs/references/prod.spec.issue.md +0 -145
- package/skills/prod-specs/references/prod.spec.prd.md +0 -118
- package/skills/prod-specs/templates/prod-prd-full-template.md +0 -159
- package/workflows/engineering/ta/eng.ta.atendimento.md +0 -93
- /package/skills/{eng-arch-c4 → eng-backend-arch-c4}/assets/example-code.md +0 -0
- /package/skills/{eng-arch-c4 → eng-backend-arch-c4}/assets/example-component.md +0 -0
- /package/skills/{eng-arch-c4 → eng-backend-arch-c4}/assets/example-container.md +0 -0
- /package/skills/{eng-arch-c4 → eng-backend-arch-c4}/assets/example-context.md +0 -0
- /package/skills/{prod-roadmap-report → product-roadmap-report}/README.md +0 -0
- /package/skills/{prod-roadmap-report → product-roadmap-report}/commands/status.compiled.single.team.md +0 -0
- /package/skills/{prod-roadmap-report → product-roadmap-report}/commands/status.list.projects.md +0 -0
- /package/skills/{prod-roadmap-report → product-roadmap-report}/commands/status.memory.md +0 -0
- /package/skills/{prod-roadmap-report → product-roadmap-report}/commands/status.roadmap.preview.md +0 -0
- /package/skills/{prod-roadmap-report → product-roadmap-report}/references/detailed-guide.md +0 -0
- /package/skills/{prod-roadmap-report → product-roadmap-report}/rules/detailed-guide.md +0 -0
- /package/skills/{prod-roadmap-report → product-roadmap-report}/rules/status-report-rules.md +0 -0
- /package/skills/{prod-roadmap-report → product-roadmap-report}/templates/template-multiple-teams-compiled-status.md +0 -0
- /package/skills/{prod-roadmap-report → product-roadmap-report}/templates/template-projects-list.md +0 -0
- /package/skills/{prod-roadmap-report → product-roadmap-report}/templates/template-single-team-compiled-status.md +0 -0
- /package/skills/{prod-roadmap-report → product-roadmap-report}/templates/template-single-team-status.md +0 -0
- /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
|
|
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
|
|
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
|