jarvis-ai-framework 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (240) hide show
  1. package/AGENTS.md +416 -0
  2. package/LICENSE +21 -0
  3. package/README.md +190 -0
  4. package/agents/AGENTS.md +234 -0
  5. package/agents/README.md +309 -0
  6. package/agents/engineering/data/eng.data-engineer.agent.md +309 -0
  7. package/agents/engineering/eng.agent.md +303 -0
  8. package/agents/engineering/eng.bug-hunter.md +386 -0
  9. package/agents/engineering/eng.cybersecurity.agent.md +503 -0
  10. package/agents/engineering/eng.dev-code-reviewer.md +148 -0
  11. package/agents/engineering/eng.docs-writer.md +152 -0
  12. package/agents/engineering/eng.frontend.agent.md +117 -0
  13. package/agents/engineering/eng.rpa.agent.md +215 -0
  14. package/agents/engineering/eng.tech-analyst.agent.md +102 -0
  15. package/agents/engineering/eng.ux-designer.agent.md +193 -0
  16. package/agents/engineering/qa/eng.qa.cypress-specialist.md +109 -0
  17. package/agents/engineering/qa/eng.qa.quality-champion-task-agent.md +85 -0
  18. package/agents/engineering/qa/eng.qa.quality-strategist.md +111 -0
  19. package/agents/engineering/qa/eng.qa.test-architect.md +400 -0
  20. package/agents/engineering/qa/eng.qa.test-planner.md +477 -0
  21. package/agents/engineering/qa/eng.qa.testing-engineer.md +339 -0
  22. package/agents/product/prod.pm-checker.md +52 -0
  23. package/bin/commands/docs-publish.js +184 -0
  24. package/bin/commands/docs-sync.js +139 -0
  25. package/bin/commands/info.js +87 -0
  26. package/bin/commands/init.js +237 -0
  27. package/bin/commands/install-rtk.js +90 -0
  28. package/bin/commands/list.js +48 -0
  29. package/bin/commands/qa-signoff.js +112 -0
  30. package/bin/commands/whoami.js +43 -0
  31. package/bin/jarvis.js +159 -0
  32. package/bin/lib/auth/session.js +56 -0
  33. package/bin/lib/config/constants.js +123 -0
  34. package/bin/lib/config/ide-config.js +233 -0
  35. package/bin/lib/core/scanner.js +124 -0
  36. package/bin/lib/core/sync-engine.js +551 -0
  37. package/bin/lib/docs/fetch-file.sh +41 -0
  38. package/bin/lib/docs/publish-file.sh +284 -0
  39. package/bin/lib/docs/validate-frontmatter.js +157 -0
  40. package/bin/lib/env-loader.js +198 -0
  41. package/bin/lib/tasks/comment.js +131 -0
  42. package/bin/lib/utils/git-parser.js +145 -0
  43. package/bin/lib/utils/logger.js +104 -0
  44. package/bin/lib/utils/npmrc-parser.js +106 -0
  45. package/bin/lib/utils/paths.js +55 -0
  46. package/bin/lib/utils/ui.js +59 -0
  47. package/bin/lib/vcs/api.js +312 -0
  48. package/bin/lib/vcs/create-issue.js +43 -0
  49. package/bin/lib/vcs/create-merge.js +43 -0
  50. package/bin/lib/vcs/fetch-raw.js +30 -0
  51. package/bin/postinstall.js +41 -0
  52. package/members.md +25 -0
  53. package/package.json +55 -0
  54. package/rules/AGENTS.md +205 -0
  55. package/rules/engineering/data/data-rules.md +200 -0
  56. package/rules/engineering/eng-rules.md +243 -0
  57. package/rules/engineering/eng-security-rules.md +186 -0
  58. package/rules/engineering/eng.breakdown-subtasks-rules.md +585 -0
  59. package/rules/engineering/eng.bump-rules.md +27 -0
  60. package/rules/engineering/eng.docs-scraping-rules.md +64 -0
  61. package/rules/engineering/eng.downstream-flow-rules.md +297 -0
  62. package/rules/engineering/eng.integrations-rules.md +73 -0
  63. package/rules/engineering/eng.plan-rules.md +333 -0
  64. package/rules/engineering/eng.pr-rules.md +359 -0
  65. package/rules/engineering/eng.pre-pr-rules.md +103 -0
  66. package/rules/engineering/eng.start-rules.md +246 -0
  67. package/rules/engineering/eng.tech-spec-rules.md +968 -0
  68. package/rules/engineering/eng.work-rules.md +312 -0
  69. package/rules/engineering/frontend/eng.frontend-rules.md +147 -0
  70. package/rules/engineering/qa/eng.qa.cypress-standards-rules.md +259 -0
  71. package/rules/engineering/qa/eng.qa.exploratory-session-rules.md +137 -0
  72. package/rules/engineering/qa/eng.qa.quality-gate-scoring-rules.md +181 -0
  73. package/rules/engineering/qa/eng.qa.tech-spec-validation-criteria-rules.md +120 -0
  74. package/rules/engineering/rpa/eng.rpa-rules.md +230 -0
  75. package/rules/product/README.md +24 -0
  76. package/rules/product/prod-rules.md +151 -0
  77. package/rules/rtk-rules.md +68 -0
  78. package/skills/AGENTS.md +290 -0
  79. package/skills/SKILLS-ROADMAP.md +333 -0
  80. package/skills/churn-audit/SKILL.md +385 -0
  81. package/skills/context-detect/SKILL.md +399 -0
  82. package/skills/context-detect/assets/context-profile-template.md +127 -0
  83. package/skills/docs-central/README.md +310 -0
  84. package/skills/docs-central/SKILL.md +423 -0
  85. package/skills/docs-index/SKILL.md +377 -0
  86. package/skills/eng-ai-engineer/SKILL.md +296 -0
  87. package/skills/eng-arch-c4/SKILL.md +358 -0
  88. package/skills/eng-arch-c4/assets/example-code.md +189 -0
  89. package/skills/eng-arch-c4/assets/example-component.md +105 -0
  90. package/skills/eng-arch-c4/assets/example-container.md +104 -0
  91. package/skills/eng-arch-c4/assets/example-context.md +81 -0
  92. package/skills/eng-backend/SKILL.md +776 -0
  93. package/skills/eng-browser-extension-builder/SKILL.md +385 -0
  94. package/skills/eng-cybersecurity/SKILL.md +645 -0
  95. package/skills/eng-data-bi/SKILL.md +199 -0
  96. package/skills/eng-data-debug/SKILL.md +307 -0
  97. package/skills/eng-data-engineer/SKILL.md +256 -0
  98. package/skills/eng-data-onboard/SKILL.md +310 -0
  99. package/skills/eng-data-orchestrator/SKILL.md +426 -0
  100. package/skills/eng-design-system/SKILL.md +619 -0
  101. package/skills/eng-docs-write/SKILL.md +312 -0
  102. package/skills/eng-frontend/SKILL.md +913 -0
  103. package/skills/eng-jira-comment/SKILL.md +17 -0
  104. package/skills/eng-microfrontend/SKILL.md +602 -0
  105. package/skills/eng-ms-trace/SKILL.md +469 -0
  106. package/skills/eng-nestjs/SKILL.md +791 -0
  107. package/skills/eng-performance-engineer/SKILL.md +312 -0
  108. package/skills/eng-pr/SKILL.md +339 -0
  109. package/skills/eng-qa-a11y-audit/SKILL.md +269 -0
  110. package/skills/eng-qa-bug-report/SKILL.md +1088 -0
  111. package/skills/eng-qa-bug-report/TASK_MANAGERS.md +138 -0
  112. package/skills/eng-qa-cypress-e2e/SKILL.md +177 -0
  113. package/skills/eng-qa-dev-guide/SKILL.md +164 -0
  114. package/skills/eng-qa-e2e/SKILL.md +400 -0
  115. package/skills/eng-qa-e2e-spec-writer/SKILL.md +322 -0
  116. package/skills/eng-qa-exploratory/SKILL.md +188 -0
  117. package/skills/eng-qa-gate/SKILL.md +370 -0
  118. package/skills/eng-qa-gate/assets/checklist-validacao.md +291 -0
  119. package/skills/eng-qa-graphql-contract/SKILL.md +256 -0
  120. package/skills/eng-qa-quality-report/SKILL.md +412 -0
  121. package/skills/eng-qa-test-plan/SKILL.md +466 -0
  122. package/skills/eng-qa-test-plan/assets/test-coverage-template.md +92 -0
  123. package/skills/eng-qa-test-plan/assets/test-patterns.md +178 -0
  124. package/skills/eng-qa-testsprite/SKILL.md +325 -0
  125. package/skills/eng-qa-testsprite/references/testsprite-mcp.md +224 -0
  126. package/skills/eng-qa-unit-test/SKILL.md +471 -0
  127. package/skills/eng-rabbitmq/SKILL.md +661 -0
  128. package/skills/eng-scraper/SKILL.md +683 -0
  129. package/skills/eng-scraper-robot-builder/SKILL.md +370 -0
  130. package/skills/eng-security-patch/SKILL.md +378 -0
  131. package/skills/eng-security-triage/SKILL.md +266 -0
  132. package/skills/eng-task-comment/SKILL.md +60 -0
  133. package/skills/eng-tech-analyst/SKILL.md +529 -0
  134. package/skills/eng-threat-model/SKILL.md +161 -0
  135. package/skills/init-jarvis/SKILL.md +1304 -0
  136. package/skills/init-jarvis/assets/mcp-configs.md +389 -0
  137. package/skills/init-jarvis/assets/onboarding-checklist.md +104 -0
  138. package/skills/init-jarvis/assets/setup-guide.md +360 -0
  139. package/skills/lovable-prompt-generator/SKILL.md +304 -0
  140. package/skills/prod-roadmap-report/README.md +303 -0
  141. package/skills/prod-roadmap-report/SKILL.md +198 -0
  142. package/skills/prod-roadmap-report/commands/status.compiled.single.team.md +23 -0
  143. package/skills/prod-roadmap-report/commands/status.list.projects.md +17 -0
  144. package/skills/prod-roadmap-report/commands/status.memory.md +192 -0
  145. package/skills/prod-roadmap-report/commands/status.roadmap.preview.md +94 -0
  146. package/skills/prod-roadmap-report/references/detailed-guide.md +236 -0
  147. package/skills/prod-roadmap-report/rules/detailed-guide.md +237 -0
  148. package/skills/prod-roadmap-report/rules/status-report-rules.md +44 -0
  149. package/skills/prod-roadmap-report/templates/template-multiple-teams-compiled-status.md +53 -0
  150. package/skills/prod-roadmap-report/templates/template-projects-list.md +23 -0
  151. package/skills/prod-roadmap-report/templates/template-single-team-compiled-status.md +60 -0
  152. package/skills/prod-roadmap-report/templates/template-single-team-status.md +49 -0
  153. package/skills/prod-specs/SKILL.md +108 -0
  154. package/skills/prod-specs/references/prod.spec.clarify.md +176 -0
  155. package/skills/prod-specs/references/prod.spec.epic.md +107 -0
  156. package/skills/prod-specs/references/prod.spec.frd.md +135 -0
  157. package/skills/prod-specs/references/prod.spec.issue.md +145 -0
  158. package/skills/prod-specs/references/prod.spec.prd.md +118 -0
  159. package/skills/prod-specs/rules/prod-spec-rules.md +186 -0
  160. package/skills/prod-specs/templates/prod-breakdown-template.md +136 -0
  161. package/skills/prod-specs/templates/prod-epic-template.md +76 -0
  162. package/skills/prod-specs/templates/prod-frd-template.md +172 -0
  163. package/skills/prod-specs/templates/prod-issue-template.md +68 -0
  164. package/skills/prod-specs/templates/prod-prd-full-template.md +159 -0
  165. package/skills/prod-specs/templates/prod-prd-template.md +173 -0
  166. package/skills/prod-specs-update/SKILL.md +272 -0
  167. package/skills/report-issue/SKILL.md +156 -0
  168. package/taxonomy.md +270 -0
  169. package/templates/AGENTS.md +189 -0
  170. package/templates/CDD aplicado a Prompts.md +182 -0
  171. package/templates/ENV-template.md +187 -0
  172. package/templates/engineering/AGENTS-template.md +71 -0
  173. package/templates/engineering/ARD-template.md +193 -0
  174. package/templates/engineering/CONTACTS-template.md +135 -0
  175. package/templates/engineering/PR-template.md +40 -0
  176. package/templates/engineering/RFC-Playbook.md +325 -0
  177. package/templates/engineering/RFC-template.md +199 -0
  178. package/templates/engineering/architecture-template.md +277 -0
  179. package/templates/engineering/breakdown-subtasks-template.md +582 -0
  180. package/templates/engineering/c4-model-template.md +516 -0
  181. package/templates/engineering/data-contract-template.md +135 -0
  182. package/templates/engineering/data-pipeline-template.md +163 -0
  183. package/templates/engineering/plan-template.md +255 -0
  184. package/templates/engineering/qa/eng.qa.quality-gate-examples-template.md +311 -0
  185. package/templates/engineering/qa/eng.qa.quality-gate-report-template.md +249 -0
  186. package/templates/engineering/qa/qa.cypress-test-template.md +172 -0
  187. package/templates/engineering/qa/qa.exploratory-session-template.md +148 -0
  188. package/templates/engineering/qa/qa.quality-report-template.md +130 -0
  189. package/templates/engineering/qa/qa.release-signoff-template.md +54 -0
  190. package/templates/engineering/qa/qa.sprint-plan-template.md +49 -0
  191. package/templates/engineering/swagger-template.md +145 -0
  192. package/templates/engineering/tech-spec-template.md +497 -0
  193. package/templates/engineering/work-progress-template.md +155 -0
  194. package/workflows/AGENTS.md +240 -0
  195. package/workflows/README.md +160 -0
  196. package/workflows/all-tools.md +11 -0
  197. package/workflows/engineering/data/data.contract.md +202 -0
  198. package/workflows/engineering/data/data.new-pipeline.md +234 -0
  199. package/workflows/engineering/eng.breakdown-subtasks.md +420 -0
  200. package/workflows/engineering/eng.bug-audit.md +591 -0
  201. package/workflows/engineering/eng.build-tech-spec.md +1116 -0
  202. package/workflows/engineering/eng.create-ard-from-code.md +259 -0
  203. package/workflows/engineering/eng.create-ard.md +382 -0
  204. package/workflows/engineering/eng.create-rfc.md +245 -0
  205. package/workflows/engineering/eng.debug.md +479 -0
  206. package/workflows/engineering/eng.docs.md +40 -0
  207. package/workflows/engineering/eng.light-arch.md +84 -0
  208. package/workflows/engineering/eng.plan.md +213 -0
  209. package/workflows/engineering/eng.pr.md +466 -0
  210. package/workflows/engineering/eng.pre-pr.md +167 -0
  211. package/workflows/engineering/eng.review.md +185 -0
  212. package/workflows/engineering/eng.rpa.robot.md +342 -0
  213. package/workflows/engineering/eng.security-audit.md +312 -0
  214. package/workflows/engineering/eng.security-incident.md +275 -0
  215. package/workflows/engineering/eng.security-pipeline.md +210 -0
  216. package/workflows/engineering/eng.security-review.md +235 -0
  217. package/workflows/engineering/eng.start.md +494 -0
  218. package/workflows/engineering/eng.work.md +558 -0
  219. package/workflows/engineering/frontend/eng.frontend-component.md +190 -0
  220. package/workflows/engineering/frontend/eng.frontend-perf-audit.md +375 -0
  221. package/workflows/engineering/frontend/eng.frontend-review.md +185 -0
  222. package/workflows/engineering/qa/eng.qa-dev-quality-guide.md +51 -0
  223. package/workflows/engineering/qa/eng.qa-e2e-test-generation.md +51 -0
  224. package/workflows/engineering/qa/eng.qa-exploratory-session.md +60 -0
  225. package/workflows/engineering/qa/eng.qa-quality-gate-validation.md +202 -0
  226. package/workflows/engineering/qa/eng.qa-quality-report.md +83 -0
  227. package/workflows/engineering/qa/eng.qa-refinement-entry.md +83 -0
  228. package/workflows/engineering/qa/eng.qa-release-signoff.md +170 -0
  229. package/workflows/engineering/qa/eng.qa-sprint-planning.md +100 -0
  230. package/workflows/engineering/ta/eng.ta.atendimento.md +93 -0
  231. package/workflows/product/prod.roadmap.preview.md +110 -0
  232. package/workflows/product/prod.spec.breakdown.md +163 -0
  233. package/workflows/product/prod.spec.clarify.md +178 -0
  234. package/workflows/product/prod.spec.epic.md +154 -0
  235. package/workflows/product/prod.spec.frd.md +96 -0
  236. package/workflows/product/prod.spec.issue.md +145 -0
  237. package/workflows/product/prod.spec.md +60 -0
  238. package/workflows/product/prod.spec.prd.md +100 -0
  239. package/workflows/taxonomy.md +92 -0
  240. package/workflows/warm-up.md +574 -0
