up-cc 0.16.1 → 2.0.1

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 (135) 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 +54 -0
  32. package/up/skills/up-brainstorm/visual-companion.md +33 -0
  33. package/up/skills/up-tdd/SKILL.md +39 -0
  34. package/up/skills/up-verificar-antes-de-concluir/SKILL.md +49 -0
  35. package/up/skills/usando-up/SKILL.md +26 -0
  36. package/up/templates/audit-plan.md +3 -3
  37. package/up/templates/audit-report.md +2 -2
  38. package/up/templates/design-tokens.md +2 -2
  39. package/up/workflows/auditar.md +255 -0
  40. package/up/workflows/build.md +600 -386
  41. package/up/workflows/dcrv.md +183 -99
  42. package/up/workflows/governance.md +112 -220
  43. package/up/workflows/plan.md +169 -399
  44. package/up/workflows/rapido.md +7 -1
  45. package/up/workflows/up.md +447 -0
  46. package/up/agents/up-analista-codigo.md +0 -446
  47. package/up/agents/up-api-tester.md +0 -405
  48. package/up/agents/up-architecture-supervisor.md +0 -126
  49. package/up/agents/up-audit-supervisor.md +0 -83
  50. package/up/agents/up-auditor-modernidade.md +0 -378
  51. package/up/agents/up-auditor-performance.md +0 -426
  52. package/up/agents/up-auditor-ux.md +0 -396
  53. package/up/agents/up-backend-specialist.md +0 -175
  54. package/up/agents/up-blind-validator.md +0 -259
  55. package/up/agents/up-chief-architect.md +0 -184
  56. package/up/agents/up-chief-engineer.md +0 -202
  57. package/up/agents/up-chief-operations.md +0 -123
  58. package/up/agents/up-chief-product.md +0 -103
  59. package/up/agents/up-chief-quality.md +0 -211
  60. package/up/agents/up-clone-crawler.md +0 -234
  61. package/up/agents/up-clone-design-extractor.md +0 -227
  62. package/up/agents/up-clone-feature-mapper.md +0 -225
  63. package/up/agents/up-clone-prd-writer.md +0 -169
  64. package/up/agents/up-clone-verifier.md +0 -227
  65. package/up/agents/up-code-reviewer.md +0 -229
  66. package/up/agents/up-consolidador-ideias.md +0 -493
  67. package/up/agents/up-database-specialist.md +0 -169
  68. package/up/agents/up-delivery-auditor.md +0 -247
  69. package/up/agents/up-devops-agent.md +0 -203
  70. package/up/agents/up-execution-supervisor.md +0 -315
  71. package/up/agents/up-exhaustive-tester.md +0 -348
  72. package/up/agents/up-frontend-specialist.md +0 -152
  73. package/up/agents/up-operations-supervisor.md +0 -94
  74. package/up/agents/up-pesquisador-mercado.md +0 -350
  75. package/up/agents/up-pesquisador-projeto.md +0 -358
  76. package/up/agents/up-planning-auditor.md +0 -284
  77. package/up/agents/up-planning-supervisor.md +0 -260
  78. package/up/agents/up-product-analyst.md +0 -192
  79. package/up/agents/up-product-supervisor.md +0 -83
  80. package/up/agents/up-project-ceo.md +0 -352
  81. package/up/agents/up-qa-agent.md +0 -171
  82. package/up/agents/up-quality-supervisor.md +0 -178
  83. package/up/agents/up-requirements-validator.md +0 -230
  84. package/up/agents/up-security-reviewer.md +0 -137
  85. package/up/agents/up-sintetizador-melhorias.md +0 -407
  86. package/up/agents/up-system-designer.md +0 -332
  87. package/up/agents/up-technical-writer.md +0 -188
  88. package/up/agents/up-verification-supervisor.md +0 -111
  89. package/up/agents/up-visual-critic.md +0 -358
  90. package/up/commands/adicionar-fase.md +0 -47
  91. package/up/commands/adicionar-testes.md +0 -145
  92. package/up/commands/ajuda.md +0 -176
  93. package/up/commands/atualizar.md +0 -103
  94. package/up/commands/clone-builder.md +0 -67
  95. package/up/commands/configurar.md +0 -219
  96. package/up/commands/custos.md +0 -67
  97. package/up/commands/dashboard.md +0 -48
  98. package/up/commands/discutir-fase.md +0 -35
  99. package/up/commands/executar-fase.md +0 -40
  100. package/up/commands/ideias.md +0 -49
  101. package/up/commands/iniciar.md +0 -31
  102. package/up/commands/mapear-codigo.md +0 -63
  103. package/up/commands/melhorias.md +0 -45
  104. package/up/commands/mobile-first.md +0 -71
  105. package/up/commands/modo-builder.md +0 -186
  106. package/up/commands/novo-projeto.md +0 -40
  107. package/up/commands/onboard.md +0 -69
  108. package/up/commands/pausar.md +0 -33
  109. package/up/commands/planejar-fase.md +0 -45
  110. package/up/commands/progresso.md +0 -33
  111. package/up/commands/remover-fase.md +0 -34
  112. package/up/commands/resetar.md +0 -27
  113. package/up/commands/retomar.md +0 -35
  114. package/up/commands/saude.md +0 -103
  115. package/up/commands/ux-tester.md +0 -63
  116. package/up/commands/verificar-trabalho.md +0 -35
  117. package/up/workflows/adicionar-fase.md +0 -112
  118. package/up/workflows/builder-e2e.md +0 -501
  119. package/up/workflows/builder.md +0 -3419
  120. package/up/workflows/ceo-intake.md +0 -305
  121. package/up/workflows/ceo-updates.md +0 -183
  122. package/up/workflows/clone-builder.md +0 -320
  123. package/up/workflows/discutir-fase.md +0 -336
  124. package/up/workflows/executar-fase.md +0 -358
  125. package/up/workflows/executar-plano.md +0 -659
  126. package/up/workflows/ideias.md +0 -381
  127. package/up/workflows/iniciar.md +0 -235
  128. package/up/workflows/melhorias.md +0 -409
  129. package/up/workflows/mobile-first.md +0 -692
  130. package/up/workflows/novo-projeto.md +0 -778
  131. package/up/workflows/planejar-fase.md +0 -293
  132. package/up/workflows/progresso.md +0 -226
  133. package/up/workflows/retomar.md +0 -231
  134. package/up/workflows/ux-tester.md +0 -526
  135. package/up/workflows/verificar-trabalho.md +0 -308
