up-cc 0.16.1 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/README.md +87 -577
  2. package/package.json +5 -3
  3. package/up/CHANGELOG.md +110 -0
  4. package/up/agents/up-arquiteto.md +95 -39
  5. package/up/agents/up-auditor.md +218 -0
  6. package/up/agents/up-executor.md +94 -31
  7. package/up/agents/up-mapeador-codigo.md +63 -10
  8. package/up/agents/up-pesquisador.md +278 -0
  9. package/up/agents/up-revisor.md +249 -0
  10. package/up/agents/up-sintetizador.md +156 -179
  11. package/up/agents/up-tester.md +280 -0
  12. package/up/agents/up-verificador.md +95 -11
  13. package/up/bin/install.js +182 -19
  14. package/up/bin/lib/core.cjs +17 -43
  15. package/up/bin/lib/github.cjs +495 -0
  16. package/up/bin/lib/multica.cjs +424 -0
  17. package/up/bin/up-tools.cjs +167 -46
  18. package/up/commands/auditar.md +66 -0
  19. package/up/commands/build.md +54 -43
  20. package/up/commands/depurar.md +1 -1
  21. package/up/commands/plan.md +52 -38
  22. package/up/commands/rapido.md +15 -9
  23. package/up/commands/testar.md +81 -122
  24. package/up/commands/up.md +106 -0
  25. package/up/hooks/up-session-start.js +107 -0
  26. package/up/references/engineering-principles.md +1 -1
  27. package/up/references/governance-rules.md +5 -5
  28. package/up/references/production-requirements.md +1 -1
  29. package/up/references/severity-levels.md +2 -2
  30. package/up/references/tdd-evidence-types.md +81 -0
  31. package/up/skills/up-brainstorm/SKILL.md +39 -0
  32. package/up/skills/up-tdd/SKILL.md +39 -0
  33. package/up/skills/up-verificar-antes-de-concluir/SKILL.md +49 -0
  34. package/up/skills/usando-up/SKILL.md +26 -0
  35. package/up/templates/audit-plan.md +3 -3
  36. package/up/templates/audit-report.md +2 -2
  37. package/up/templates/design-tokens.md +2 -2
  38. package/up/workflows/auditar.md +255 -0
  39. package/up/workflows/build.md +600 -386
  40. package/up/workflows/dcrv.md +183 -99
  41. package/up/workflows/governance.md +112 -220
  42. package/up/workflows/plan.md +169 -399
  43. package/up/workflows/rapido.md +7 -1
  44. package/up/workflows/up.md +447 -0
  45. package/up/agents/up-analista-codigo.md +0 -446
  46. package/up/agents/up-api-tester.md +0 -405
  47. package/up/agents/up-architecture-supervisor.md +0 -126
  48. package/up/agents/up-audit-supervisor.md +0 -83
  49. package/up/agents/up-auditor-modernidade.md +0 -378
  50. package/up/agents/up-auditor-performance.md +0 -426
  51. package/up/agents/up-auditor-ux.md +0 -396
  52. package/up/agents/up-backend-specialist.md +0 -175
  53. package/up/agents/up-blind-validator.md +0 -259
  54. package/up/agents/up-chief-architect.md +0 -184
  55. package/up/agents/up-chief-engineer.md +0 -202
  56. package/up/agents/up-chief-operations.md +0 -123
  57. package/up/agents/up-chief-product.md +0 -103
  58. package/up/agents/up-chief-quality.md +0 -211
  59. package/up/agents/up-clone-crawler.md +0 -234
  60. package/up/agents/up-clone-design-extractor.md +0 -227
  61. package/up/agents/up-clone-feature-mapper.md +0 -225
  62. package/up/agents/up-clone-prd-writer.md +0 -169
  63. package/up/agents/up-clone-verifier.md +0 -227
  64. package/up/agents/up-code-reviewer.md +0 -229
  65. package/up/agents/up-consolidador-ideias.md +0 -493
  66. package/up/agents/up-database-specialist.md +0 -169
  67. package/up/agents/up-delivery-auditor.md +0 -247
  68. package/up/agents/up-devops-agent.md +0 -203
  69. package/up/agents/up-execution-supervisor.md +0 -315
  70. package/up/agents/up-exhaustive-tester.md +0 -348
  71. package/up/agents/up-frontend-specialist.md +0 -152
  72. package/up/agents/up-operations-supervisor.md +0 -94
  73. package/up/agents/up-pesquisador-mercado.md +0 -350
  74. package/up/agents/up-pesquisador-projeto.md +0 -358
  75. package/up/agents/up-planning-auditor.md +0 -284
  76. package/up/agents/up-planning-supervisor.md +0 -260
  77. package/up/agents/up-product-analyst.md +0 -192
  78. package/up/agents/up-product-supervisor.md +0 -83
  79. package/up/agents/up-project-ceo.md +0 -352
  80. package/up/agents/up-qa-agent.md +0 -171
  81. package/up/agents/up-quality-supervisor.md +0 -178
  82. package/up/agents/up-requirements-validator.md +0 -230
  83. package/up/agents/up-security-reviewer.md +0 -137
  84. package/up/agents/up-sintetizador-melhorias.md +0 -407
  85. package/up/agents/up-system-designer.md +0 -332
  86. package/up/agents/up-technical-writer.md +0 -188
  87. package/up/agents/up-verification-supervisor.md +0 -111
  88. package/up/agents/up-visual-critic.md +0 -358
  89. package/up/commands/adicionar-fase.md +0 -47
  90. package/up/commands/adicionar-testes.md +0 -145
  91. package/up/commands/ajuda.md +0 -176
  92. package/up/commands/atualizar.md +0 -103
  93. package/up/commands/clone-builder.md +0 -67
  94. package/up/commands/configurar.md +0 -219
  95. package/up/commands/custos.md +0 -67
  96. package/up/commands/dashboard.md +0 -48
  97. package/up/commands/discutir-fase.md +0 -35
  98. package/up/commands/executar-fase.md +0 -40
  99. package/up/commands/ideias.md +0 -49
  100. package/up/commands/iniciar.md +0 -31
  101. package/up/commands/mapear-codigo.md +0 -63
  102. package/up/commands/melhorias.md +0 -45
  103. package/up/commands/mobile-first.md +0 -71
  104. package/up/commands/modo-builder.md +0 -186
  105. package/up/commands/novo-projeto.md +0 -40
  106. package/up/commands/onboard.md +0 -69
  107. package/up/commands/pausar.md +0 -33
  108. package/up/commands/planejar-fase.md +0 -45
  109. package/up/commands/progresso.md +0 -33
  110. package/up/commands/remover-fase.md +0 -34
  111. package/up/commands/resetar.md +0 -27
  112. package/up/commands/retomar.md +0 -35
  113. package/up/commands/saude.md +0 -103
  114. package/up/commands/ux-tester.md +0 -63
  115. package/up/commands/verificar-trabalho.md +0 -35
  116. package/up/workflows/adicionar-fase.md +0 -112
  117. package/up/workflows/builder-e2e.md +0 -501
  118. package/up/workflows/builder.md +0 -3419
  119. package/up/workflows/ceo-intake.md +0 -305
  120. package/up/workflows/ceo-updates.md +0 -183
  121. package/up/workflows/clone-builder.md +0 -320
  122. package/up/workflows/discutir-fase.md +0 -336
  123. package/up/workflows/executar-fase.md +0 -358
  124. package/up/workflows/executar-plano.md +0 -659
  125. package/up/workflows/ideias.md +0 -381
  126. package/up/workflows/iniciar.md +0 -235
  127. package/up/workflows/melhorias.md +0 -409
  128. package/up/workflows/mobile-first.md +0 -692
  129. package/up/workflows/novo-projeto.md +0 -778
  130. package/up/workflows/planejar-fase.md +0 -293
  131. package/up/workflows/progresso.md +0 -226
  132. package/up/workflows/retomar.md +0 -231
  133. package/up/workflows/ux-tester.md +0 -526
  134. package/up/workflows/verificar-trabalho.md +0 -308
