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,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>