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,185 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: eng.frontend-review
|
|
3
|
+
description: >
|
|
4
|
+
Workflow de revisão de código específico para PRs frontend: TypeScript, tokens,
|
|
5
|
+
acessibilidade, performance, micro frontend e design system.
|
|
6
|
+
Complementa o eng.review genérico com checklist frontend aprofundado.
|
|
7
|
+
author: jarvis-team
|
|
8
|
+
version: "1.0"
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Workflow: Revisão de Código Frontend
|
|
13
|
+
|
|
14
|
+
## Contexto
|
|
15
|
+
|
|
16
|
+
Use este workflow ao revisar PRs que envolvem componentes React, design system,
|
|
17
|
+
micro frontend ou qualquer código de interface.
|
|
18
|
+
|
|
19
|
+
**Skill de referência**: `eng-frontend`, `eng-design-system`, `eng-microfrontend`
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Como usar
|
|
24
|
+
|
|
25
|
+
Execute para um PR específico ou para um conjunto de arquivos:
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
# Ler arquivos alterados no PR
|
|
29
|
+
git diff origin/main...HEAD --name-only | grep -E "\.(tsx|ts|css|scss)$"
|
|
30
|
+
|
|
31
|
+
# Ler cada arquivo alterado antes de revisar
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Checklist de Revisão
|
|
37
|
+
|
|
38
|
+
### 1. TypeScript
|
|
39
|
+
|
|
40
|
+
- [ ] Sem `any` não documentado
|
|
41
|
+
- [ ] Sem `@ts-ignore` sem comentário explicativo
|
|
42
|
+
- [ ] Sem `!` (non-null assertion) sem verificação prévia
|
|
43
|
+
- [ ] Props exportadas para componentes públicos
|
|
44
|
+
- [ ] `strict: true` não relaxado
|
|
45
|
+
|
|
46
|
+
**Flags de atenção:**
|
|
47
|
+
```bash
|
|
48
|
+
grep -n "as any\|@ts-ignore\|@ts-expect-error\| \! " {arquivo}
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
### 2. Componentes
|
|
54
|
+
|
|
55
|
+
- [ ] Single Responsibility — componente faz uma coisa só
|
|
56
|
+
- [ ] Sem lógica de negócio acoplada ao componente de UI
|
|
57
|
+
- [ ] Sem fetch direto no componente (usar hooks ou Server Components)
|
|
58
|
+
- [ ] `forwardRef` em componentes com elemento DOM
|
|
59
|
+
- [ ] Estados visuais tratados: loading, erro, vazio
|
|
60
|
+
|
|
61
|
+
**Perguntas a fazer no review:**
|
|
62
|
+
- "Este componente pertence ao design system ou ao remote?"
|
|
63
|
+
- "Existe componente similar no design system que poderia ser usado?"
|
|
64
|
+
- "Esta lógica deveria estar em um hook?"
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
### 3. Tokens e Design System
|
|
69
|
+
|
|
70
|
+
- [ ] Cores via tokens semânticos (sem `#hex`, `rgb()`, `hsl()`)
|
|
71
|
+
- [ ] Espaçamentos via escala do design system (sem px hardcodados inline)
|
|
72
|
+
- [ ] Componentes reutilizáveis criados no design system, não duplicados por remote
|
|
73
|
+
- [ ] Variantes com `cva` (não condicionais de classe espalhadas)
|
|
74
|
+
|
|
75
|
+
**Flags de atenção:**
|
|
76
|
+
```bash
|
|
77
|
+
grep -n "#[0-9a-fA-F]\{3,6\}\|rgb(\|style={{" {arquivo}
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
### 4. Acessibilidade
|
|
83
|
+
|
|
84
|
+
- [ ] Semântica HTML correta (`<button>` para ações, `<a>` para navegação)
|
|
85
|
+
- [ ] Imagens com `alt` (informativas: descritivo; decorativas: `alt=""`)
|
|
86
|
+
- [ ] Formulários: `<label>` associado via `htmlFor` ou `aria-label`
|
|
87
|
+
- [ ] Erros de form com `role="alert"` ou `aria-live`
|
|
88
|
+
- [ ] Elementos interativos são navegáveis por teclado
|
|
89
|
+
- [ ] Focus visível — `outline` não removido sem substituto
|
|
90
|
+
|
|
91
|
+
**Flags de atenção:**
|
|
92
|
+
```bash
|
|
93
|
+
grep -n "outline-none\|outline: none\|tabIndex={-1}" {arquivo}
|
|
94
|
+
# outline-none do Tailwind em elementos interativos sem focus-visible alternativo
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
### 5. Performance
|
|
100
|
+
|
|
101
|
+
- [ ] Sem `useEffect` para fetch de dados (usar React Query / Server Components)
|
|
102
|
+
- [ ] Lazy loading em componentes pesados (`lazy()` + `<Suspense>`)
|
|
103
|
+
- [ ] Dependências novas justificadas (avaliar impacto no bundle)
|
|
104
|
+
- [ ] Memoização só onde necessário e comprovado (`memo`, `useMemo`, `useCallback`)
|
|
105
|
+
- [ ] Imagens com `width` e `height` definidos
|
|
106
|
+
|
|
107
|
+
**Perguntas a fazer:**
|
|
108
|
+
- "Este componente precisa ser Client Component, ou funciona como Server Component?"
|
|
109
|
+
- "Esta dependência nova já está no bundle ou é nova?"
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
### 6. Micro Frontend (se aplicável)
|
|
114
|
+
|
|
115
|
+
- [ ] Sem import direto de outro remote
|
|
116
|
+
- [ ] Comunicação via event bus ou props do shell
|
|
117
|
+
- [ ] Contrato de interface atualizado se houver mudança na API exposta
|
|
118
|
+
- [ ] Remote ainda funciona em modo standalone
|
|
119
|
+
|
|
120
|
+
**Flag de atenção:**
|
|
121
|
+
```bash
|
|
122
|
+
# Import entre remotes (nunca deve existir)
|
|
123
|
+
grep -n "from.*'apps/" {arquivo}
|
|
124
|
+
grep -n "from.*'remote" {arquivo}
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
### 7. Testes
|
|
130
|
+
|
|
131
|
+
- [ ] Testes para o happy path
|
|
132
|
+
- [ ] Testes para estado de erro
|
|
133
|
+
- [ ] Queries por acessibilidade (`getByRole`, `getByLabelText`)
|
|
134
|
+
- [ ] Sem `getByTestId` como primeira opção
|
|
135
|
+
- [ ] Sem `act()` manual desnecessário
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
### 8. Código Geral
|
|
140
|
+
|
|
141
|
+
- [ ] Sem `console.log` commitado
|
|
142
|
+
- [ ] Sem `TODO` sem issue associada
|
|
143
|
+
- [ ] Seguindo convenções de nomenclatura do projeto
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
grep -n "console\.log\|console\.error\|console\.warn" {arquivo}
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
## Classificação do Feedback
|
|
152
|
+
|
|
153
|
+
Use prefixos para clareza no review:
|
|
154
|
+
|
|
155
|
+
```
|
|
156
|
+
[bloqueante] — deve ser resolvido antes do merge
|
|
157
|
+
[sugestão] — melhoria não obrigatória, mas recomendada
|
|
158
|
+
[dúvida] — pergunta para entender melhor a decisão
|
|
159
|
+
[elogio] — destacar o que foi bem feito
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## Output do Review
|
|
165
|
+
|
|
166
|
+
```
|
|
167
|
+
## Review Frontend — {título do PR}
|
|
168
|
+
|
|
169
|
+
### Resumo
|
|
170
|
+
{1-3 linhas: qual é a mudança e qual o impacto geral}
|
|
171
|
+
|
|
172
|
+
### Pontos de atenção
|
|
173
|
+
{lista dos [bloqueante] encontrados}
|
|
174
|
+
|
|
175
|
+
### Sugestões
|
|
176
|
+
{lista dos [sugestão]}
|
|
177
|
+
|
|
178
|
+
### Dúvidas
|
|
179
|
+
{lista dos [dúvida]}
|
|
180
|
+
|
|
181
|
+
### Veredicto
|
|
182
|
+
[ ] Aprovado
|
|
183
|
+
[ ] Aprovado com ressalvas (sugestões não bloqueantes)
|
|
184
|
+
[ ] Mudanças necessárias (bloqueantes listados acima)
|
|
185
|
+
```
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Orienta desenvolvedores sobre cobertura de testes para uma feature ou PR
|
|
3
|
+
auto_execution_mode: 2
|
|
4
|
+
rules_file: "$IDE/rules/engineering/qa/eng.qa.cypress-standards-rules.md"
|
|
5
|
+
model_tier: medium
|
|
6
|
+
model_justification: Análise de código e geração de orientação estruturada
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# qa.dev-quality-guide
|
|
10
|
+
|
|
11
|
+
Analisa o código de um desenvolvedor e orienta sobre quais testes Cypress escrever,
|
|
12
|
+
usando os padrões do projeto. Não escreve o teste — guia e valida.
|
|
13
|
+
|
|
14
|
+
> 📋 **Rules**: `$IDE/rules/engineering/qa/eng.qa.cypress-standards-rules.md`
|
|
15
|
+
> 🔧 **Skill**: `eng-qa-dev-guide`
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Entrada
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
#$ARGUMENTS
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Aceita: caminho de arquivo(s), ID de task no $TASK_MANAGER, ou diff/PR em texto.
|
|
26
|
+
|
|
27
|
+
**Se não receber argumentos**, perguntar:
|
|
28
|
+
- Qual arquivo ou PR do dev você quer analisar?
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Execução
|
|
33
|
+
|
|
34
|
+
Invocar Skill tool: `eng-qa-dev-guide`
|
|
35
|
+
|
|
36
|
+
A skill irá:
|
|
37
|
+
1. Ler o código fornecido e mapear o que foi alterado/adicionado
|
|
38
|
+
2. Verificar quais specs de teste já existem para o domínio
|
|
39
|
+
3. Gerar análise de cobertura: o que está coberto vs. o que precisa de teste
|
|
40
|
+
4. Orientar sobre como estruturar cada cenário (setup, intercept, ação, asserção)
|
|
41
|
+
5. Indicar quais `data-testid` precisam ser adicionados
|
|
42
|
+
6. Entregar checklist acionável para o dev
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## Output
|
|
47
|
+
|
|
48
|
+
- Análise de cobertura: coberto vs. crítico vs. recomendado
|
|
49
|
+
- Orientação de implementação para cada cenário necessário
|
|
50
|
+
- Checklist de testes a implementar antes do merge
|
|
51
|
+
- Lista de `data-testid` pendentes no código
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Gera testes E2E Cypress a partir de uma feature, task ou spec
|
|
3
|
+
auto_execution_mode: 2
|
|
4
|
+
rules_file: "$IDE/rules/engineering/qa/eng.qa.cypress-standards-rules.md"
|
|
5
|
+
template_file: "$IDE/templates/engineering/qa/qa.cypress-test-template.md"
|
|
6
|
+
model_tier: high
|
|
7
|
+
model_justification: Requer análise de codebase, geração de Page Objects e specs completas
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# qa.e2e-test-generation
|
|
11
|
+
|
|
12
|
+
Gera testes E2E Cypress + TypeScript para uma feature a partir de spec, task ou descrição.
|
|
13
|
+
|
|
14
|
+
> 📋 **Rules**: `$IDE/rules/engineering/qa/eng.qa.cypress-standards-rules.md`
|
|
15
|
+
> 📤 **Template**: `$IDE/templates/engineering/qa/qa.cypress-test-template.md`
|
|
16
|
+
> 🔧 **Skill**: `eng-qa-cypress-e2e`
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Entrada
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
#$ARGUMENTS
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Aceita: caminho de spec/task, ID de task no $TASK_MANAGER, ou descrição do fluxo em linguagem natural.
|
|
27
|
+
|
|
28
|
+
**Se não receber argumentos**, perguntar:
|
|
29
|
+
- Qual feature ou fluxo deseja cobrir com testes E2E?
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Execução
|
|
34
|
+
|
|
35
|
+
Invocar Skill tool: `eng-qa-cypress-e2e`
|
|
36
|
+
|
|
37
|
+
A skill irá:
|
|
38
|
+
1. Mapear a estrutura de testes existente no projeto
|
|
39
|
+
2. Analisar o fluxo e identificar cenários (happy path, edge cases, negative tests)
|
|
40
|
+
3. Confirmar cenários com o QA antes de gerar
|
|
41
|
+
4. Gerar: Page Object + fixtures + custom commands (se necessário) + spec `.cy.ts`
|
|
42
|
+
5. Exibir checklist de `data-testid` que precisam ser adicionados ao código da aplicação
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## Output
|
|
47
|
+
|
|
48
|
+
- `{TEST_FOLDER}/e2e/{dominio}/{feature}.cy.ts` — spec gerada
|
|
49
|
+
- `{TEST_FOLDER}/support/pages/{Dominio}Page.ts` — Page Object (novo ou atualizado)
|
|
50
|
+
- `{TEST_FOLDER}/fixtures/{dominio}/*.json` — fixtures de intercept
|
|
51
|
+
- Checklist de `data-testid` pendentes no código da aplicação
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Conduz sessão de teste exploratório estruturada com charter, roteiro de risco e registro de achados
|
|
3
|
+
auto_execution_mode: 2
|
|
4
|
+
rules_file: "$IDE/rules/engineering/qa/eng.qa.exploratory-session-rules.md"
|
|
5
|
+
template_file: "$IDE/templates/engineering/qa/qa.exploratory-session-template.md"
|
|
6
|
+
model_tier: medium
|
|
7
|
+
model_justification: Análise de risco e estruturação de sessão — raciocínio moderado
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# qa.exploratory-session
|
|
11
|
+
|
|
12
|
+
Conduz ou documenta uma sessão de teste exploratório, gerando o doc de sessão estruturado
|
|
13
|
+
e criando cards de bug via `eng-qa-bug-report` ao final.
|
|
14
|
+
|
|
15
|
+
> 📋 **Rules**: `$IDE/rules/engineering/qa/eng.qa.exploratory-session-rules.md`
|
|
16
|
+
> 📤 **Template**: `$IDE/templates/engineering/qa/qa.exploratory-session-template.md`
|
|
17
|
+
> 🔧 **Skill**: `eng-qa-exploratory`
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Entrada
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
#$ARGUMENTS
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Aceita: nome da feature/módulo a explorar, ou caminho de doc de sessão já realizada.
|
|
28
|
+
|
|
29
|
+
**Se não receber argumentos**, a skill perguntará o modo desejado:
|
|
30
|
+
- `plan` — planejar sessão antes de executar
|
|
31
|
+
- `document` — registrar achados de sessão já realizada
|
|
32
|
+
- `report` — processar doc e criar bug cards
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Execução
|
|
37
|
+
|
|
38
|
+
Invocar Skill tool: `eng-qa-exploratory`
|
|
39
|
+
|
|
40
|
+
A skill irá (modo `plan`):
|
|
41
|
+
1. Coletar escopo, contexto, tempo disponível e ambiente
|
|
42
|
+
2. Analisar riscos e gerar hipóteses priorizadas
|
|
43
|
+
3. Criar doc de sessão em `$SESSIONS_DIR/qa/EXP-{YYYYMMDD}-{N}.md`
|
|
44
|
+
|
|
45
|
+
A skill irá (modo `document`):
|
|
46
|
+
1. Carregar doc de sessão existente
|
|
47
|
+
2. Coletar achados em linguagem natural do QA
|
|
48
|
+
3. Classificar severidade e preencher o documento
|
|
49
|
+
4. Acionar `eng-qa-bug-report` para bugs S1–S4
|
|
50
|
+
|
|
51
|
+
A skill irá (modo `report`):
|
|
52
|
+
1. Processar doc de sessão
|
|
53
|
+
2. Criar todos os cards de bug em batch via `eng-qa-bug-report`
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## Output
|
|
58
|
+
|
|
59
|
+
- `$SESSIONS_DIR/qa/EXP-{ID}.md` — documento de sessão estruturado
|
|
60
|
+
- Cards criados no $TASK_MANAGER para cada bug S1–S4
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Validação de quality gate de uma tech spec antes do breakdown de subtarefas
|
|
3
|
+
auto_execution_mode: 2
|
|
4
|
+
agent: "$IDE/agents/engineering/qa/eng.qa.quality-champion-task-agent.md"
|
|
5
|
+
rules_file: "$IDE/rules/engineering/qa/eng.qa.tech-spec-validation-criteria-rules.md"
|
|
6
|
+
recommended_model: claude-sonnet-4-20250514
|
|
7
|
+
model_tier: medium
|
|
8
|
+
model_justification: Validação estruturada de specs contra critérios definidos — não requer raciocínio arquitetural complexo
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Quality Gate - Tech Spec
|
|
12
|
+
|
|
13
|
+
## Skill recomendado
|
|
14
|
+
|
|
15
|
+
Use o skill `eng-qa-gate` como fonte de verdade para o processo de validação e formato de saída:
|
|
16
|
+
|
|
17
|
+
- Arquivo: `$IDE/skills/eng-qa-gate/SKILL.md`
|
|
18
|
+
|
|
19
|
+
## Agente Ativado
|
|
20
|
+
|
|
21
|
+
`$IDE/agents/engineering/qa/eng.qa.quality-champion-task-agent.md`
|
|
22
|
+
|
|
23
|
+
Este workflow ativa o **Quality Champion Agent**, especializado em validação de qualidade de tarefas Jira e especificações técnicas.
|
|
24
|
+
|
|
25
|
+
## Instrução
|
|
26
|
+
|
|
27
|
+
Você é o assistente especializado em Quality Assurance, atuando como um Quality Champion digital para validação de **Especificações Técnicas (Tech Specs)**. Seu papel é garantir que toda tech spec atenda aos padrões de qualidade estabelecidos antes de prosseguir para o breakdown de subtarefas.
|
|
28
|
+
|
|
29
|
+
## Seu Conhecimento Base
|
|
30
|
+
|
|
31
|
+
Você tem acesso completo ao:
|
|
32
|
+
|
|
33
|
+
- "Guia de Qualidade e Boas Práticas" do time
|
|
34
|
+
- Padrão de "Descrição de Bugs"
|
|
35
|
+
- Template de Tech Spec do time
|
|
36
|
+
|
|
37
|
+
Esses documentos definem os quality gates (pontos de bloqueio automático), processos, checklists e boas práticas adotados.
|
|
38
|
+
|
|
39
|
+
## Suas Responsabilidades
|
|
40
|
+
|
|
41
|
+
1. **Validar estrutura da Tech Spec**: Verificar se todos os elementos obrigatórios estão presentes e bem definidos
|
|
42
|
+
2. **Aplicar critérios de bloqueio**: Alertar quando algo não atende aos quality gates
|
|
43
|
+
3. **Promover qualidade**: Sugerir melhorias específicas e garantir que os checklists sejam seguidos
|
|
44
|
+
4. **Documentar análise**: Adicionar comentário detalhado no card do Jira com resultado da validação
|
|
45
|
+
5. **Classificar conformidade**: Adicionar label apropriada no card
|
|
46
|
+
|
|
47
|
+
## Como Você Deve Atuar
|
|
48
|
+
|
|
49
|
+
- Seja **objetivo e direto** ao validar estruturas
|
|
50
|
+
- Use os **templates e padrões** dos documentos como referência
|
|
51
|
+
- Aponte **claramente** quando algo não atende aos critérios de bloqueio
|
|
52
|
+
- Sugira **correções específicas** baseadas nos padrões documentados
|
|
53
|
+
- Mantenha o foco na **cultura de qualidade** e responsabilidade compartilhada
|
|
54
|
+
|
|
55
|
+
## Critérios de Validação
|
|
56
|
+
|
|
57
|
+
Os critérios completos de validação por tipo de card (Task, Spike, Bug) estão documentados em:
|
|
58
|
+
|
|
59
|
+
📋 **[Critérios de Validação de Tech Spec]($IDE/rules/engineering/qa/eng.qa.tech-spec-validation-criteria-rules.md)**
|
|
60
|
+
|
|
61
|
+
**Resumo dos principais critérios**:
|
|
62
|
+
|
|
63
|
+
### Tasks
|
|
64
|
+
|
|
65
|
+
- Descrição, Critérios de Aceitação, Cenários de Teste, Análise Técnica, Dependências
|
|
66
|
+
|
|
67
|
+
### Spikes
|
|
68
|
+
|
|
69
|
+
- Objetivo, **Referências de Discovery** (crítico!), Critérios de Conclusão, Contexto
|
|
70
|
+
|
|
71
|
+
### Bugs
|
|
72
|
+
|
|
73
|
+
- Descrição do Bug, Passos para Reproduzir, Análise Técnica, Severidade
|
|
74
|
+
|
|
75
|
+
## Sistema de Classificação
|
|
76
|
+
|
|
77
|
+
O sistema de pontuação e regras de bloqueio estão documentados em:
|
|
78
|
+
|
|
79
|
+
🎯 **[Regras de Classificação de Score]($IDE/rules/engineering/qa/eng.qa.quality-gate-scoring-rules.md)**
|
|
80
|
+
|
|
81
|
+
**Resumo das faixas**:
|
|
82
|
+
|
|
83
|
+
- **100%** → ✅ Conforme → `QualityGate::Conforme` → Pode prosseguir
|
|
84
|
+
- **50-99%** → ⚠️ Parcial → `QualityGate::Parcial` → Pode com ressalvas
|
|
85
|
+
- **< 50%** → 🚫 Bloqueado → `QualityGate::Bloqueado` → Não pode prosseguir
|
|
86
|
+
|
|
87
|
+
## Processo de Análise
|
|
88
|
+
|
|
89
|
+
Siga este fluxo para validar uma tech spec:
|
|
90
|
+
|
|
91
|
+
1. **Receber contexto do card** via parâmetros ou busca no Jira
|
|
92
|
+
- Incluir comentários para contexto adicional
|
|
93
|
+
|
|
94
|
+
2. **Identificar tipo do card** (Task, Spike ou Bug)
|
|
95
|
+
|
|
96
|
+
3. **Aplicar critérios específicos** do tipo identificado
|
|
97
|
+
- Consulte: [tech-spec-validation.md]($IDE/rules/engineering/qa/eng.qa.tech-spec-validation-criteria-rules.md)
|
|
98
|
+
|
|
99
|
+
4. **Calcular score de conformidade** (0-100%)
|
|
100
|
+
- Consulte: [score-classification.md]($IDE/rules/engineering/qa/eng.qa.quality-gate-scoring-rules.md)
|
|
101
|
+
|
|
102
|
+
5. **Estruturar análise** seguindo o template:
|
|
103
|
+
- Status (Conforme/Parcial/Bloqueado)
|
|
104
|
+
- Pontos positivos
|
|
105
|
+
- Problemas identificados (bloqueantes primeiro)
|
|
106
|
+
- Recomendações acionáveis
|
|
107
|
+
|
|
108
|
+
6. **Gerar comentário no Jira** seguindo o template padrão
|
|
109
|
+
|
|
110
|
+
7. **Adicionar label de Quality Gate** apropriada
|
|
111
|
+
|
|
112
|
+
## Formato de Resposta
|
|
113
|
+
|
|
114
|
+
Use o template padrão de comentário documentado em:
|
|
115
|
+
|
|
116
|
+
📝 **[Template de Comentário]($IDE/templates/engineering/qa/eng.qa.quality-gate-report-template.md)**
|
|
117
|
+
|
|
118
|
+
**Estrutura base**:
|
|
119
|
+
|
|
120
|
+
```markdown
|
|
121
|
+
## 🎯 Quality Gate - Tech Spec
|
|
122
|
+
|
|
123
|
+
**Status**: [✅/⚠️/🚫]
|
|
124
|
+
**Score**: X/100
|
|
125
|
+
**Tipo de Card**: [Task/Spike/Bug]
|
|
126
|
+
|
|
127
|
+
### ✅ Pontos Positivos
|
|
128
|
+
|
|
129
|
+
### 🚫 Problemas Identificados
|
|
130
|
+
|
|
131
|
+
### 🔧 Recomendações
|
|
132
|
+
|
|
133
|
+
### 📚 Referência
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
## Exemplos de Análise
|
|
137
|
+
|
|
138
|
+
Para referência de como estruturar análises em diferentes cenários, consulte:
|
|
139
|
+
|
|
140
|
+
💡 **[Exemplos de Análise]($IDE/templates/engineering/qa/eng.qa.quality-gate-examples-template.md)**
|
|
141
|
+
|
|
142
|
+
Disponíveis:
|
|
143
|
+
|
|
144
|
+
- Task Conforme (100%)
|
|
145
|
+
- Spike Bloqueado (30%)
|
|
146
|
+
- Bug Parcial (70%)
|
|
147
|
+
- Task Parcial - Faltam Testes (80%)
|
|
148
|
+
|
|
149
|
+
## Labels de Quality Gate
|
|
150
|
+
|
|
151
|
+
Adicione UMA das seguintes labels após análise:
|
|
152
|
+
|
|
153
|
+
- `QualityGate::Conforme` - Score 100% (todos os critérios obrigatórios atendidos)
|
|
154
|
+
- `QualityGate::Parcial` - Score 50-99% (alguns critérios obrigatórios faltando)
|
|
155
|
+
- `QualityGate::Bloqueado` - Score < 50% (muitos critérios críticos faltando)
|
|
156
|
+
|
|
157
|
+
**IMPORTANTE**: Apenas cards com `QualityGate::Conforme` podem prosseguir para o breakdown de subtarefas.
|
|
158
|
+
|
|
159
|
+
## Estilo de Comunicação
|
|
160
|
+
|
|
161
|
+
- Respostas **objetivas** e de fácil entendimento para engenheiros seniores
|
|
162
|
+
- **Markdown** com estruturação clara
|
|
163
|
+
- Foco nos **gaps** e **ações necessárias**
|
|
164
|
+
- Sem excesso de formalidade
|
|
165
|
+
- **SEM menções** - removidas do processo
|
|
166
|
+
- Use checkboxes para facilitar acompanhamento de correções
|
|
167
|
+
|
|
168
|
+
## Fluxo de Execução no Workflow Automático
|
|
169
|
+
|
|
170
|
+
Este prompt é executado automaticamente pelo workflow `build_tech_spec` na etapa de Quality Gate:
|
|
171
|
+
|
|
172
|
+
1. **Load da Tech Spec** - Carregada da sessão
|
|
173
|
+
2. **Validação** - Você analisa seguindo os critérios
|
|
174
|
+
3. **Geração de JSON** - Você retorna resultado estruturado:
|
|
175
|
+
```json
|
|
176
|
+
{
|
|
177
|
+
"status": "Conforme|Parcial|Bloqueado",
|
|
178
|
+
"score": 0-100,
|
|
179
|
+
"analysis": "Análise completa em Markdown"
|
|
180
|
+
}
|
|
181
|
+
```
|
|
182
|
+
4. **Processamento Automático**:
|
|
183
|
+
- Label adicionada automaticamente
|
|
184
|
+
- Comentário publicado no Jira
|
|
185
|
+
- Se Conforme → Prossegue para Breakdown
|
|
186
|
+
- Se Parcial/Bloqueado → Workflow para
|
|
187
|
+
|
|
188
|
+
## Lembrete Final
|
|
189
|
+
|
|
190
|
+
Seu objetivo é assegurar que cada tech spec mantenha o alto padrão de qualidade estabelecido pelo time, **sem criar sobrecarga**, mas **garantindo excelência técnica** e **clareza para implementação**.
|
|
191
|
+
|
|
192
|
+
Uma tech spec bem validada economiza tempo de desenvolvimento, reduz retrabalho e aumenta a previsibilidade das entregas.
|
|
193
|
+
|
|
194
|
+
---
|
|
195
|
+
|
|
196
|
+
## Referências Rápidas
|
|
197
|
+
|
|
198
|
+
- 📋 [Critérios de Validação]($IDE/rules/engineering/qa/eng.qa.tech-spec-validation-criteria-rules.md)
|
|
199
|
+
- 🎯 [Regras de Score]($IDE/rules/engineering/qa/eng.qa.quality-gate-scoring-rules.md)
|
|
200
|
+
- 📝 [Template de Comentário]($IDE/templates/engineering/qa/eng.qa.quality-gate-report-template.md)
|
|
201
|
+
- 💡 [Exemplos Práticos]($IDE/templates/engineering/qa/eng.qa.quality-gate-examples-template.md)
|
|
202
|
+
- 📚 Wiki - Processos (consultar documentação interna do projeto)
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Gera relatório de qualidade consolidado para uma sprint ou release
|
|
3
|
+
auto_execution_mode: 2
|
|
4
|
+
rules_file: "$IDE/rules/engineering/qa/eng.qa.exploratory-session-rules.md"
|
|
5
|
+
template_file: "$IDE/templates/engineering/qa/qa.quality-report-template.md"
|
|
6
|
+
model_tier: medium
|
|
7
|
+
model_justification: Consolidação de dados locais e síntese analítica
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# qa.quality-report
|
|
11
|
+
|
|
12
|
+
Consolida sessões exploratórias, bug reports e quality gates do período e gera
|
|
13
|
+
relatório de qualidade em markdown pronto para publicar.
|
|
14
|
+
|
|
15
|
+
> 📤 **Template**: `$IDE/templates/engineering/qa/qa.quality-report-template.md`
|
|
16
|
+
> 🔧 **Skill**: `eng-qa-quality-report`
|
|
17
|
+
|
|
18
|
+
> ⚠️ **Skill pendente (Fase 5)**: `eng-qa-quality-report` ainda não foi implementada.
|
|
19
|
+
> Será criada após ciclos reais de uso das skills `eng-qa-cypress-e2e`, `eng-qa-exploratory` e `eng-qa-dev-guide`.
|
|
20
|
+
> Por enquanto, ao invocar este workflow o agente deve avisar o usuário e sugerir consolidação manual
|
|
21
|
+
> usando o template `$TEMPLATES_FOLDER/engineering/qa/qa.quality-report-template.md`.
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Entrada
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
#$ARGUMENTS
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Aceita: período em texto livre (ex: "Sprint 42", "release 1.4", "abril/2026").
|
|
32
|
+
|
|
33
|
+
**Se não receber argumentos**, perguntar:
|
|
34
|
+
- Qual período deseja cobrir no relatório? (ex: Sprint N, release X.Y, mês)
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Execução
|
|
39
|
+
|
|
40
|
+
Invocar Skill tool: `eng-qa-quality-report`
|
|
41
|
+
|
|
42
|
+
A skill irá:
|
|
43
|
+
1. Localizar docs do período em `$SESSIONS_DIR/qa/`
|
|
44
|
+
2. Localizar bug reports relacionados (via $TASK_MANAGER ou docs locais)
|
|
45
|
+
3. Consolidar métricas: sessões, bugs por severidade, quality gates, cobertura E2E
|
|
46
|
+
4. Identificar tendências e áreas de risco
|
|
47
|
+
5. Gerar relatório usando o template de quality report
|
|
48
|
+
6. Salvar em `$DOCS_FOLDER/engineering/qa/reports/QA-REPORT-{SQUAD}-{PERIODO}.md`
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## Output
|
|
53
|
+
|
|
54
|
+
- `$DOCS_FOLDER/engineering/qa/reports/QA-REPORT-{SQUAD}-{PERIODO}.md` — relatório completo
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## Publicação no Central Docs (condicional)
|
|
59
|
+
|
|
60
|
+
Se `CENTRAL_DOCS_REPO` estiver configurado no ENV.md:
|
|
61
|
+
|
|
62
|
+
1. Verificar se o relatório tem frontmatter válido (period, squad, version)
|
|
63
|
+
2. Perguntar ao usuário: "Publicar relatório no central-docs?"
|
|
64
|
+
3. Se sim:
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
jarvis docs publish \
|
|
68
|
+
--file $DOCS_FOLDER/engineering/qa/reports/QA-REPORT-{SQUAD}-{PERIODO}.md \
|
|
69
|
+
--tipo qa-report \
|
|
70
|
+
--feature {squad}-{periodo-slug}
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Exemplo de feature slug: `core-sprint-42`, `checkout-release-1-4`
|
|
74
|
+
|
|
75
|
+
- ✅ Sucesso: "Relatório publicado no central-docs. MR criado: [URL]"
|
|
76
|
+
- ❌ Erro de frontmatter: orientar o usuário a preencher os campos `period`, `squad` e `version`
|
|
77
|
+
- ℹ️ Recusou: "Para publicar depois, execute: `jarvis docs publish --file {caminho} --tipo qa-report --feature {slug}`"
|
|
78
|
+
|
|
79
|
+
Se `CENTRAL_DOCS_REPO` não estiver definido:
|
|
80
|
+
- Informar: "Para habilitar publicação automática, configure `CENTRAL_DOCS_REPO` no ENV.md"
|
|
81
|
+
|
|
82
|
+
> **Nota**: A publicação cria um Merge Request no GitLab. O relatório só será visível no central-docs após aprovação e merge do MR.
|
|
83
|
+
> O destino no central-docs é: `{SQUAD}/{PRODUCT}/engineering/qa/qa-report-{feature}.md`
|