@@ -1,358 +0,0 @@
1
- ---
2
- name: up-visual-critic
3
- description: Avalia qualidade visual de cada pagina — alinhamento, espacamento, consistencia, hierarquia, contraste. Usa 3 camadas (CSS extraction + screenshot + checklist estruturado). Gera issues visuais com evidencia.
4
- tools: Read, Write, Bash, Grep, Glob, mcp__plugin_playwright_playwright__*
5
- color: magenta
6
- ---
7
-
8
- <role>
9
- Voce e o Visual Critic UP — o olho de designer do pipeline de qualidade.
10
-
11
- Voce NAO implementa codigo. Voce AVALIA a qualidade visual de cada pagina do sistema e produz um relatorio estruturado de issues com evidencia (screenshots + dados CSS).
12
-
13
- Seu objetivo: garantir que o sistema parece profissional, consistente e polido. Nao "funciona" apenas — parece BOM.
14
-
15
- **CRITICO: Leitura Inicial Obrigatoria**
16
- Se o prompt contem um bloco `<files_to_read>`, voce DEVE usar a ferramenta `Read` para carregar cada arquivo listado antes de qualquer outra acao.
17
- </role>
18
-
19
- <philosophy>
20
- ## Por que Visual Critic?
21
-
22
- IAs constroem interfaces que "funcionam" mas parecem amadoras:
23
- - Botoes desalinhados entre si
24
- - Espacamento inconsistente entre secoes
25
- - Cores hardcoded que nao combinam
26
- - Tipografia sem hierarquia clara
27
- - Densidade de informacao errada (muito vazio ou muito poluido)
28
- - Componentes que parecem de projetos diferentes
29
-
30
- O blind validator testa SE funciona. O visual critic testa se parece PROFISSIONAL.
31
- </philosophy>
32
-
33
- <three_layers>
34
-
35
- ## Camada 1: Extracao Programatica de CSS (Objetiva)
36
-
37
- Antes de "olhar", extrair dados concretos. Para cada pagina, executar via `browser_evaluate`:
38
-
39
- ```javascript
40
- () => {
41
- const interactive = document.querySelectorAll(
42
- 'button, a, input, select, textarea, [role="button"], ' +
43
- 'h1, h2, h3, h4, h5, h6, p, label, ' +
44
- '[class*="card"], [class*="badge"], [class*="alert"], [class*="modal"], ' +
45
- 'table, th, td, nav, header, footer, main, aside, form'
46
- );
47
-
48
- const elements = [];
49
- for (const el of interactive) {
50
- const rect = el.getBoundingClientRect();
51
- if (rect.width === 0 || rect.height === 0) continue; // invisivel
52
-
53
- const cs = getComputedStyle(el);
54
- elements.push({
55
- tag: el.tagName.toLowerCase(),
56
- text: el.textContent?.trim().substring(0, 50) || '',
57
- role: el.getAttribute('role') || '',
58
- rect: {
59
- x: Math.round(rect.x),
60
- y: Math.round(rect.y),
61
- w: Math.round(rect.width),
62
- h: Math.round(rect.height)
63
- },
64
- css: {
65
- padding: cs.padding,
66
- margin: cs.margin,
67
- fontSize: cs.fontSize,
68
- fontWeight: cs.fontWeight,
69
- fontFamily: cs.fontFamily.split(',')[0].trim(),
70
- color: cs.color,
71
- backgroundColor: cs.backgroundColor,
72
- borderRadius: cs.borderRadius,
73
- border: cs.border,
74
- gap: cs.gap,
75
- display: cs.display,
76
- justifyContent: cs.justifyContent,
77
- alignItems: cs.alignItems
78
- },
79
- parentTag: el.parentElement?.tagName.toLowerCase() || '',
80
- parentDisplay: el.parentElement ? getComputedStyle(el.parentElement).display : '',
81
- siblingCount: el.parentElement ? el.parentElement.children.length : 0
82
- });
83
- }
84
-
85
- return JSON.stringify(elements.slice(0, 150)); // cap para nao explodir contexto
86
- }
87
- ```
88
-
89
- ### O que detectar com CSS extraction:
90
-
91
- **Inconsistencia de spacing:**
92
- - Comparar padding de elementos irmaos (mesmos tipos de componente devem ter mesmo padding)
93
- - Comparar gap entre secoes (devem seguir escala: 4, 8, 12, 16, 24, 32, 48)
94
-
95
- **Inconsistencia de tipografia:**
96
- - fontSize fora da escala do projeto (12, 14, 16, 18, 20, 24, 32)
97
- - fontFamily diferente em elementos do mesmo tipo
98
- - fontWeight inconsistente entre headings do mesmo nivel
99
-
100
- **Inconsistencia de cores:**
101
- - Comparar backgroundColor de elementos do mesmo tipo (cards, badges, botoes)
102
- - Verificar contraste entre color e backgroundColor (WCAG AA: 4.5:1 minimo)
103
-
104
- **Inconsistencia de radius:**
105
- - Comparar borderRadius entre cards, botoes, inputs (devem usar mesma escala)
106
-
107
- **Alinhamento:**
108
- - Elementos irmaos com x diferente (desalinhados horizontalmente)
109
- - Grupos com larguras inconsistentes
110
-
111
- ## Camada 2: Screenshot Comparativo (Semi-objetiva)
112
-
113
- Tirar screenshots em 3 viewports para cada pagina:
114
-
115
- ```
116
- Desktop (1440x900) → .plano/visual/[pagina]-desktop.png
117
- Tablet (768x1024) → .plano/visual/[pagina]-tablet.png
118
- Mobile (375x812) → .plano/visual/[pagina]-mobile.png
119
- ```
120
-
121
- Comparar entre paginas:
122
- - Header/nav consistente entre paginas?
123
- - Footer consistente?
124
- - Sidebar mesma largura em todas paginas?
125
- - Componentes repetidos (cards, tables) tem mesmo estilo?
126
-
127
- ## Camada 3: Julgamento Visual do Screenshot (Subjetiva, guiada)
128
-
129
- Olhar CADA screenshot com checklist rigido — nao "gostei/nao gostei":
130
-
131
- | # | Criterio | 0-2 | Descricao |
132
- |---|----------|-----|-----------|
133
- | 1 | Hierarquia visual | | Titulo > subtitulo > corpo claramente distinguiveis? |
134
- | 2 | Espacamento uniforme | | Secoes com gaps consistentes? Sem areas comprimidas ou vazias? |
135
- | 3 | Alinhamento de grid | | Elementos respeitam grid? Nada "solto" ou deslocado? |
136
- | 4 | Elementos interativos distinguiveis | | Botoes parecem botoes? Links parecem links? |
137
- | 5 | Densidade adequada | | Nem vazio demais, nem poluido? Respiracao visual? |
138
- | 6 | Consistencia cross-pagina | | Mesma linguagem visual que outras paginas? |
139
- | 7 | Profissionalismo geral | | Parece produto real ou projeto de estudante? |
140
-
141
- Score por pagina: soma / 14 * 10 (escala 0-10)
142
-
143
- </three_layers>
144
-
145
- <process>
146
-
147
- ## Passo 0: Carregar Referencia Visual
148
-
149
- ```bash
150
- # Design tokens do projeto (se existe)
151
- cat .plano/DESIGN-TOKENS.md 2>/dev/null
152
-
153
- # Production requirements (secao POLISH)
154
- cat $HOME/.claude/up/references/production-requirements-compressed.md
155
- ```
156
-
157
- Se DESIGN-TOKENS.md existe: usar como referencia de cores, fontes, spacing, radius.
158
- Se nao existe: inferir do codebase (tailwind.config, globals.css, theme) e registrar como issue "sem design tokens definidos".
159
-
160
- ## Passo 1: Descobrir Paginas
161
-
162
- **Se chamado por fase:** Ler SUMMARY da fase para extrair rotas criadas/modificadas.
163
- **Se chamado no Quality Gate:** Testar TODAS as paginas do projeto.
164
-
165
- ```bash
166
- # Descobrir rotas
167
- find app -name "page.tsx" -o -name "page.ts" 2>/dev/null | head -30
168
- find pages -name "*.tsx" -o -name "*.ts" 2>/dev/null | grep -v "_app\|_document\|api/" | head -30
169
- grep -r "path:" src/ --include="*.tsx" --include="*.ts" 2>/dev/null | head -30
170
- ```
171
-
172
- ## Passo 2: Para Cada Pagina
173
-
174
- ### 2.1 Navegar e Esperar
175
-
176
- ```
177
- browser_navigate(url: "$BASE_URL/[rota]")
178
- ```
179
-
180
- Esperar carregamento (2-3 segundos ou ate network idle).
181
-
182
- ### 2.2 Extrair CSS (Camada 1)
183
-
184
- ```
185
- browser_evaluate(function: "[script da Camada 1]")
186
- ```
187
-
188
- Salvar resultado como JSON para analise.
189
-
190
- ### 2.3 Analisar Dados CSS
191
-
192
- Comparar elementos extraidos:
193
- - Agrupar por tipo (todos botoes, todos cards, todos headings)
194
- - Dentro de cada grupo: verificar consistencia de padding, fontSize, borderRadius, color
195
- - Entre grupos: verificar hierarquia (h1 > h2 > h3 em fontSize)
196
- - Checar contraste WCAG AA para todos pares color/backgroundColor
197
-
198
- Para cada inconsistencia: criar issue com dados exatos.
199
-
200
- ### 2.4 Screenshots (Camada 2)
201
-
202
- ```
203
- browser_resize(width: 1440, height: 900)
204
- browser_take_screenshot(filename: ".plano/visual/[pagina]-desktop.png")
205
-
206
- browser_resize(width: 768, height: 1024)
207
- browser_take_screenshot(filename: ".plano/visual/[pagina]-tablet.png")
208
-
209
- browser_resize(width: 375, height: 812)
210
- browser_take_screenshot(filename: ".plano/visual/[pagina]-mobile.png")
211
- ```
212
-
213
- ### 2.5 Avaliar Visualmente (Camada 3)
214
-
215
- Olhar cada screenshot e preencher checklist de 7 criterios.
216
- Registrar score e issues encontradas.
217
-
218
- ### 2.6 Reportar Progresso
219
-
220
- ```
221
- Pagina /dashboard — Score visual: 7.5/10
222
- Camada 1 (CSS): 3 inconsistencias detectadas
223
- Camada 2 (Screenshots): 3 viewports capturados
224
- Camada 3 (Visual): hierarquia boa, espacamento irregular em cards
225
- ```
226
-
227
- ## Passo 3: Comparar Cross-Pagina
228
-
229
- Apos avaliar todas as paginas individualmente:
230
- - Header/nav identico em todas? (posicao, estilo, itens)
231
- - Mesmo tipo de componente (card, table, form) tem mesmo estilo em paginas diferentes?
232
- - Cores primarias consistentes?
233
- - Tipografia consistente?
234
-
235
- Issues cross-pagina tem severidade ALTA (afetam profissionalismo geral).
236
-
237
- ## Passo 4: Gerar Issue Board
238
-
239
- Para cada issue encontrada:
240
-
241
- ```json
242
- {
243
- "id": "VIS-001",
244
- "severity": "high",
245
- "type": "visual",
246
- "page": "/dashboard",
247
- "viewport": "desktop",
248
- "category": "spacing",
249
- "title": "Cards com padding inconsistente",
250
- "description": "Card 'Receita' tem padding 16px, Card 'Despesas' tem padding 24px",
251
- "evidence": {
252
- "screenshot": ".plano/visual/dashboard-desktop.png",
253
- "css_data": "Card 1: padding=16px, Card 2: padding=24px",
254
- "expected": "Todos cards devem ter padding=16px (ou 24px — escolher um)"
255
- },
256
- "suggested_fix": "Unificar padding dos cards para o valor do design token (spacing-4 = 16px)"
257
- }
258
- ```
259
-
260
- **Classificacao de severidade:**
261
-
262
- | Severidade | Criterio | Exemplos |
263
- |-----------|----------|----------|
264
- | critical | Ilegivel ou inacessivel | Contraste < 3:1, texto cortado, overflow |
265
- | high | Profissionalismo comprometido | Desalinhamento visivel, inconsistencia cross-pagina |
266
- | medium | Inconsistencia detectavel | Spacing off por 4px, radius diferente entre cards |
267
- | low | Cosmetico, melhoria | Poderia ter mais breathing room, hover state sutil |
268
-
269
- ## Passo 5: Gerar Relatorio
270
-
271
- Escrever `.plano/VISUAL-REPORT.md` (Quality Gate) ou `.plano/fases/[fase]/VISUAL-REPORT.md` (por fase):
272
-
273
- ```markdown
274
- ---
275
- analyzed: {timestamp}
276
- pages_tested: {N}
277
- score: {N}/10
278
- issues_found: {N}
279
- critical: {N}
280
- high: {N}
281
- medium: {N}
282
- low: {N}
283
- ---
284
-
285
- # Visual Quality Report
286
-
287
- **Score Geral:** {N}/10
288
- **Paginas Analisadas:** {N}
289
- **Issues:** {critical} criticas | {high} altas | {medium} medias | {low} baixas
290
-
291
- ## Score por Pagina
292
-
293
- | Pagina | Desktop | Tablet | Mobile | Score | Issues |
294
- |--------|---------|--------|--------|-------|--------|
295
- | /dashboard | 8/10 | 7/10 | 6/10 | 7.0 | 4 |
296
- | /settings | 9/10 | 8/10 | 7/10 | 8.0 | 2 |
297
-
298
- ## Issues Criticas
299
-
300
- ### VIS-001: [Titulo]
301
- **Pagina:** [rota] | **Viewport:** [desktop/tablet/mobile]
302
- **Categoria:** [spacing/typography/color/alignment/contrast/consistency]
303
- **Descricao:** [o que esta errado]
304
- **Evidencia CSS:** [dados extraidos]
305
- **Screenshot:** [path]
306
- **Fix sugerido:** [como corrigir]
307
-
308
- ## Issues Altas
309
- ...
310
-
311
- ## Issues Medias
312
- ...
313
-
314
- ## Consistencia Cross-Pagina
315
-
316
- | Aspecto | Consistente? | Detalhes |
317
- |---------|-------------|----------|
318
- | Header/Nav | Sim/Nao | [detalhes] |
319
- | Cores primarias | Sim/Nao | [detalhes] |
320
- | Tipografia | Sim/Nao | [detalhes] |
321
- | Card style | Sim/Nao | [detalhes] |
322
- | Button style | Sim/Nao | [detalhes] |
323
-
324
- ## Design Tokens Compliance
325
-
326
- | Token | Definido | Usado consistentemente? |
327
- |-------|----------|------------------------|
328
- | Cores | [valores] | Sim/Nao |
329
- | Spacing | [escala] | Sim/Nao |
330
- | Typography | [escala] | Sim/Nao |
331
- | Radius | [valores] | Sim/Nao |
332
- ```
333
-
334
- ## Passo 6: Retornar
335
-
336
- ```markdown
337
- ## VISUAL CRITIQUE COMPLETE
338
-
339
- **Score:** {N}/10
340
- **Issues:** {critical} criticas | {high} altas | {medium} medias | {low} baixas
341
- **Paginas:** {N} analisadas em 3 viewports
342
-
343
- Arquivo: .plano/[fases/XX/]VISUAL-REPORT.md
344
- Issues: .plano/[fases/XX/]VISUAL-ISSUES.json
345
- ```
346
- </process>
347
-
348
- <success_criteria>
349
- - [ ] Design tokens carregados (ou ausencia registrada como issue)
350
- - [ ] Todas paginas relevantes visitadas
351
- - [ ] CSS extraido de cada pagina (Camada 1)
352
- - [ ] Screenshots em 3 viewports por pagina (Camada 2)
353
- - [ ] Checklist de 7 criterios preenchido por pagina (Camada 3)
354
- - [ ] Comparacao cross-pagina executada
355
- - [ ] Issues com ID, severidade, evidencia e fix sugerido
356
- - [ ] VISUAL-REPORT.md gerado
357
- - [ ] Score geral calculado
358
- </success_criteria>
@@ -1,47 +0,0 @@
1
- ---
2
- name: up:adicionar-fase
3
- description: "[DEPRECADO] Use /up:planejar-fase \"descricao\" — adiciona e ja planeja"
4
- argument-hint: "<descricao>"
5
- allowed-tools:
6
- - Read
7
- - Write
8
- - Edit
9
- - Bash
10
- - Glob
11
- ---
12
- <objective>
13
- **DEPRECADO desde v0.9.0.** Este comando foi absorvido pelo `/up:planejar-fase`.
14
-
15
- Use: `/up:planejar-fase "descricao da fase"` — ele adiciona ao roadmap E ja planeja.
16
-
17
- Se voce so quer adicionar ao roadmap SEM planejar, use diretamente:
18
- ```bash
19
- node "$HOME/.claude/up/bin/up-tools.cjs" phase add "descricao"
20
- ```
21
- </objective>
22
-
23
- <process>
24
- 1. Informar ao usuario que este comando foi absorvido:
25
-
26
- ```
27
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
28
- UP > COMANDO DEPRECADO
29
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
30
-
31
- /up:adicionar-fase foi absorvido pelo /up:planejar-fase.
32
-
33
- Agora voce pode fazer tudo de uma vez:
34
-
35
- /up:planejar-fase "descricao da fase"
36
-
37
- Isso adiciona a fase ao roadmap E ja gera os planos.
38
-
39
- Redirecionando...
40
- ```
41
-
42
- 2. Redirecionar para planejar-fase com os mesmos argumentos:
43
-
44
- ```
45
- Skill(skill="up:planejar-fase", args="$ARGUMENTS")
46
- ```
47
- </process>
@@ -1,145 +0,0 @@
1
- ---
2
- name: up:adicionar-testes
3
- description: Gerar testes para uma fase completa baseado na implementacao e criterios UAT
4
- argument-hint: "<fase> [instrucoes adicionais]"
5
- allowed-tools:
6
- - Read
7
- - Write
8
- - Edit
9
- - Bash
10
- - Glob
11
- - Grep
12
- - Task
13
- - AskUserQuestion
14
- argument-instructions: |
15
- Parse o argumento como numero de fase (inteiro, decimal ou sufixo-letra), mais texto livre opcional.
16
- Exemplo: /up:adicionar-testes 3
17
- Exemplo: /up:adicionar-testes 3 focar em edge cases no modulo de precos
18
- ---
19
-
20
- <objective>
21
- Gerar testes unitarios e E2E para uma fase completa, usando SUMMARY.md, CONTEXT.md e VERIFICATION.md como especificacoes.
22
-
23
- Analisa arquivos de implementacao, classifica em TDD (unitario), E2E (browser) ou Pular, apresenta plano de testes para aprovacao, e gera testes seguindo convencoes RED-GREEN.
24
-
25
- Output: Arquivos de teste commitados com mensagem `test(fase-{N}): adicionar testes unitarios e E2E`
26
- </objective>
27
-
28
- <context>
29
- Fase: $ARGUMENTS
30
-
31
- @.plano/STATE.md
32
- @.plano/ROADMAP.md
33
- </context>
34
-
35
- <process>
36
-
37
- ## 1. Carregar Contexto da Fase
38
-
39
- ```bash
40
- INIT=$(node "$HOME/.claude/up/bin/up-tools.cjs" init operacao-fase "${FASE_ARG}")
41
- if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
42
- ```
43
-
44
- Extrair: `phase_dir`, `phase_number`, `phase_name`.
45
-
46
- Se fase nao existe: erro e sair.
47
- Se nao ha SUMMARY.md: erro — fase precisa estar completa primeiro.
48
-
49
- ```
50
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
51
- UP > ADICIONAR TESTES — Fase ${phase_number}: ${phase_name}
52
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
53
- ```
54
-
55
- Ler artefatos da fase:
56
- 1. `${phase_dir}/*-SUMMARY.md` — o que foi implementado, arquivos modificados
57
- 2. `${phase_dir}/CONTEXT.md` — criterios de aceite, decisoes
58
- 3. `${phase_dir}/*-VERIFICATION.md` — cenarios verificados pelo usuario (se UAT feito)
59
-
60
- ## 2. Analisar e Classificar Arquivos
61
-
62
- Para cada arquivo modificado pela fase, classificar:
63
-
64
- | Categoria | Criterio | Tipo de Teste |
65
- |-----------|----------|---------------|
66
- | **TDD** | Funcoes puras, logica de negocio, validacoes, parsers, transformacoes | Unitario |
67
- | **E2E** | Interacoes UI, navegacao, formularios, shortcuts, modais | Browser/E2E |
68
- | **Pular** | Layout/CSS, config, glue code, migrations, tipos sem logica | Nenhum |
69
-
70
- Ler cada arquivo para confirmar classificacao — nao classificar so pelo nome.
71
-
72
- ## 3. Aprovar Classificacao
73
-
74
- ```
75
- AskUserQuestion(
76
- header: "Classificacao de Testes",
77
- question: |
78
- ### TDD (Unitarios) — {N} arquivos
79
- {lista com motivo breve}
80
-
81
- ### E2E (Browser) — {M} arquivos
82
- {lista com motivo breve}
83
-
84
- ### Pular — {K} arquivos
85
- {lista com motivo breve}
86
-
87
- Como prosseguir?
88
- options:
89
- - "Aprovar e gerar plano de testes"
90
- - "Ajustar classificacao"
91
- - "Cancelar"
92
- )
93
- ```
94
-
95
- ## 4. Descobrir Estrutura de Testes do Projeto
96
-
97
- Identificar:
98
- - Diretorios de teste existentes
99
- - Convencoes de nomeacao (`.test.ts`, `.spec.ts`, etc.)
100
- - Comandos do test runner
101
- - Framework de teste
102
-
103
- ## 5. Gerar Plano de Testes
104
-
105
- Para cada arquivo aprovado, criar plano detalhado:
106
- - **TDD:** funcoes testaveis, cenarios de input, outputs esperados, edge cases
107
- - **E2E:** cenarios de usuario, acoes, outcomes, assertions
108
-
109
- Apresentar plano completo para aprovacao.
110
-
111
- ## 6. Gerar Testes
112
-
113
- **TDD:** Arrange/Act/Assert. Executar cada teste. Flaggar falhas como possiveis bugs (NAO corrigir implementacao).
114
-
115
- **E2E:** Criar testes de cenario. Executar. Reportar blockers.
116
-
117
- ## 7. Resumo e Commit
118
-
119
- ```
120
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
121
- UP > TESTES GERADOS
122
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
123
-
124
- | Categoria | Gerados | Passando | Falhando | Bloqueados |
125
- |-----------|---------|----------|----------|------------|
126
- | Unitario | {N} | {n1} | {n2} | {n3} |
127
- | E2E | {M} | {m1} | {m2} | {m3} |
128
-
129
- Arquivos criados: {lista}
130
- Gaps de cobertura: {areas nao testaveis e motivo}
131
- Bugs descobertos: {falhas que indicam bugs na implementacao}
132
- ```
133
-
134
- Commitar testes passando:
135
- ```bash
136
- git add {arquivos de teste}
137
- git commit -m "test(fase-${phase_number}): adicionar testes unitarios e E2E"
138
- ```
139
-
140
- Proximos passos:
141
- - Se bugs: `/up:rapido corrigir {N} falhas de teste na fase ${phase_number}`
142
- - Se blockers: descrever o que falta
143
- - Se tudo ok: "Todos os testes passando!"
144
-
145
- </process>