@@ -1,526 +0,0 @@
1
- <purpose>
2
- UX Tester: navegar o sistema como um usuario real, avaliar a experiencia, e implementar melhorias automaticamente.
3
-
4
- NAO e teste funcional (isso e o E2E). E um auditor de experiencia que USA o sistema e pensa:
5
- - "Isso ta confuso"
6
- - "Muitos cliques pra fazer algo simples"
7
- - "Cadê o feedback?"
8
- - "Isso ta lento"
9
- - "Eu nao sei o que fazer nessa tela"
10
-
11
- Dois modos:
12
- - **Standalone:** `/up:ux-tester` — roda em qualquer projeto, qualquer momento
13
- - **Builder:** roda no Estagio 4 (Polish) e implementa tudo automaticamente
14
- </purpose>
15
-
16
- <tools_required>
17
- Ferramentas Playwright MCP:
18
- - `browser_navigate` — navegar para URL
19
- - `browser_snapshot` — capturar acessibilidade (para interagir)
20
- - `browser_take_screenshot` — capturar visual (para avaliar)
21
- - `browser_click` — clicar
22
- - `browser_type` — digitar
23
- - `browser_fill_form` — preencher formularios
24
- - `browser_select_option` — selecionar opcao
25
- - `browser_press_key` — teclar
26
- - `browser_hover` — hover
27
- - `browser_navigate_back` — voltar
28
- - `browser_console_messages` — erros JS
29
- - `browser_network_requests` — lentidao de APIs
30
- - `browser_resize` — testar responsividade
31
- - `browser_evaluate` — medir tempos, checar acessibilidade
32
- - `browser_close` — fechar
33
-
34
- Ferramentas de codigo:
35
- - Read, Write, Edit, Glob, Grep, Bash — para implementar melhorias
36
- </tools_required>
37
-
38
- <process>
39
-
40
- ## Passo 1: Setup
41
-
42
- ### 1.1 Detectar Stack e Dev Server
43
-
44
- ```bash
45
- # Detectar stack
46
- if [ -f package.json ]; then
47
- node -e "const p=require('./package.json'); console.log(JSON.stringify({scripts: p.scripts, deps: Object.keys(p.dependencies||{}).slice(0,20)}))"
48
- fi
49
- ```
50
-
51
- Subir dev server em background:
52
- ```bash
53
- [DEV_COMMAND] &
54
- DEV_PID=$!
55
- ```
56
-
57
- Esperar ficar pronto (max 30s):
58
- ```bash
59
- for i in $(seq 1 30); do
60
- curl -s http://localhost:[PORT] > /dev/null 2>&1 && break
61
- sleep 1
62
- done
63
- ```
64
-
65
- Se nao subir: ERRO — "Dev server nao subiu. Verifique se as dependencias estao instaladas e as env vars configuradas."
66
-
67
- ### 1.2 Descobrir Fluxos do Sistema
68
-
69
- **Opcao A — De REQUIREMENTS.md / PROJECT.md (se existir):**
70
- Ler `.plano/PROJECT.md` e `.plano/REQUIREMENTS.md` para entender o que o sistema faz e quais sao os fluxos principais.
71
-
72
- **Opcao B — De codigo (se nao ha .plano/):**
73
- ```bash
74
- # Descobrir rotas
75
- find . -name "page.tsx" -o -name "page.ts" 2>/dev/null | grep -v node_modules | head -20
76
- find . -path "*/pages/*.tsx" -o -path "*/pages/*.ts" 2>/dev/null | grep -v node_modules | grep -v "_app\|_document" | head -20
77
- ```
78
-
79
- **Opcao C — Navegando (fallback):**
80
- Navegar para `/` e explorar links e navegacao.
81
-
82
- ### 1.3 Definir Personas
83
-
84
- Criar 2-3 personas para os testes:
85
-
86
- **Persona 1: Usuario Novo (primeira vez)**
87
- - Nunca viu o sistema
88
- - Nao sabe onde as coisas estao
89
- - Espera que seja obvio o que fazer
90
- - Testa: onboarding, clareza, primeiros passos
91
-
92
- **Persona 2: Usuario Frequente (dia a dia)**
93
- - Usa o sistema regularmente
94
- - Quer eficiencia (poucos cliques)
95
- - Testa: fluxos principais, atalhos, velocidade
96
-
97
- **Persona 3: Usuario com Pressa (mobile/distraido)**
98
- - Tela pequena ou multitask
99
- - Quer resolver rapido
100
- - Testa: responsividade, tamanho de alvos, hierarquia visual
101
-
102
- ### 1.4 Criar Diretorio de Resultados
103
-
104
- ```bash
105
- mkdir -p .plano/ux-review/screenshots
106
- ```
107
-
108
- ## Passo 2: Navegacao como Usuario (6 Dimensoes)
109
-
110
- Para cada fluxo principal do sistema, navegar como cada persona e avaliar:
111
-
112
- ### Dimensao 1: Clareza
113
- **Pergunta:** "Eu sei o que fazer nessa tela?"
114
-
115
- Para cada tela/pagina:
116
- 1. `browser_navigate(url)` → `browser_take_screenshot(filename: ".plano/ux-review/screenshots/[rota]-first-impression.png")`
117
- 2. `browser_snapshot()` — ler estrutura da pagina
118
- 3. Avaliar:
119
- - Existe um titulo/heading claro?
120
- - A hierarquia visual guia o olho? (tamanhos, cores, espacamento)
121
- - CTAs sao obvios? (botoes primarios vs secundarios)
122
- - Ha textos ambiguos? (ex: "Enviar" vs "Salvar Rascunho")
123
- - Labels dos forms sao descritivos?
124
- - Ha instrucoes ou tooltips onde necessario?
125
- - Estados vazios (empty states) explicam o que fazer?
126
- 4. Registrar problemas encontrados
127
-
128
- ### Dimensao 2: Eficiencia (Cliques)
129
- **Pergunta:** "Quantos passos pra completar a tarefa?"
130
-
131
- Para cada fluxo principal:
132
- 1. Contar cliques necessarios do inicio ao fim
133
- 2. Navegar o fluxo completo, registrando cada interacao
134
- 3. Avaliar:
135
- - Ha passos desnecessarios? (confirmacoes excessivas, paginas intermediarias)
136
- - Formularios poderiam ter defaults inteligentes?
137
- - Campos poderiam ser agrupados ou removidos?
138
- - Existe atalho para acoes frequentes?
139
- - Navegacao entre secoes e direta ou exige muitos cliques?
140
- 4. Calcular: cliques atuais vs cliques ideais
141
-
142
- ### Dimensao 3: Feedback
143
- **Pergunta:** "O sistema me diz o que esta acontecendo?"
144
-
145
- Para cada acao (submeter form, clicar botao, deletar):
146
- 1. Executar a acao
147
- 2. Avaliar imediatamente:
148
- - Ha loading indicator durante operacoes? (spinner, skeleton, progress)
149
- - Aparece mensagem de sucesso apos acao? (toast, banner, redirect)
150
- - Erros sao claros e acionaveis? ("Email invalido" vs "Erro 422")
151
- - Ha feedback visual ao clicar? (hover states, active states)
152
- - Transicoes sao suaves ou abruptas?
153
- 3. Testar erro proposital:
154
- - Submeter form vazio
155
- - Inserir dados invalidos
156
- - `browser_console_messages(level: "error")` — checar erros nao tratados
157
-
158
- ### Dimensao 4: Consistencia
159
- **Pergunta:** "O sistema se comporta de forma previsivel?"
160
-
161
- Navegar por TODAS as telas e comparar:
162
- 1. Botoes primarios sao sempre do mesmo estilo/cor?
163
- 2. Espacamento e tipografia sao consistentes?
164
- 3. Navegacao esta no mesmo lugar em todas as paginas?
165
- 4. Padroes de formulario sao iguais? (labels, validacao, botoes)
166
- 5. Icones significam a mesma coisa em contextos diferentes?
167
- 6. Terminologia e consistente? (nao mistura "Salvar/Enviar/Confirmar" pro mesmo conceito)
168
-
169
- ### Dimensao 5: Acessibilidade Basica
170
- **Pergunta:** "Qualquer pessoa consegue usar?"
171
-
172
- ```javascript
173
- // Rodar via browser_evaluate
174
- browser_evaluate(function: "() => {
175
- const issues = [];
176
- // Imagens sem alt
177
- document.querySelectorAll('img:not([alt])').forEach(img => issues.push('img sem alt: ' + img.src));
178
- // Inputs sem label
179
- document.querySelectorAll('input:not([aria-label]):not([id])').forEach(i => issues.push('input sem label'));
180
- // Contraste (simplificado)
181
- // Botoes sem texto acessivel
182
- document.querySelectorAll('button:empty').forEach(b => issues.push('botao vazio'));
183
- // Links sem texto
184
- document.querySelectorAll('a:not([aria-label])').forEach(a => { if(!a.textContent.trim()) issues.push('link sem texto'); });
185
- return JSON.stringify(issues);
186
- }")
187
- ```
188
-
189
- Tambem:
190
- - Tab navigation funciona? (pressionar Tab e ver se foco e visivel)
191
- - Tamanho minimo de toque (44x44px para mobile)?
192
- - Texto legivel? (min 14px body, min 12px labels)
193
-
194
- ### Dimensao 6: Performance Percebida
195
- **Pergunta:** "Parece rapido?"
196
-
197
- Para cada pagina:
198
- ```javascript
199
- // Medir tempo de carregamento
200
- browser_evaluate(function: "() => {
201
- const perf = performance.getEntriesByType('navigation')[0];
202
- return JSON.stringify({
203
- ttfb: Math.round(perf.responseStart - perf.requestStart),
204
- domReady: Math.round(perf.domContentLoadedEventEnd - perf.fetchStart),
205
- fullLoad: Math.round(perf.loadEventEnd - perf.fetchStart),
206
- lcp: performance.getEntriesByType('largest-contentful-paint')[0]?.startTime
207
- });
208
- }")
209
- ```
210
-
211
- Checar network:
212
- ```
213
- browser_network_requests(static: false, requestBody: false, requestHeaders: false)
214
- ```
215
- - APIs > 1s: LENTO
216
- - APIs > 3s: MUITO LENTO
217
- - APIs falhando: BUG
218
-
219
- Avaliar:
220
- - Ha skeleton/placeholder enquanto carrega?
221
- - Conteudo aparece progressivamente ou tudo de uma vez?
222
- - Transicoes de pagina sao suaves?
223
- - Ha jank visual (layout shifts)?
224
-
225
- ## Passo 3: Gerar Relatorio
226
-
227
- Criar `.plano/ux-review/UX-REPORT.md`:
228
-
229
- ```markdown
230
- ---
231
- tested: [timestamp]
232
- server: [dev command] @ [port]
233
- personas: 3
234
- flows_tested: [N]
235
- issues_found: [N]
236
- quick_fixes: [N]
237
- improvements: [N]
238
- ---
239
-
240
- # Relatorio UX Review
241
-
242
- ## Resumo Executivo
243
-
244
- [2-3 paragrafos: impressao geral do sistema, pontos fortes, areas criticas]
245
-
246
- **Score Geral:** [1-10] (onde 1=inutilizavel, 10=experiencia impecavel)
247
-
248
- | Dimensao | Score (1-10) | Issues |
249
- |----------|-------------|--------|
250
- | Clareza | [N] | [N] |
251
- | Eficiencia | [N] | [N] |
252
- | Feedback | [N] | [N] |
253
- | Consistencia | [N] | [N] |
254
- | Acessibilidade | [N] | [N] |
255
- | Performance | [N] | [N] |
256
-
257
- ## Issues por Prioridade
258
-
259
- ### Criticas (Implementar Agora)
260
- [Issues que prejudicam significativamente a experiencia]
261
-
262
- #### UX-001: [Titulo do problema]
263
- **Dimensao:** [qual]
264
- **Tela:** [rota]
265
- **Problema:** [descricao do que esta errado]
266
- **Impacto:** [como afeta o usuario]
267
- **Solucao:** [o que fazer para corrigir]
268
- **Arquivo(s):** [caminhos dos arquivos a modificar]
269
- **Screenshot:** screenshots/[nome].png
270
- **Esforco:** P/M/G
271
-
272
- ### Importantes (Implementar Depois)
273
- [Issues que incomodam mas nao bloqueiam]
274
-
275
- ### Menores (Nice to Have)
276
- [Polimentos que melhoram a experiencia]
277
-
278
- ## Analise por Fluxo
279
-
280
- ### Fluxo: [Nome do Fluxo]
281
- **Persona:** [qual persona testou]
282
- **Cliques atuais:** [N]
283
- **Cliques ideais:** [N]
284
- **Tempo estimado:** [N] segundos
285
-
286
- | Passo | Acao | Problema? | Screenshot |
287
- |-------|------|-----------|------------|
288
- | 1 | [acao] | [sim/nao - descricao] | [path] |
289
- | 2 | [acao] | [sim/nao - descricao] | [path] |
290
-
291
- ## Performance por Pagina
292
-
293
- | Pagina | TTFB | DOM Ready | Full Load | APIs Lentas |
294
- |--------|------|-----------|-----------|-------------|
295
- | / | [ms] | [ms] | [ms] | [N] |
296
- | /dashboard | [ms] | [ms] | [ms] | [N] |
297
-
298
- ## Acessibilidade
299
-
300
- | Problema | Quantidade | Paginas |
301
- |----------|-----------|---------|
302
- | Imagens sem alt | [N] | [lista] |
303
- | Inputs sem label | [N] | [lista] |
304
- | Botoes vazios | [N] | [lista] |
305
- | Links sem texto | [N] | [lista] |
306
- | Foco invisivel | [N] | [lista] |
307
- ```
308
-
309
- ## Passo 3.5: DCRV — Detectores Automaticos
310
-
311
- Apos o relatorio UX (que avalia experiencia e percepcao), rodar detectores automaticos que pegam issues objetivas que o UX tester pode nao ver.
312
-
313
- **Referencia:** `@~/.claude/up/workflows/dcrv.md`
314
-
315
- Rodar com:
316
- ```
317
- SCOPE=global (testar tudo)
318
- AUTO_FIX=false (apenas detectar — implementacao sera no Passo 4)
319
- MAX_CYCLES=1 (apenas 1 ciclo de deteccao)
320
- PORT={porta do dev server ja rodando}
321
- ```
322
-
323
- Apos DCRV retornar:
324
- 1. Ler DCRV-REPORT.md
325
- 2. Mesclar issues do DCRV com issues do UX Review:
326
- - Issues VIS-* do visual critic → adicionar na dimensao "Consistencia" do UX-REPORT
327
- - Issues INT-* do exhaustive tester → adicionar na dimensao "Feedback" do UX-REPORT
328
- - Issues API-* do api tester → adicionar como secao "Robustez API" do UX-REPORT
329
- 3. Deduplicar: se UX review e DCRV encontraram o mesmo problema, manter a versao mais detalhada
330
- 4. Atualizar scores do UX-REPORT com base nas issues adicionais
331
-
332
- Isso garante que o relatorio UX e COMPLETO — experiencia (do UX tester) + objetividade (dos detectores).
333
-
334
- ## Passo 4: Implementar Melhorias
335
-
336
- **NAO perguntar ao usuario.** Implementar TODAS as melhorias que sao seguras de aplicar.
337
- Isso inclui tanto issues do UX Review quanto issues do DCRV mescladas no passo anterior.
338
-
339
- ### 4.1 Classificar Issues por Implementabilidade
340
-
341
- | Tipo | Implementar? | Exemplos |
342
- |------|-------------|----------|
343
- | **Texto/copy** | SIM | Labels confusos, mensagens de erro genericas, CTAs ambiguos, empty states |
344
- | **Feedback visual** | SIM | Adicionar loading states, toasts de sucesso, hover states, transicoes |
345
- | **Acessibilidade** | SIM | Alt em imagens, labels em inputs, aria-labels, focus visible |
346
- | **Espacamento/layout** | SIM | Padding, margin, gap, alinhamento, tamanho de fonte |
347
- | **Consistencia** | SIM | Unificar cores de botoes, padronizar espacamento, terminologia |
348
- | **Ordem de tabs** | SIM | tabIndex, autofocus em primeiro campo |
349
- | **Defaults inteligentes** | SIM | Valores padrao em forms, selecao inicial |
350
- | **Performance** | SIM | Lazy loading, debounce, memo, skeleton, suspense, caching |
351
- | **Reestruturacao de fluxo** | SIM | Simplificar navegacao, reorganizar steps, reduzir cliques |
352
- | **Novo componente** | SIM | Criar wizard, tour guiado, empty states ricos, confirmacao modal, search |
353
- | **Ajuste de API** | SIM | Novo endpoint pra otimizar UX, ajustar response shape, adicionar paginacao |
354
-
355
- **UNICA restricao:** NAO fazer mudancas que quebrem funcionalidade existente sem poder verificar. Especificamente:
356
- - NAO deletar tabelas/colunas do banco
357
- - NAO remover endpoints que outros sistemas consomem
358
- - NAO alterar schemas de auth/sessao
359
-
360
- **Para mudancas estruturais (novo componente, novo fluxo, ajuste de API):**
361
- 1. Implementar a mudanca
362
- 2. Verificar via Playwright que o fluxo afetado ainda funciona
363
- 3. Se quebrou: reverter via `git checkout -- [arquivos]` e registrar como "tentativa falha"
364
- 4. Se funcionou: commit e seguir
365
-
366
- ### 4.2 Executar Implementacao
367
-
368
- Para cada issue implementavel (ordenada por prioridade: critica → importante → menor):
369
-
370
- 1. Ler arquivo(s) alvo
371
- 2. Implementar a correcao
372
- 3. Commit atomico: `ux({area}): {descricao da melhoria}`
373
- 4. Re-navegar a tela afetada para verificar
374
- 5. Screenshot "depois" para comparacao
375
-
376
- ```
377
- UX-001: [descricao] → Implementado ✓
378
- UX-002: [descricao] → Implementado ✓ (novo componente criado)
379
- UX-003: [descricao] → Implementado ✓ (fluxo reestruturado)
380
- UX-004: [descricao] → Falhou (revertido — quebrou funcionalidade X)
381
- ```
382
-
383
- **Para mudancas estruturais (novo componente, novo fluxo, ajuste de API):**
384
-
385
- 1. Implementar a mudanca completa (componente, rota, API)
386
- 2. Re-navegar via Playwright para verificar que funciona
387
- 3. Se funciona: commit e continuar
388
- 4. Se quebrou algo: `git checkout -- [arquivos afetados]` para reverter e registrar como "tentativa falha — [motivo]"
389
- 5. Max 2 tentativas por mudanca estrutural
390
-
391
- ### 4.3 Atualizar Relatorio
392
-
393
- Adicionar secao ao UX-REPORT.md:
394
-
395
- ```markdown
396
- ## Melhorias Implementadas
397
-
398
- | ID | Melhoria | Arquivo(s) | Commit |
399
- |----|----------|-----------|--------|
400
- | UX-001 | [descricao] | [paths] | [hash] |
401
- | UX-002 | [descricao] | [paths] | [hash] |
402
-
403
- **Implementadas:** [N] de [M] issues
404
- **Tentativas falhas (revertidas):** [N] (quebraram funcionalidade existente)
405
-
406
- ## Antes vs Depois
407
-
408
- ### UX-001: [Titulo]
409
- | Antes | Depois |
410
- |-------|--------|
411
- | screenshots/ux-001-antes.png | screenshots/ux-001-depois.png |
412
- ```
413
-
414
- ## Passo 5: Cleanup
415
-
416
- ```bash
417
- kill $DEV_PID 2>/dev/null
418
- ```
419
-
420
- `browser_close()`
421
-
422
- Apresentar resumo:
423
-
424
- ```
425
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
426
- UP > UX REVIEW COMPLETO
427
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
428
-
429
- **Score Geral:** [N]/10
430
-
431
- | Dimensao | Score |
432
- |----------|-------|
433
- | Clareza | [N]/10 |
434
- | Eficiencia | [N]/10 |
435
- | Feedback | [N]/10 |
436
- | Consistencia | [N]/10 |
437
- | Acessibilidade | [N]/10 |
438
- | Performance | [N]/10 |
439
-
440
- **Issues encontradas:** [N]
441
- **Melhorias implementadas:** [N] (incluindo [X] componentes novos, [Y] ajustes de fluxo)
442
- **Tentativas falhas:** [N] (revertidas — ver relatorio)
443
-
444
- Relatorio: .plano/ux-review/UX-REPORT.md
445
- Screenshots: .plano/ux-review/screenshots/
446
-
447
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
448
- ```
449
-
450
- </process>
451
-
452
- <heuristics>
453
- ## Heuristicas de Avaliacao UX
454
-
455
- ### Clareza
456
- - Heading H1 visivel em < 2s? Se nao → issue
457
- - CTA primario e o elemento mais proeminente? Se nao → issue
458
- - Form labels descrevem o que digitar? Se nao → issue
459
- - Empty state diz o que fazer? Se nao → issue
460
- - Mais de 3 acoes competindo por atencao na mesma area? → issue
461
-
462
- ### Eficiencia
463
- - Fluxo principal leva > 5 cliques? → issue (meta: 3 cliques)
464
- - Form tem > 6 campos visiveis de uma vez? → issue (agrupar em steps)
465
- - Acao frequente requer > 2 cliques? → issue (considerar atalho)
466
- - Navegacao principal tem > 7 items? → issue (agrupar)
467
- - Busca/filtro ausente em lista > 10 items? → issue
468
-
469
- ### Feedback
470
- - Acao sem resposta em < 200ms? → issue (adicionar loading)
471
- - Operacao > 1s sem indicator? → issue critica
472
- - Submissao sem mensagem de sucesso? → issue
473
- - Erro generico ("Algo deu errado")? → issue (ser especifico)
474
- - Nenhum estado de hover em elementos clicaveis? → issue
475
-
476
- ### Consistencia
477
- - Mais de 2 estilos de botao primario? → issue
478
- - Espacamento diferente entre secoes similares? → issue
479
- - Mesmo conceito com nomes diferentes? → issue
480
- - Icones usados inconsistentemente? → issue
481
-
482
- ### Acessibilidade
483
- - Imagem sem alt text? → issue
484
- - Input sem label associado? → issue
485
- - Contraste < 4.5:1 em texto? → issue
486
- - Alvo de clique < 44x44px em mobile? → issue
487
- - Focus ring invisivel? → issue
488
- - Pagina sem landmark regions? → issue
489
-
490
- ### Performance Percebida
491
- - TTFB > 500ms? → warning
492
- - Full load > 3s? → issue
493
- - API response > 1s? → issue
494
- - Layout shift visivel? → issue critica
495
- - Sem skeleton/loading placeholder? → issue
496
- </heuristics>
497
-
498
- <failure_handling>
499
- ## Tratamento de Falhas
500
-
501
- **Dev server nao sobe:**
502
- Sair com erro claro e instrucoes de como subir manualmente.
503
-
504
- **Pagina em branco:**
505
- Checar console, registrar como issue critica de UX (usuario ve pagina em branco = pior experiencia possivel).
506
-
507
- **Auth necessario:**
508
- Tentar criar conta de teste ou usar seed data. Se nao conseguir: testar apenas paginas publicas.
509
-
510
- **Componentes dinamicos nao carregam:**
511
- Esperar ate 5s, retry snapshot. Se persistir: registrar como issue de performance.
512
- </failure_handling>
513
-
514
- <success_criteria>
515
- - [ ] Dev server subiu
516
- - [ ] Fluxos principais identificados
517
- - [ ] Cada fluxo navegado como pelo menos 1 persona
518
- - [ ] 6 dimensoes avaliadas com score
519
- - [ ] Screenshots de cada tela e problema
520
- - [ ] UX-REPORT.md gerado com issues priorizadas
521
- - [ ] Issues implementaveis corrigidas com commits atomicos
522
- - [ ] Screenshots antes/depois para melhorias implementadas
523
- - [ ] Re-verificacao apos implementacao
524
- - [ ] Dev server fechado
525
- - [ ] Browser fechado
526
- </success_criteria>