jarvis-ai-framework 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +416 -0
- package/LICENSE +21 -0
- package/README.md +190 -0
- package/agents/AGENTS.md +234 -0
- package/agents/README.md +309 -0
- package/agents/engineering/data/eng.data-engineer.agent.md +309 -0
- package/agents/engineering/eng.agent.md +303 -0
- package/agents/engineering/eng.bug-hunter.md +386 -0
- package/agents/engineering/eng.cybersecurity.agent.md +503 -0
- package/agents/engineering/eng.dev-code-reviewer.md +148 -0
- package/agents/engineering/eng.docs-writer.md +152 -0
- package/agents/engineering/eng.frontend.agent.md +117 -0
- package/agents/engineering/eng.rpa.agent.md +215 -0
- package/agents/engineering/eng.tech-analyst.agent.md +102 -0
- package/agents/engineering/eng.ux-designer.agent.md +193 -0
- package/agents/engineering/qa/eng.qa.cypress-specialist.md +109 -0
- package/agents/engineering/qa/eng.qa.quality-champion-task-agent.md +85 -0
- package/agents/engineering/qa/eng.qa.quality-strategist.md +111 -0
- package/agents/engineering/qa/eng.qa.test-architect.md +400 -0
- package/agents/engineering/qa/eng.qa.test-planner.md +477 -0
- package/agents/engineering/qa/eng.qa.testing-engineer.md +339 -0
- package/agents/product/prod.pm-checker.md +52 -0
- package/bin/commands/docs-publish.js +184 -0
- package/bin/commands/docs-sync.js +139 -0
- package/bin/commands/info.js +87 -0
- package/bin/commands/init.js +237 -0
- package/bin/commands/install-rtk.js +90 -0
- package/bin/commands/list.js +48 -0
- package/bin/commands/qa-signoff.js +112 -0
- package/bin/commands/whoami.js +43 -0
- package/bin/jarvis.js +159 -0
- package/bin/lib/auth/session.js +56 -0
- package/bin/lib/config/constants.js +123 -0
- package/bin/lib/config/ide-config.js +233 -0
- package/bin/lib/core/scanner.js +124 -0
- package/bin/lib/core/sync-engine.js +551 -0
- package/bin/lib/docs/fetch-file.sh +41 -0
- package/bin/lib/docs/publish-file.sh +284 -0
- package/bin/lib/docs/validate-frontmatter.js +157 -0
- package/bin/lib/env-loader.js +198 -0
- package/bin/lib/tasks/comment.js +131 -0
- package/bin/lib/utils/git-parser.js +145 -0
- package/bin/lib/utils/logger.js +104 -0
- package/bin/lib/utils/npmrc-parser.js +106 -0
- package/bin/lib/utils/paths.js +55 -0
- package/bin/lib/utils/ui.js +59 -0
- package/bin/lib/vcs/api.js +312 -0
- package/bin/lib/vcs/create-issue.js +43 -0
- package/bin/lib/vcs/create-merge.js +43 -0
- package/bin/lib/vcs/fetch-raw.js +30 -0
- package/bin/postinstall.js +41 -0
- package/members.md +25 -0
- package/package.json +55 -0
- package/rules/AGENTS.md +205 -0
- package/rules/engineering/data/data-rules.md +200 -0
- package/rules/engineering/eng-rules.md +243 -0
- package/rules/engineering/eng-security-rules.md +186 -0
- package/rules/engineering/eng.breakdown-subtasks-rules.md +585 -0
- package/rules/engineering/eng.bump-rules.md +27 -0
- package/rules/engineering/eng.docs-scraping-rules.md +64 -0
- package/rules/engineering/eng.downstream-flow-rules.md +297 -0
- package/rules/engineering/eng.integrations-rules.md +73 -0
- package/rules/engineering/eng.plan-rules.md +333 -0
- package/rules/engineering/eng.pr-rules.md +359 -0
- package/rules/engineering/eng.pre-pr-rules.md +103 -0
- package/rules/engineering/eng.start-rules.md +246 -0
- package/rules/engineering/eng.tech-spec-rules.md +968 -0
- package/rules/engineering/eng.work-rules.md +312 -0
- package/rules/engineering/frontend/eng.frontend-rules.md +147 -0
- package/rules/engineering/qa/eng.qa.cypress-standards-rules.md +259 -0
- package/rules/engineering/qa/eng.qa.exploratory-session-rules.md +137 -0
- package/rules/engineering/qa/eng.qa.quality-gate-scoring-rules.md +181 -0
- package/rules/engineering/qa/eng.qa.tech-spec-validation-criteria-rules.md +120 -0
- package/rules/engineering/rpa/eng.rpa-rules.md +230 -0
- package/rules/product/README.md +24 -0
- package/rules/product/prod-rules.md +151 -0
- package/rules/rtk-rules.md +68 -0
- package/skills/AGENTS.md +290 -0
- package/skills/SKILLS-ROADMAP.md +333 -0
- package/skills/churn-audit/SKILL.md +385 -0
- package/skills/context-detect/SKILL.md +399 -0
- package/skills/context-detect/assets/context-profile-template.md +127 -0
- package/skills/docs-central/README.md +310 -0
- package/skills/docs-central/SKILL.md +423 -0
- package/skills/docs-index/SKILL.md +377 -0
- package/skills/eng-ai-engineer/SKILL.md +296 -0
- package/skills/eng-arch-c4/SKILL.md +358 -0
- package/skills/eng-arch-c4/assets/example-code.md +189 -0
- package/skills/eng-arch-c4/assets/example-component.md +105 -0
- package/skills/eng-arch-c4/assets/example-container.md +104 -0
- package/skills/eng-arch-c4/assets/example-context.md +81 -0
- package/skills/eng-backend/SKILL.md +776 -0
- package/skills/eng-browser-extension-builder/SKILL.md +385 -0
- package/skills/eng-cybersecurity/SKILL.md +645 -0
- package/skills/eng-data-bi/SKILL.md +199 -0
- package/skills/eng-data-debug/SKILL.md +307 -0
- package/skills/eng-data-engineer/SKILL.md +256 -0
- package/skills/eng-data-onboard/SKILL.md +310 -0
- package/skills/eng-data-orchestrator/SKILL.md +426 -0
- package/skills/eng-design-system/SKILL.md +619 -0
- package/skills/eng-docs-write/SKILL.md +312 -0
- package/skills/eng-frontend/SKILL.md +913 -0
- package/skills/eng-jira-comment/SKILL.md +17 -0
- package/skills/eng-microfrontend/SKILL.md +602 -0
- package/skills/eng-ms-trace/SKILL.md +469 -0
- package/skills/eng-nestjs/SKILL.md +791 -0
- package/skills/eng-performance-engineer/SKILL.md +312 -0
- package/skills/eng-pr/SKILL.md +339 -0
- package/skills/eng-qa-a11y-audit/SKILL.md +269 -0
- package/skills/eng-qa-bug-report/SKILL.md +1088 -0
- package/skills/eng-qa-bug-report/TASK_MANAGERS.md +138 -0
- package/skills/eng-qa-cypress-e2e/SKILL.md +177 -0
- package/skills/eng-qa-dev-guide/SKILL.md +164 -0
- package/skills/eng-qa-e2e/SKILL.md +400 -0
- package/skills/eng-qa-e2e-spec-writer/SKILL.md +322 -0
- package/skills/eng-qa-exploratory/SKILL.md +188 -0
- package/skills/eng-qa-gate/SKILL.md +370 -0
- package/skills/eng-qa-gate/assets/checklist-validacao.md +291 -0
- package/skills/eng-qa-graphql-contract/SKILL.md +256 -0
- package/skills/eng-qa-quality-report/SKILL.md +412 -0
- package/skills/eng-qa-test-plan/SKILL.md +466 -0
- package/skills/eng-qa-test-plan/assets/test-coverage-template.md +92 -0
- package/skills/eng-qa-test-plan/assets/test-patterns.md +178 -0
- package/skills/eng-qa-testsprite/SKILL.md +325 -0
- package/skills/eng-qa-testsprite/references/testsprite-mcp.md +224 -0
- package/skills/eng-qa-unit-test/SKILL.md +471 -0
- package/skills/eng-rabbitmq/SKILL.md +661 -0
- package/skills/eng-scraper/SKILL.md +683 -0
- package/skills/eng-scraper-robot-builder/SKILL.md +370 -0
- package/skills/eng-security-patch/SKILL.md +378 -0
- package/skills/eng-security-triage/SKILL.md +266 -0
- package/skills/eng-task-comment/SKILL.md +60 -0
- package/skills/eng-tech-analyst/SKILL.md +529 -0
- package/skills/eng-threat-model/SKILL.md +161 -0
- package/skills/init-jarvis/SKILL.md +1304 -0
- package/skills/init-jarvis/assets/mcp-configs.md +389 -0
- package/skills/init-jarvis/assets/onboarding-checklist.md +104 -0
- package/skills/init-jarvis/assets/setup-guide.md +360 -0
- package/skills/lovable-prompt-generator/SKILL.md +304 -0
- package/skills/prod-roadmap-report/README.md +303 -0
- package/skills/prod-roadmap-report/SKILL.md +198 -0
- package/skills/prod-roadmap-report/commands/status.compiled.single.team.md +23 -0
- package/skills/prod-roadmap-report/commands/status.list.projects.md +17 -0
- package/skills/prod-roadmap-report/commands/status.memory.md +192 -0
- package/skills/prod-roadmap-report/commands/status.roadmap.preview.md +94 -0
- package/skills/prod-roadmap-report/references/detailed-guide.md +236 -0
- package/skills/prod-roadmap-report/rules/detailed-guide.md +237 -0
- package/skills/prod-roadmap-report/rules/status-report-rules.md +44 -0
- package/skills/prod-roadmap-report/templates/template-multiple-teams-compiled-status.md +53 -0
- package/skills/prod-roadmap-report/templates/template-projects-list.md +23 -0
- package/skills/prod-roadmap-report/templates/template-single-team-compiled-status.md +60 -0
- package/skills/prod-roadmap-report/templates/template-single-team-status.md +49 -0
- package/skills/prod-specs/SKILL.md +108 -0
- package/skills/prod-specs/references/prod.spec.clarify.md +176 -0
- package/skills/prod-specs/references/prod.spec.epic.md +107 -0
- package/skills/prod-specs/references/prod.spec.frd.md +135 -0
- package/skills/prod-specs/references/prod.spec.issue.md +145 -0
- package/skills/prod-specs/references/prod.spec.prd.md +118 -0
- package/skills/prod-specs/rules/prod-spec-rules.md +186 -0
- package/skills/prod-specs/templates/prod-breakdown-template.md +136 -0
- package/skills/prod-specs/templates/prod-epic-template.md +76 -0
- package/skills/prod-specs/templates/prod-frd-template.md +172 -0
- package/skills/prod-specs/templates/prod-issue-template.md +68 -0
- package/skills/prod-specs/templates/prod-prd-full-template.md +159 -0
- package/skills/prod-specs/templates/prod-prd-template.md +173 -0
- package/skills/prod-specs-update/SKILL.md +272 -0
- package/skills/report-issue/SKILL.md +156 -0
- package/taxonomy.md +270 -0
- package/templates/AGENTS.md +189 -0
- package/templates/CDD aplicado a Prompts.md +182 -0
- package/templates/ENV-template.md +187 -0
- package/templates/engineering/AGENTS-template.md +71 -0
- package/templates/engineering/ARD-template.md +193 -0
- package/templates/engineering/CONTACTS-template.md +135 -0
- package/templates/engineering/PR-template.md +40 -0
- package/templates/engineering/RFC-Playbook.md +325 -0
- package/templates/engineering/RFC-template.md +199 -0
- package/templates/engineering/architecture-template.md +277 -0
- package/templates/engineering/breakdown-subtasks-template.md +582 -0
- package/templates/engineering/c4-model-template.md +516 -0
- package/templates/engineering/data-contract-template.md +135 -0
- package/templates/engineering/data-pipeline-template.md +163 -0
- package/templates/engineering/plan-template.md +255 -0
- package/templates/engineering/qa/eng.qa.quality-gate-examples-template.md +311 -0
- package/templates/engineering/qa/eng.qa.quality-gate-report-template.md +249 -0
- package/templates/engineering/qa/qa.cypress-test-template.md +172 -0
- package/templates/engineering/qa/qa.exploratory-session-template.md +148 -0
- package/templates/engineering/qa/qa.quality-report-template.md +130 -0
- package/templates/engineering/qa/qa.release-signoff-template.md +54 -0
- package/templates/engineering/qa/qa.sprint-plan-template.md +49 -0
- package/templates/engineering/swagger-template.md +145 -0
- package/templates/engineering/tech-spec-template.md +497 -0
- package/templates/engineering/work-progress-template.md +155 -0
- package/workflows/AGENTS.md +240 -0
- package/workflows/README.md +160 -0
- package/workflows/all-tools.md +11 -0
- package/workflows/engineering/data/data.contract.md +202 -0
- package/workflows/engineering/data/data.new-pipeline.md +234 -0
- package/workflows/engineering/eng.breakdown-subtasks.md +420 -0
- package/workflows/engineering/eng.bug-audit.md +591 -0
- package/workflows/engineering/eng.build-tech-spec.md +1116 -0
- package/workflows/engineering/eng.create-ard-from-code.md +259 -0
- package/workflows/engineering/eng.create-ard.md +382 -0
- package/workflows/engineering/eng.create-rfc.md +245 -0
- package/workflows/engineering/eng.debug.md +479 -0
- package/workflows/engineering/eng.docs.md +40 -0
- package/workflows/engineering/eng.light-arch.md +84 -0
- package/workflows/engineering/eng.plan.md +213 -0
- package/workflows/engineering/eng.pr.md +466 -0
- package/workflows/engineering/eng.pre-pr.md +167 -0
- package/workflows/engineering/eng.review.md +185 -0
- package/workflows/engineering/eng.rpa.robot.md +342 -0
- package/workflows/engineering/eng.security-audit.md +312 -0
- package/workflows/engineering/eng.security-incident.md +275 -0
- package/workflows/engineering/eng.security-pipeline.md +210 -0
- package/workflows/engineering/eng.security-review.md +235 -0
- package/workflows/engineering/eng.start.md +494 -0
- package/workflows/engineering/eng.work.md +558 -0
- package/workflows/engineering/frontend/eng.frontend-component.md +190 -0
- package/workflows/engineering/frontend/eng.frontend-perf-audit.md +375 -0
- package/workflows/engineering/frontend/eng.frontend-review.md +185 -0
- package/workflows/engineering/qa/eng.qa-dev-quality-guide.md +51 -0
- package/workflows/engineering/qa/eng.qa-e2e-test-generation.md +51 -0
- package/workflows/engineering/qa/eng.qa-exploratory-session.md +60 -0
- package/workflows/engineering/qa/eng.qa-quality-gate-validation.md +202 -0
- package/workflows/engineering/qa/eng.qa-quality-report.md +83 -0
- package/workflows/engineering/qa/eng.qa-refinement-entry.md +83 -0
- package/workflows/engineering/qa/eng.qa-release-signoff.md +170 -0
- package/workflows/engineering/qa/eng.qa-sprint-planning.md +100 -0
- package/workflows/engineering/ta/eng.ta.atendimento.md +93 -0
- package/workflows/product/prod.roadmap.preview.md +110 -0
- package/workflows/product/prod.spec.breakdown.md +163 -0
- package/workflows/product/prod.spec.clarify.md +178 -0
- package/workflows/product/prod.spec.epic.md +154 -0
- package/workflows/product/prod.spec.frd.md +96 -0
- package/workflows/product/prod.spec.issue.md +145 -0
- package/workflows/product/prod.spec.md +60 -0
- package/workflows/product/prod.spec.prd.md +100 -0
- package/workflows/taxonomy.md +92 -0
- package/workflows/warm-up.md +574 -0
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
# RFC-[XXX] — [Título claro da decisão]
|
|
2
|
+
|
|
3
|
+
**Status:** Draft | In Review | Ready for Decision | Accepted | Rejected | Superseded
|
|
4
|
+
**Criado em:** YYYY-MM-DD
|
|
5
|
+
**Proponente:** [Nome]
|
|
6
|
+
**Reviewers:** [TLs / Engineering Core / Especialistas]
|
|
7
|
+
**Escopo:** [Squad(s) / Área(s) impactadas]
|
|
8
|
+
**Relacionado a:** PRD-XXX | FRD-XXX (links)
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## 1. Contexto e Problema
|
|
13
|
+
|
|
14
|
+
Descreva de forma **objetiva**:
|
|
15
|
+
|
|
16
|
+
- Qual problema ou oportunidade foi identificada
|
|
17
|
+
- Onde isso acontece hoje
|
|
18
|
+
- Qual dor técnica, operacional ou de negócio existe
|
|
19
|
+
|
|
20
|
+
⚠️ **Não descreva solução técnica aqui.**
|
|
21
|
+
|
|
22
|
+
> Exemplo:
|
|
23
|
+
> Hoje o processamento assíncrono depende de mensageria com concorrência fixa, gerando gargalos quando há picos desbalanceados entre fluxos.
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## 2. Por que essa decisão é necessária agora?
|
|
28
|
+
|
|
29
|
+
Explique o **timing da decisão**:
|
|
30
|
+
|
|
31
|
+
- O que acontece se nada for feito?
|
|
32
|
+
- Qual risco estamos assumindo?
|
|
33
|
+
- O que mudou no contexto atual?
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## 3. Objetivo da Decisão
|
|
38
|
+
|
|
39
|
+
Declare **explicitamente** o que precisa ser decidido.
|
|
40
|
+
|
|
41
|
+
> Exemplo:
|
|
42
|
+
> Definir a estratégia de mensageria para processamento assíncrono para os próximos 12–24 meses.
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## 4. Opções em Discussão
|
|
47
|
+
|
|
48
|
+
Liste **todas as alternativas reais**, mesmo que uma pareça óbvia.
|
|
49
|
+
|
|
50
|
+
### Opção A — [Nome curto]
|
|
51
|
+
- Descrição resumida
|
|
52
|
+
- Onde se aplica
|
|
53
|
+
- O que resolve
|
|
54
|
+
|
|
55
|
+
### Opção B — [Nome curto]
|
|
56
|
+
- Descrição resumida
|
|
57
|
+
- Onde se aplica
|
|
58
|
+
- O que resolve
|
|
59
|
+
|
|
60
|
+
### Opção C — [Opcional]
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## 5. Trade-offs Comparativos
|
|
65
|
+
|
|
66
|
+
| Critério | Opção A | Opção B | Opção C |
|
|
67
|
+
|--------|--------|--------|--------|
|
|
68
|
+
| Complexidade | | | |
|
|
69
|
+
| Custo | | | |
|
|
70
|
+
| Escalabilidade | | | |
|
|
71
|
+
| Operação | | | |
|
|
72
|
+
| Alinhamento estratégico | | | |
|
|
73
|
+
| Risco | | | |
|
|
74
|
+
|
|
75
|
+
⚠️ Evite achismos. Use fatos, dados ou experiência prática sempre que possível.
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## 6. Riscos e Pontos de Atenção
|
|
80
|
+
|
|
81
|
+
Liste riscos **independente da opção escolhida**:
|
|
82
|
+
|
|
83
|
+
- Riscos técnicos:
|
|
84
|
+
- Riscos operacionais:
|
|
85
|
+
- Riscos de custo:
|
|
86
|
+
- Riscos organizacionais (time, conhecimento, dependências):
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## 7. Fora de Escopo
|
|
91
|
+
|
|
92
|
+
Declare explicitamente o que **não** está sendo decidido aqui.
|
|
93
|
+
|
|
94
|
+
> Exemplo:
|
|
95
|
+
> Esta RFC não define detalhes de implementação, tuning fino ou cronograma.
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
## 8. Critérios para Tomada de Decisão
|
|
100
|
+
|
|
101
|
+
Liste os critérios que devem pesar mais na decisão final:
|
|
102
|
+
|
|
103
|
+
- Impacto sistêmico
|
|
104
|
+
- Alinhamento estratégico
|
|
105
|
+
- Capacidade do time
|
|
106
|
+
- Custo total no longo prazo
|
|
107
|
+
- Risco aceitável
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## 9. Perguntas em Aberto
|
|
112
|
+
|
|
113
|
+
Liste dúvidas que **precisam ser respondidas antes do aceite**:
|
|
114
|
+
|
|
115
|
+
- ?
|
|
116
|
+
- ?
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## 10. Decisão Final
|
|
121
|
+
|
|
122
|
+
*(Preenchido apenas quando o RFC for fechado)*
|
|
123
|
+
|
|
124
|
+
**Decisão:**
|
|
125
|
+
☐ Aprovada
|
|
126
|
+
☐ Aprovada com ressalvas
|
|
127
|
+
☐ Rejeitada
|
|
128
|
+
|
|
129
|
+
**Resumo da decisão:**
|
|
130
|
+
[Explique claramente por que esta opção foi escolhida]
|
|
131
|
+
|
|
132
|
+
**Condições / Observações (se houver):**
|
|
133
|
+
-
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## 11. Próximos Passos
|
|
138
|
+
|
|
139
|
+
- [ ] Criar ARD correspondente
|
|
140
|
+
- [ ] Planejar implementação
|
|
141
|
+
- [ ] Definir métricas de validação (AVD)
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## 12. Histórico e Comentários
|
|
146
|
+
|
|
147
|
+
Registre aqui:
|
|
148
|
+
- Comentários relevantes
|
|
149
|
+
- Mudanças de entendimento
|
|
150
|
+
- Ajustes feitos ao longo da discussão
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
# ✅ Checklist de Revisão da RFC (Obrigatório)
|
|
155
|
+
|
|
156
|
+
Este checklist deve ser revisado **antes de mover a RFC para `Ready for Decision`**.
|
|
157
|
+
|
|
158
|
+
### Clareza do Problema
|
|
159
|
+
- [ ] O problema está claramente descrito sem propor solução?
|
|
160
|
+
- [ ] O impacto técnico ou de negócio está explícito?
|
|
161
|
+
- [ ] O motivo do timing está claro?
|
|
162
|
+
|
|
163
|
+
### Qualidade da Decisão
|
|
164
|
+
- [ ] O objetivo da decisão está explícito?
|
|
165
|
+
- [ ] Existem alternativas reais listadas?
|
|
166
|
+
- [ ] Os trade-offs estão comparados de forma honesta?
|
|
167
|
+
- [ ] Riscos relevantes foram identificados?
|
|
168
|
+
|
|
169
|
+
### Escopo e Governança
|
|
170
|
+
- [ ] O fora de escopo está claramente definido?
|
|
171
|
+
- [ ] Esta decisão realmente precisa de RFC segundo o playbook?
|
|
172
|
+
- [ ] As squads impactadas estão listadas?
|
|
173
|
+
|
|
174
|
+
### Processo
|
|
175
|
+
- [ ] PRD e/ou FRD existem e estão linkados (quando aplicável)?
|
|
176
|
+
- [ ] Os reviewers corretos foram envolvidos?
|
|
177
|
+
- [ ] Comentários foram registrados no documento (não em chats)?
|
|
178
|
+
- [ ] Não existe implementação iniciada antes do aceite?
|
|
179
|
+
|
|
180
|
+
### Pronta para Decisão
|
|
181
|
+
- [ ] Informação suficiente para decidir?
|
|
182
|
+
- [ ] Decisor correto identificado (Head / Core / CTO)?
|
|
183
|
+
- [ ] Não existem dúvidas estruturais em aberto?
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
### 🧠 Lembretes Culturais
|
|
188
|
+
|
|
189
|
+
- Se você já sabe **como** implementar, isso não é RFC.
|
|
190
|
+
- Se ainda existem alternativas relevantes, isso **é** RFC.
|
|
191
|
+
- Decisões importantes não acontecem fora deste documento.
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
## Convenções
|
|
196
|
+
|
|
197
|
+
- Uma RFC = **uma decisão principal**
|
|
198
|
+
- RFCs são numeradas sequencialmente (RFC-001, RFC-002, …)
|
|
199
|
+
- Decisões estratégicas podem gerar mais de um ARD
|
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
# Architecture: {TASK_MANAGER_KEY}
|
|
2
|
+
|
|
3
|
+
> 📁 **Sessão**: `$SESSIONS_DIR/eng/{TASK_MANAGER_KEY}/`
|
|
4
|
+
> 🎫 **Jira**: `{TASK_MANAGER_KEY}` (converta para lowercase no nome da pasta)
|
|
5
|
+
|
|
6
|
+
> **Criado em:** {DATA}
|
|
7
|
+
> **Issue:** {JIRA_ISSUE_KEY}
|
|
8
|
+
> **Status:** 🔄 Em Revisão | ✅ Aprovado | ❌ Rejeitado
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## 1. Visão Geral
|
|
13
|
+
|
|
14
|
+
### 1.1 Contexto
|
|
15
|
+
|
|
16
|
+
{Descreva a motivação e o contexto de negócio por trás desta tarefa. Por que isso está sendo feito? Qual problema resolve?}
|
|
17
|
+
|
|
18
|
+
### 1.2 Objetivo
|
|
19
|
+
|
|
20
|
+
{Qual é o resultado esperado? O que o usuário/sistema poderá fazer após a implementação?}
|
|
21
|
+
|
|
22
|
+
### 1.3 Escopo
|
|
23
|
+
|
|
24
|
+
**Incluído:**
|
|
25
|
+
|
|
26
|
+
- {item incluído no escopo}
|
|
27
|
+
- {item incluído no escopo}
|
|
28
|
+
|
|
29
|
+
**Não incluído:**
|
|
30
|
+
|
|
31
|
+
- {item explicitamente fora do escopo}
|
|
32
|
+
- {item explicitamente fora do escopo}
|
|
33
|
+
|
|
34
|
+
### 1.4 Critérios de Sucesso
|
|
35
|
+
|
|
36
|
+
- [ ] {Critério mensurável 1}
|
|
37
|
+
- [ ] {Critério mensurável 2}
|
|
38
|
+
- [ ] {Critério mensurável 3}
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## 2. Análise Técnica
|
|
43
|
+
|
|
44
|
+
### 2.1 Estado Atual (As-Is)
|
|
45
|
+
|
|
46
|
+
{Descreva como o sistema funciona hoje. Quais são os fluxos atuais? Quais componentes estão envolvidos?}
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
Fluxo atual (se aplicável):
|
|
50
|
+
1. {passo 1}
|
|
51
|
+
2. {passo 2}
|
|
52
|
+
3. {passo 3}
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### 2.2 Estado Proposto (To-Be)
|
|
56
|
+
|
|
57
|
+
{Descreva como o sistema funcionará após a implementação. Quais são as mudanças principais?}
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
Novo fluxo:
|
|
61
|
+
1. {passo 1}
|
|
62
|
+
2. {passo 2}
|
|
63
|
+
3. {passo 3}
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### 2.3 Componentes Impactados
|
|
67
|
+
|
|
68
|
+
| Componente | Caminho | Tipo de Mudança | Descrição da Mudança |
|
|
69
|
+
| ---------- | ------- | --------------- | -------------------- |
|
|
70
|
+
| {Nome} | {path} | 🆕 Criação | {descrição} |
|
|
71
|
+
| {Nome} | {path} | ✏️ Modificação | {descrição} |
|
|
72
|
+
| {Nome} | {path} | 🗑️ Remoção | {descrição} |
|
|
73
|
+
|
|
74
|
+
### 2.4 Padrões e Convenções a Seguir
|
|
75
|
+
|
|
76
|
+
| Padrão | Descrição | Referência no Projeto |
|
|
77
|
+
| ------------------ | ------------------------------ | -------------------------- |
|
|
78
|
+
| {nome do padrão} | {breve descrição} | {caminho/arquivo-exemplo} |
|
|
79
|
+
| {convenção de API} | {ex: REST, naming conventions} | {caminho/arquivo-exemplo} |
|
|
80
|
+
| {padrão de testes} | {ex: AAA, mocks} | {caminho/arquivo-exemplo} |
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## 3. Decisões Arquiteturais
|
|
85
|
+
|
|
86
|
+
### 3.1 Decisão: {Título da Decisão}
|
|
87
|
+
|
|
88
|
+
**Contexto:**
|
|
89
|
+
{Por que precisamos tomar esta decisão? Qual é o problema?}
|
|
90
|
+
|
|
91
|
+
**Opções Consideradas:**
|
|
92
|
+
|
|
93
|
+
| Opção | Descrição | Prós | Contras |
|
|
94
|
+
| ------- | --------- | ----------- | ----------- |
|
|
95
|
+
| Opção A | {desc} | {vantagens} | {problemas} |
|
|
96
|
+
| Opção B | {desc} | {vantagens} | {problemas} |
|
|
97
|
+
|
|
98
|
+
**Decisão:** {Opção escolhida}
|
|
99
|
+
|
|
100
|
+
**Justificativa:**
|
|
101
|
+
{Por que esta opção foi escolhida? Quais critérios pesaram na decisão?}
|
|
102
|
+
|
|
103
|
+
**Consequências:**
|
|
104
|
+
|
|
105
|
+
- {consequência positiva}
|
|
106
|
+
- {consequência negativa/trade-off}
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
### 3.2 Decisão: {Outra Decisão se houver}
|
|
111
|
+
|
|
112
|
+
{Repita a estrutura acima para cada decisão arquitetural importante}
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## 4. Dependências
|
|
117
|
+
|
|
118
|
+
### 4.1 Dependências Internas
|
|
119
|
+
|
|
120
|
+
| Módulo/Componente | Motivo da Dependência | Status |
|
|
121
|
+
| ----------------- | ---------------------- | ------------------- |
|
|
122
|
+
| {módulo} | {por que depende} | ✅ Existe / 🔄 Em desenvolvimento |
|
|
123
|
+
|
|
124
|
+
### 4.2 Dependências Externas
|
|
125
|
+
|
|
126
|
+
| Biblioteca/Serviço | Versão | Motivo | Já existe no projeto? |
|
|
127
|
+
| ------------------ | ------ | --------------------- | --------------------- |
|
|
128
|
+
| {biblioteca} | {ver} | {para que será usada} | ✅ Sim / ❌ Não |
|
|
129
|
+
|
|
130
|
+
### 4.3 Dependências de Outras Tasks
|
|
131
|
+
|
|
132
|
+
| Task | Descrição | Status |
|
|
133
|
+
| ------------ | ------------------- | ------------------- |
|
|
134
|
+
| {JIRA-XXX} | {o que precisa} | ✅ Concluída / 🔄 Em andamento |
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
## 5. Riscos e Mitigações
|
|
139
|
+
|
|
140
|
+
| ID | Risco | Probabilidade | Impacto | Mitigação | Plano B |
|
|
141
|
+
| --- | ------------------------- | ------------- | ------- | ---------------------- | ----------------- |
|
|
142
|
+
| R1 | {descrição do risco} | Alta/Média/Baixa | Alto/Médio/Baixo | {como mitigar} | {alternativa} |
|
|
143
|
+
| R2 | {descrição do risco} | Alta/Média/Baixa | Alto/Médio/Baixo | {como mitigar} | {alternativa} |
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
## 6. Considerações Técnicas
|
|
148
|
+
|
|
149
|
+
### 6.1 Segurança
|
|
150
|
+
|
|
151
|
+
- **Autenticação/Autorização:** {considerações}
|
|
152
|
+
- **Validação de Dados:** {considerações}
|
|
153
|
+
- **Dados Sensíveis:** {considerações}
|
|
154
|
+
- **OWASP:** {considerações relevantes}
|
|
155
|
+
|
|
156
|
+
### 6.2 Performance
|
|
157
|
+
|
|
158
|
+
- **Latência esperada:** {ex: < 200ms p95}
|
|
159
|
+
- **Throughput:** {ex: X req/s}
|
|
160
|
+
- **Otimizações planejadas:** {lista}
|
|
161
|
+
- **Pontos de atenção:** {gargalos potenciais}
|
|
162
|
+
|
|
163
|
+
### 6.3 Escalabilidade
|
|
164
|
+
|
|
165
|
+
- **Como escala horizontalmente:** {descrição}
|
|
166
|
+
- **Limitações conhecidas:** {lista}
|
|
167
|
+
|
|
168
|
+
### 6.4 Observabilidade
|
|
169
|
+
|
|
170
|
+
- **Logs necessários:** {lista de logs importantes}
|
|
171
|
+
- **Métricas:** {métricas a adicionar/monitorar}
|
|
172
|
+
- **Alertas:** {alertas a configurar}
|
|
173
|
+
|
|
174
|
+
### 6.5 Estratégia de Testes
|
|
175
|
+
|
|
176
|
+
> 💡 **Nota**: Se a feature tiver requisitos de performance ou segurança, esta seção deve ser preenchida pelo agente `eng.qa.test-architect` durante o `eng.start`.
|
|
177
|
+
|
|
178
|
+
#### 6.5.1 Tipos de Teste Necessários
|
|
179
|
+
|
|
180
|
+
| Tipo de Teste | O que testar | Cobertura Mínima | Prioridade |
|
|
181
|
+
| -------------- | ---------------------- | ---------------- | ---------- |
|
|
182
|
+
| Unitário | {funções/métodos} | {80%} | Alta |
|
|
183
|
+
| Integração | {endpoints/serviços} | {70%} | Média |
|
|
184
|
+
| E2E | {fluxos críticos} | {cenários} | {Alta/Média/Baixa} |
|
|
185
|
+
|
|
186
|
+
#### 6.5.2 Requisitos de Performance (se aplicável)
|
|
187
|
+
|
|
188
|
+
| Métrica | Threshold Aceitável | Como Medir |
|
|
189
|
+
| ----------------- | ------------------- | ----------------------- |
|
|
190
|
+
| Latência p95 | {< 200ms} | {Artillery/k6} |
|
|
191
|
+
| Throughput | {X req/s} | {ferramenta} |
|
|
192
|
+
| Tempo de resposta | {< Xms} | {ferramenta} |
|
|
193
|
+
|
|
194
|
+
> ⚠️ **Relacionado a**: Seção 6.2 (Performance)
|
|
195
|
+
|
|
196
|
+
#### 6.5.3 Requisitos de Segurança (se aplicável)
|
|
197
|
+
|
|
198
|
+
| Aspecto | O que validar | Como Testar |
|
|
199
|
+
| ----------------- | -------------------------------- | ----------------------- |
|
|
200
|
+
| RBAC | {permissões por role} | {testes automatizados} |
|
|
201
|
+
| Input Validation | {campos críticos} | {fuzzing/injection} |
|
|
202
|
+
| Autenticação | {endpoints protegidos} | {testes de acesso} |
|
|
203
|
+
|
|
204
|
+
> ⚠️ **Relacionado a**: Seção 6.1 (Segurança)
|
|
205
|
+
|
|
206
|
+
#### 6.5.4 Estrutura de Testes
|
|
207
|
+
|
|
208
|
+
```
|
|
209
|
+
{pasta de testes do projeto}/
|
|
210
|
+
├── unit/ # Testes unitários
|
|
211
|
+
├── integration/ # Testes de integração
|
|
212
|
+
├── e2e/ # Testes end-to-end
|
|
213
|
+
└── fixtures/ # Dados de teste
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
#### 6.5.5 Critérios de Aceite para Testes
|
|
217
|
+
|
|
218
|
+
- [ ] Cobertura mínima de {X%} para código novo
|
|
219
|
+
- [ ] Todos os cenários críticos cobertos por E2E
|
|
220
|
+
- [ ] Testes de regressão passando
|
|
221
|
+
- [ ] {Requisito específico de performance, se aplicável}
|
|
222
|
+
- [ ] {Requisito específico de segurança, se aplicável}
|
|
223
|
+
|
|
224
|
+
---
|
|
225
|
+
|
|
226
|
+
## 7. Diagrama de Arquitetura
|
|
227
|
+
|
|
228
|
+
```mermaid
|
|
229
|
+
graph TD
|
|
230
|
+
subgraph "Frontend"
|
|
231
|
+
A[Componente A] --> B[Componente B]
|
|
232
|
+
end
|
|
233
|
+
|
|
234
|
+
subgraph "Backend"
|
|
235
|
+
C[Service] --> D[Repository]
|
|
236
|
+
D --> E[(Database)]
|
|
237
|
+
end
|
|
238
|
+
|
|
239
|
+
B --> C
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
{Explique o diagrama se necessário}
|
|
243
|
+
|
|
244
|
+
---
|
|
245
|
+
|
|
246
|
+
## 8. Questões em Aberto
|
|
247
|
+
|
|
248
|
+
| ID | Questão | Responsável | Deadline | Status |
|
|
249
|
+
| --- | ------------------------------ | ----------- | -------- | -------- |
|
|
250
|
+
| Q1 | {questão ainda não respondida} | {quem} | {data} | 🔄 Aberta |
|
|
251
|
+
|
|
252
|
+
---
|
|
253
|
+
|
|
254
|
+
## 9. Referências
|
|
255
|
+
|
|
256
|
+
- [PRD/Requisitos]({link ou caminho})
|
|
257
|
+
- [Documentação relacionada]({link})
|
|
258
|
+
- [Código de referência]({caminho no projeto})
|
|
259
|
+
- [Documentação externa]({link})
|
|
260
|
+
|
|
261
|
+
---
|
|
262
|
+
|
|
263
|
+
## 10. Próximos Passos
|
|
264
|
+
|
|
265
|
+
Após aprovação deste documento:
|
|
266
|
+
|
|
267
|
+
1. [ ] Executar `eng.plan` para criar o plano detalhado de execução
|
|
268
|
+
2. [ ] Revisar subtarefas com o time
|
|
269
|
+
3. [ ] Executar `eng.work` para iniciar implementação
|
|
270
|
+
|
|
271
|
+
---
|
|
272
|
+
|
|
273
|
+
## Histórico de Revisões
|
|
274
|
+
|
|
275
|
+
| Data | Autor | Mudança |
|
|
276
|
+
| ------ | ------ | -------------------- |
|
|
277
|
+
| {data} | {nome} | Criação do documento |
|