@@ -0,0 +1,193 @@
1
+ # 🧱 ARD Template — Architecture Requirement Document
2
+
3
+ **Arquivo:** /docs/engineering/ARD/ARD-xxx-nome-da-arquitetura.md
4
+
5
+ ---
6
+
7
+ ## 🏗️ ARD-[número] — [Título da Arquitetura]
8
+
9
+ **Status:** Proposta / Em desenvolvimento / Em validação / Finalizada
10
+ **Data:** [dd/mm/yyyy]
11
+ **Autor:** [Tech Lead / Arquiteto responsável]
12
+ **Revisores:** [Chapter Leads, Eng. de Plataforma, etc.]
13
+ **Relacionado a:** [RFC-xxx], [FRD-xxx], [PRD-xxx]
14
+ **Versão:** [1.0]
15
+
16
+ ---
17
+
18
+ ### 🔗 Referência ao PRD (obrigatório quando existir)
19
+
20
+ - **Referência:** PRD-xxx – [Título]
21
+ - **Arquivo/rota:** [link ou caminho do arquivo do PRD]
22
+
23
+ #### Legenda (tipos de requisito)
24
+
25
+ - **RF**: Requisito Funcional (comportamento/capacidade do sistema)
26
+ - **NFR**: Requisito Não Funcional (qualidade: performance, disponibilidade, segurança, etc.)
27
+ - **Restrição**: Limitação obrigatória (técnica/negócio/infra/processo) que guia a solução
28
+ - **SLA**: Service Level Agreement (meta/compromisso mensurável de nível de serviço)
29
+ - **Métrica**: Indicador de sucesso/monitoramento (KPI/SLI) usado para medir resultado
30
+
31
+ #### Requisitos do PRD consumidos diretamente por este ARD
32
+
33
+ | ID | Tipo (RF/NFR/Restrição/SLA/Métrica) | Origem (FRD/PRD) | Descrição | Como impacta a arquitetura |
34
+ |----|-------------------------------------|------------------|-----------|----------------------------|
35
+
36
+ ### 🎯 Objetivo
37
+ <!-- Descreva o propósito e metas técnicas -->
38
+
39
+ ---
40
+
41
+ ### 🚫 O que não é papel deste ARD
42
+
43
+ - Redefinir objetivo de produto
44
+ - Mudar regra de negócio
45
+ - Criar feature nova “porque tecnicamente é melhor”
46
+ - Discutir roadmap ou priorização
47
+
48
+ > Se algo disso aparecer, é sinal de PRD mal definido ou incompleto. Pausar e validar com Produto/usuário antes de seguir.
49
+
50
+ ---
51
+
52
+ ### 🧠 Premissas e Restrições
53
+
54
+ - Deve operar dentro do cluster GKE atual
55
+ - Sem dependência de serviços externos
56
+ - Limite de CPU total de 6vCPU
57
+
58
+ ---
59
+
60
+ ### ⚙️ Desenho da Arquitetura
61
+
62
+ ```mermaid
63
+ graph TD
64
+ A[Prometheus] -->|export metrics| B[Controller]
65
+ B -->|ajusta concorrência| C[RabbitMQ]
66
+ C --> D[Workers]
67
+ B -->|salva estado| E[Redis]
68
+ ```
69
+
70
+ ---
71
+
72
+ ### 🧩 Componentes Principais
73
+
74
+ | Componente | Função | Responsável |
75
+ |-------------|--------|--------------|
76
+
77
+ ---
78
+
79
+ ### 🔄 Fluxos de Dados
80
+
81
+ | Fluxo | Origem | Destino | Dados | Garantias (ordem/entrega) |
82
+ |------|--------|---------|------|----------------------------|
83
+
84
+ ---
85
+
86
+ ### 🔌 Integrações
87
+
88
+ | Integração | Tipo | Direção | Autenticação/Autorização | Observações |
89
+ |----------|------|---------|---------------------------|-------------|
90
+
91
+ ---
92
+
93
+ ### 📜 Contratos (APIs, eventos, filas)
94
+
95
+ #### APIs
96
+
97
+ | Endpoint | Método | Request | Response | Erros | Autenticação | Observações |
98
+ |----------|--------|---------|----------|-------|--------------|-------------|
99
+
100
+ #### Eventos
101
+
102
+ | Evento | Publisher | Consumers | Schema/Versão | Chave de idempotência | Observações |
103
+ |-------|-----------|-----------|---------------|------------------------|-------------|
104
+
105
+ #### Filas / Tópicos
106
+
107
+ | Recurso | Tipo | Producer | Consumers | DLQ/Retry | Ordenação | Observações |
108
+ |---------|------|----------|-----------|----------|-----------|-------------|
109
+
110
+ ---
111
+
112
+ ### 🔐 Segurança e Compliance
113
+
114
+ - Autenticação via Service Account GCP
115
+ - Secrets gerenciados pelo Secret Manager
116
+ - Logs e métricas auditáveis no Stackdriver
117
+
118
+ ---
119
+
120
+ ### 📊 Métricas e Observabilidade
121
+
122
+ - queue_backlog_total
123
+ - rebalance_iterations
124
+ - consumer_restarts
125
+
126
+ ---
127
+
128
+ ### ⚖️ Escalabilidade e Resiliência
129
+
130
+ - Controlador roda em pod único com HPA mínimo 1 / máximo 3
131
+ - Retry backoff exponencial
132
+ - Fallback para configuração manual via Redis
133
+
134
+ ---
135
+
136
+ ### 🧠 Decisões Técnicas e Trade-offs
137
+
138
+ | Decisão | Referência no PRD (RF/NFR/Restrição/SLA/Métrica) | Alternativas consideradas | Trade-offs | Decisão final |
139
+ |--------|-----------------------------------------------|----------------------------|------------|--------------|
140
+
141
+ ---
142
+
143
+ ### ⚔️ Riscos e Mitigações
144
+
145
+ | Risco | Mitigação |
146
+ |-------|------------|
147
+
148
+ ---
149
+
150
+ ### ✅ Critérios de Sucesso
151
+
152
+ - Redistribuição dinâmica < 30s
153
+ - Nenhum downtime detectado
154
+ - Redução ≥ 25% no tempo médio de fila
155
+ - Logs e métricas funcionais
156
+
157
+ ---
158
+
159
+ ### 🧩 Roadmap Técnico
160
+
161
+ | Etapa | Responsável | Status |
162
+ |-------|--------------|--------|
163
+
164
+ ---
165
+
166
+ ### 🏗️ Como vamos construir isso de forma segura, escalável e sustentável?
167
+
168
+ #### Segurança
169
+
170
+ | Medida | Como aplicar | Validação |
171
+ |--------|-------------|----------|
172
+
173
+ #### Escalabilidade
174
+
175
+ | Medida | Como aplicar | Validação |
176
+ |--------|-------------|----------|
177
+
178
+ #### Sustentabilidade (manutenção e evolução)
179
+
180
+ | Medida | Como aplicar | Validação |
181
+ |--------|-------------|----------|
182
+
183
+ ---
184
+
185
+ ### 🧩 Anexos
186
+
187
+ - [RFC-xxx](../RFC/RFC-xxx.md)
188
+ - [AVD-xxx](../AVD/AVD-xxx.md)
189
+
190
+ ---
191
+
192
+ ### 🏁 Conclusão
193
+ <!-- Resumo da decisão arquitetural final -->
@@ -0,0 +1,135 @@
1
+ Contatos Importantes
2
+
3
+ > Lista de pessoas-chave do time e quando procurá-las.
4
+
5
+ Membros do Time
6
+
7
+ > Esta seção é atualizada automaticamente quando alguém executa `/init-jarvis`.
8
+
9
+ | Nome | Cargo | Área | Hub | Email |
10
+ |------|-------|------|-----|-------|
11
+ <!-- MEMBERS_START -->
12
+ <!-- MEMBERS_END -->
13
+
14
+ Liderança
15
+
16
+ | Nome | Cargo | Responsabilidade | Quando Procurar | Contato |
17
+ |------|-------|------------------|-----------------|---------|
18
+ | [Nome] | Tech Lead | Decisões técnicas, arquitetura | Dúvidas de design, bloqueios técnicos | @slack |
19
+ | [Nome] | Product Owner | Requisitos, priorização | Dúvidas sobre features, escopo | @slack |
20
+ | [Nome] | Engineering Manager | Processos, carreira | :s, feedback, processos | @slack |
21
+ | [Nome] | QA Lead | Qualidade, testes | Estratégia de testes, bugs críticos | @slack |
22
+
23
+ Especialistas
24
+
25
+ | Área | Nome | Quando Procurar |
26
+ |------|------|-----------------|
27
+ | Backend | [Nome] | APIs, performance, banco de dados |
28
+ | Frontend | [Nome] | UI/UX, componentes, estado |
29
+ | DevOps | [Nome] | CI/CD, infraestrutura, deploy |
30
+ | Segurança | [Nome] | Vulnerabilidades, autenticação |
31
+ | Data | [Nome] | Analytics, relatórios, BI |
32
+
33
+ Canais de Comunicação
34
+
35
+ Chat (`$MESSAGE_COMUNICATOR`)
36
+
37
+ | Canal | Propósito |
38
+ |-------|-----------|
39
+ | `squad-{nome}` | Comunicação geral do squad |
40
+ | `squad-{nome}-dev` | Discussões técnicas |
41
+ | `squad-{nome}-alerts` | Alertas de produção |
42
+ | `engineering` | Engenharia geral |
43
+ | `help-devops` | Suporte de infraestrutura |
44
+
45
+ Reuniões Recorrentes
46
+
47
+ | Reunião | Frequência | Horário | Participantes |
48
+ |---------|------------|---------|---------------|
49
+ | Daily | Diária | : | Todo o squad |
50
+ | Planning | Quinzenal | Segunda : | Todo o squad |
51
+ | Retro | Quinzenal | Sexta : | Todo o squad |
52
+ | Tech Review | Semanal | Quarta : | Engenharia |
53
+ | : com EM | Quinzenal | A definir | Você + EM |
54
+
55
+ Escalação
56
+
57
+ Problemas Técnicos
58
+
59
+ ```
60
+ . Tentar resolver sozinho (- min)
61
+
62
+ . Pedir ajuda no canal tech-{nome-do-squad}
63
+
64
+ . Escalar para Tech Lead
65
+
66
+ . Escalar para Specialist
67
+
68
+ . Escalar para Head of Tech
69
+
70
+ Recomendação: ler o playbook de tomada de decisões em tecnologia do time (wiki / docs internos)
71
+ ```
72
+
73
+ Incidentes em Produção
74
+
75
+ ```
76
+ . Alertar no canal squad-{nome}-alerts
77
+
78
+ . Acionar pessoa de plantão (PagerDuty)
79
+
80
+ . Seguir runbook de incidentes
81
+
82
+ . Postmortem após resolução
83
+ ```
84
+
85
+ Acessos Necessários
86
+
87
+ Checklist de Acessos
88
+
89
+ | Sistema | Responsável | Como Solicitar |
90
+ |---------|-------------|----------------|
91
+ | Controle de versão (`$VERSION_CONTROL`) | Tech Lead | Pedir no chat do time |
92
+ | Task manager (`$TASK_MANAGER`) | EM | Ticket / canal de acessos |
93
+ | Cloud console | DevOps | Ticket / canal de acessos |
94
+ | Observabilidade (`$OBSERVABILITY`) | DevOps | Pedir no canal de infra |
95
+ | Chat (`$MESSAGE_COMUNICATOR`) | EM | Pedir no chat do time |
96
+ | VPN | Infra | Ticket / canal de acessos |
97
+
98
+ Credenciais de Desenvolvimento
99
+
100
+ | Recurso | Como Obter |
101
+ |---------|------------|
102
+ | Banco de dados (dev) | `.env.example` + pedir senha no chat do time |
103
+ | APIs externas (sandbox) | Documentação interna |
104
+ | Tokens de teste | Vault ou Password do time |
105
+
106
+ Links Úteis
107
+
108
+ | Recurso | Link |
109
+ |---------|------|
110
+ | Board do squad | `{TASK_MANAGER_URL_BASE}` |
111
+ | Repositório | URL do `$VERSION_CONTROL` do projeto |
112
+ | Documentação | `$DOCS_FOLDER/` |
113
+ | Runbooks | `docs/runbooks/` |
114
+ | Postmortems | `docs/postmortems/` |
115
+ | Wiki | URL da wiki da organização |
116
+
117
+ Dicas de Comunicação
118
+
119
+ . Seja específico - "Estou com erro X no arquivo Y" > "Não funciona"
120
+ . Mostre o que tentou - Demonstra esforço e ajuda a diagnosticar
121
+ . Use threads - Mantém o canal organizado
122
+ . Marque pessoas - Se precisar de alguém específico, @mencione
123
+ . Documente - Se a resposta pode ajudar outros, documente
124
+
125
+ Primeiro Contato
126
+
127
+ Ao entrar no time, apresente-se no canal `squad-{nome}`:
128
+
129
+ ```
130
+ Olá! Sou [Nome], novo [Cargo] do squad.
131
+ Venho de [Experiência anterior].
132
+ Meus interesses são [X, Y, Z].
133
+ Podem me encontrar no chat do time ou [outro contato].
134
+ Animado para trabalhar com vocês!
135
+ ```
@@ -0,0 +1,40 @@
1
+ ## Descrição
2
+
3
+ Descreva de forma sucinta o objetivo do MR
4
+
5
+ ## Tarefas Relacionadas
6
+
7
+ - [ ] [TASK-ID]({TASK_MANAGER_URL_BASE}/browse/TASK-ID)
8
+
9
+ ## Mudanças Propostas
10
+
11
+ - Mudança 1
12
+ - Mudança 2
13
+ - Mudança n
14
+
15
+ ## Testes Realizados
16
+
17
+ Descrição dos testes realizados
18
+
19
+ ## Revisores
20
+
21
+ - @
22
+ - @
23
+ - @
24
+
25
+ ## Observações Específicas
26
+
27
+ - Capturas de telas;
28
+ - Contexto que ajude a revisar do código
29
+
30
+ ## Checklist de Revisão
31
+
32
+ - [ ] As mudanças estão alinhadas com os requisitos da tarefa do Jira.
33
+ - [ ] Os testes unitários/funcionais propostos foram executados e passaram.
34
+ - [ ] O código segue as convenções de estilo da empresa.
35
+ - [ ] A documentação foi atualizada, se necessário.
36
+ - [ ] A solução não causa impactos negativos em outras áreas do sistema.
37
+ - [ ] Não há erros ou advertências nas análises de qualidade de código.
38
+ - [ ] A solicitação de merge foi revisada por pelo menos um revisor.
39
+
40
+ ## Linked Issues
@@ -0,0 +1,325 @@
1
+ # Versão: 1.0
2
+
3
+ Escopo: Engineering Core e Squads.
4
+
5
+ Objetivo: Alinhar a criação de soluções de acordo com a visão de Tencologia. Este playbook é um artefato vivo e pode evoluir conforme a maturidade da engenharia.
6
+
7
+ ## Objetivo
8
+
9
+ Este playbook define **como RFCs são usados na prática**, quais são os **papéis, responsabilidades, expectativas e regras** para garantir:
10
+
11
+ * Uso eficiente de energia do time
12
+ * Decisões técnicas claras
13
+ * Menos retrabalho
14
+ * Governança sem burocracia
15
+ * Escalabilidade do processo de engenharia
16
+
17
+ \
18
+ RFC neste contexto **não é um documento de ideia** e **não é uma etapa isolada**. RFC é o **fio condutor da decisão**, do problema até a aprovação técnica.
19
+
20
+
21
+ ---
22
+
23
+ ## O que é um RFC (no nosso modelo)
24
+
25
+ RFC é um **container vivo de decisão técnica**, que:
26
+
27
+ * Pode ser aberto e evoluir junto com PRD e FRD se for necessário
28
+ * Não decide nada no início
29
+ * Só é fechado após maturidade suficiente de PRD e FRD para permitir uma decisão consciente
30
+ * Registra comentários, trade-offs e a decisão final
31
+
32
+
33
+ ---
34
+
35
+ ## Visão Geral do Fluxo
36
+
37
+ ```none
38
+ [Ideia ou problema]
39
+ ↓
40
+ RFC (Draft — aberto)
41
+ ↓
42
+ PRD (visão de produto)
43
+ ↓
44
+ FRD (comportamento funcional)
45
+ ↓
46
+ RFC (review + convergência + decisão)
47
+ ↓
48
+ ARD (arquitetura)
49
+ ↓
50
+ Implementação
51
+ ↓
52
+ AVD (validação pós-implementação)
53
+ ```
54
+
55
+ ---
56
+
57
+ ## Estados do RFC e significado
58
+
59
+ | Status | Significado | Energia esperada |
60
+ |----|----|----|
61
+ | Draft | Investigação inicial | Muito baixa |
62
+ | In Review | PRD/FRD existem | Baixa |
63
+ | Ready for Decision | Marcar agenda para apresentar o documento final | Média |
64
+ | Accepted | Autorizado a implementar | Alta |
65
+ | Rejected | Decisão de não seguir | Encerrada |
66
+ | Superseded | Substituído | Encerrada |
67
+
68
+
69
+ ---
70
+
71
+ ## Papéis e Responsabilidades
72
+
73
+ ### 1. Proponente (Dev, TL, PM, etc.)
74
+
75
+ **Responsabilidades**
76
+
77
+ * Detectar o problema ou oportunidade
78
+ * Abrir o RFC em status `Draft`
79
+ * Garantir que o PRD já esteja criado
80
+ * Manter o RFC atualizado com links corretos
81
+
82
+ **O que NÃO é esperado**
83
+
84
+ * Propor solução técnica cedo
85
+ * Defender arquitetura
86
+ * Forçar aprovação
87
+
88
+
89
+ ---
90
+
91
+ ### 2. Produto (PM / PO)
92
+
93
+ **Responsabilidades**
94
+
95
+ * Validar o problema e a hipótese
96
+ * Garantir clareza do PRD
97
+ * Ajudar a definir escopo e fora de escopo
98
+ * Alinhar indicadores de sucesso
99
+
100
+ **O que NÃO é esperado**
101
+
102
+ * Definir stack
103
+ * Influenciar decisões técnicas
104
+
105
+
106
+ ---
107
+
108
+ ### 3. Engenharia
109
+
110
+ **Responsabilidades**
111
+
112
+ * Avaliar viabilidade técnica
113
+ * Avaliar e contemplar todos os documentos PRD/FRD
114
+ * Explicitar trade-offs e riscos
115
+ * Referenciar corretamente o RFC
116
+
117
+ **O que NÃO é esperado**
118
+
119
+ * Decidir sozinho
120
+ * Começar implementação sem RFC Accepted
121
+
122
+
123
+ ---
124
+
125
+ ### 4. Reviewers (TLs / Engineering Core)
126
+
127
+ **Responsabilidades**
128
+
129
+ * Ler o RFC
130
+ * Comentar no RFC na ferramenta selecionada (não em chats ou meets soltos)
131
+ * Avaliar riscos, custos, escalabilidade e operação e alinhamento estratégico
132
+ * Ajudar a amadurecer a decisão
133
+ * Ver o vinculo com os OKRs que estão sendo executados no quarter
134
+
135
+ **O que NÃO é esperado**
136
+
137
+ * Redesenhar solução sem base
138
+ * Trazer opiniões sem leitura prévia
139
+
140
+
141
+ ---
142
+
143
+ ### 5. Decisores (TL / Core / Head / CTO)
144
+
145
+ **Responsabilidades**
146
+
147
+ * Avaliar o conjunto (RFC)
148
+ * Tomar decisão explícita
149
+ * Registrar condições, se houver
150
+ * Fechar o RFC
151
+
152
+ **O que NÃO é esperado**
153
+
154
+ * Decidir sem artefatos
155
+ * Reabrir discussões após aceite
156
+
157
+
158
+ ---
159
+
160
+ ## Regras de Ouro (não negociáveis)
161
+
162
+ * ❌ RFC não pode ser Accepted sem clareza arquitetural suficiente
163
+ * ❌ Implementação não começa sem RFC `Accepted`
164
+ * ❌ Decisões não acontecem em chats privados
165
+ * ✅ RFC pode permanecer aberta enquanto PRD e FRD evoluem
166
+ * ✅ Energia investida cresce conforme maturidade
167
+
168
+
169
+ ---
170
+
171
+ ## Boas Práticas
172
+
173
+ * RFC curto e objetivo
174
+ * Comentários registrados no RFC
175
+ * Decisão explícita sempre
176
+ * Trade-offs documentados
177
+ * Pendências com owner e prazo
178
+ * Se você já sabe o “como”, não é RFC.
179
+ * Se você ainda discute alternativas, é RFC.
180
+ * Se durante a elaboração de um ARD surgir uma dúvida estrutural ou alternativa relevante, o ARD deve ser pausado e a discussão movida novamente para a RFC.
181
+
182
+
183
+ ---
184
+
185
+ ## Anti-Padrões (evitar)
186
+
187
+ * RFC como brainstorm
188
+ * RFC como checklist burocrático
189
+ * RFC aprovado “no verbal”
190
+ * Arquitetura decidida antes do ARD
191
+ * Implementação iniciada sem aceite
192
+
193
+
194
+ ---
195
+
196
+ ## Lembretes Culturais
197
+
198
+ * Se você já sabe **como** implementar, isso não é RFC.
199
+ * Se ainda existem alternativas relevantes, isso **é** RFC.
200
+ * Decisões importantes não acontecem fora deste documento.
201
+
202
+
203
+ ---
204
+
205
+ ## Quando uma RFC é obrigatória (regra de ouro)
206
+
207
+ RFC **não é para tudo**. Uma RFC é **obrigatória** se **qualquer** item abaixo for verdadeiro:
208
+
209
+ ### Critérios objetivos (use como checklist)
210
+
211
+ * Impacta **mais de uma squad**
212
+ * Altera **arquitetura**, **padrões técnicos** ou **infra**
213
+ * Introduz **nova dependência crítica** (serviço, lib, vendor)
214
+ * Afeta **custo recorrente** (cloud, APIs, licenças)
215
+ * Muda **SLA, SLO ou contratos técnicos**
216
+ * Pode gerar **lock-in** ou dívida técnica relevante
217
+ * Envolve **dados sensíveis / compliance**
218
+ * Vai virar **padrão reutilizável**
219
+
220
+ ### Não exige RFC:
221
+
222
+ * Refactors locais
223
+ * Correções pontuais
224
+ * Features isoladas sem impacto sistêmico
225
+
226
+ \
227
+ ## Passo a Passo para apertura de um RFC
228
+
229
+ ### 🧩 Passo 1 — Criação da RFC
230
+
231
+ **Quem cria:**
232
+
233
+ * TL, Staff, Principal, Head ou qualquer dev **que proponha a mudança**
234
+
235
+ **Onde:**
236
+
237
+ * Repositório único na Wiki
238
+ * Seguir o template estabelecido `RFC-template.md`
239
+
240
+ **Formato:**
241
+
242
+ * Markdown
243
+ * ID sequencial: RFC-001, RFC-002, etc.
244
+
245
+ **Status inicial:** Draft
246
+
247
+
248
+ ---
249
+
250
+ ### 🧩 Passo 2 — Divulgação obrigatória
251
+
252
+ A RFC **não vale se ninguém souber que ela existe**.
253
+
254
+ **Checklist mínimo:**
255
+
256
+ * Link compartilhado no Slack (#tech-rfcs)
257
+ * Menção aos revisores obrigatórios
258
+ * Data limite para comentários (ex: D+5)
259
+
260
+ Exemplo de mensagem padrão no Slack:
261
+
262
+ > 📄 Nova RFC aberta: RFC-023 — Redistribuição dinâmica de concorrência\nComentários até: 10/11\nRevisores: @plataforma @backend @infra
263
+
264
+
265
+ ---
266
+
267
+ ### 🧩 Passo 3 — Discussão assíncrona (regra crítica)
268
+
269
+ **Regras claras:**
270
+
271
+ * Comentários **no documento**, não no privado
272
+ * Opiniões **com argumento técnico**
273
+ * Discordância é esperada e desejada
274
+
275
+ **Anti-padrões proibidos:**
276
+
277
+ * Decidir tudo em call fechada
278
+ * “Já implementamos, depois documentamos”
279
+ * Aprovação sem leitura
280
+
281
+
282
+ ---
283
+
284
+ ### 🧩 Passo 4 — Decisão formal
285
+
286
+ Após o prazo:
287
+
288
+ * O **dono da RFC** consolida os comentários
289
+ * Registra a decisão final no próprio documento
290
+
291
+ Possíveis decisões:
292
+
293
+ * ✅ Aprovada
294
+ * ⚠️ Aprovada com ressalvas
295
+ * ❌ Rejeitada
296
+ * 🔄 Retornar para ajustes
297
+
298
+ ⚠️ **Regra importante**\nDecisão **sempre documentada**, mesmo se for “não vamos fazer”.
299
+
300
+
301
+ ---
302
+
303
+ ### 🧩 Passo 5 — Gate para implementação
304
+
305
+ Regra simples e poderosa:
306
+
307
+ > ❌ **Não existe implementação relevante sem RFC aprovada**
308
+
309
+ Tecnicamente:
310
+
311
+ * Link da RFC vira **pré-requisito do ARD**
312
+ * PRs grandes devem referenciar a RFC
313
+
314
+
315
+ ## Conclusão
316
+
317
+ > RFC existe para **proteger o time de fazer implementações eficientes**
318
+
319
+ Seguir este playbook garante:
320
+
321
+ * Menos desgaste
322
+ * Menos retrabalho
323
+ * Mais clareza
324
+ * Decisões escaláveis
325
+