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.
- package/README.md +87 -577
- package/package.json +5 -3
- package/up/CHANGELOG.md +110 -0
- package/up/agents/up-arquiteto.md +95 -39
- package/up/agents/up-auditor.md +218 -0
- package/up/agents/up-executor.md +94 -31
- package/up/agents/up-mapeador-codigo.md +63 -10
- package/up/agents/up-pesquisador.md +278 -0
- package/up/agents/up-revisor.md +249 -0
- package/up/agents/up-sintetizador.md +156 -179
- package/up/agents/up-tester.md +280 -0
- package/up/agents/up-verificador.md +95 -11
- package/up/bin/install.js +182 -19
- package/up/bin/lib/core.cjs +17 -43
- package/up/bin/lib/github.cjs +495 -0
- package/up/bin/lib/multica.cjs +424 -0
- package/up/bin/up-tools.cjs +167 -46
- package/up/commands/auditar.md +66 -0
- package/up/commands/build.md +54 -43
- package/up/commands/depurar.md +1 -1
- package/up/commands/plan.md +52 -38
- package/up/commands/rapido.md +15 -9
- package/up/commands/testar.md +81 -122
- package/up/commands/up.md +106 -0
- package/up/hooks/up-session-start.js +107 -0
- package/up/references/engineering-principles.md +1 -1
- package/up/references/governance-rules.md +5 -5
- package/up/references/production-requirements.md +1 -1
- package/up/references/severity-levels.md +2 -2
- package/up/references/tdd-evidence-types.md +81 -0
- package/up/skills/up-brainstorm/SKILL.md +39 -0
- package/up/skills/up-tdd/SKILL.md +39 -0
- package/up/skills/up-verificar-antes-de-concluir/SKILL.md +49 -0
- package/up/skills/usando-up/SKILL.md +26 -0
- package/up/templates/audit-plan.md +3 -3
- package/up/templates/audit-report.md +2 -2
- package/up/templates/design-tokens.md +2 -2
- package/up/workflows/auditar.md +255 -0
- package/up/workflows/build.md +600 -386
- package/up/workflows/dcrv.md +183 -99
- package/up/workflows/governance.md +112 -220
- package/up/workflows/plan.md +169 -399
- package/up/workflows/rapido.md +7 -1
- package/up/workflows/up.md +447 -0
- package/up/agents/up-analista-codigo.md +0 -446
- package/up/agents/up-api-tester.md +0 -405
- package/up/agents/up-architecture-supervisor.md +0 -126
- package/up/agents/up-audit-supervisor.md +0 -83
- package/up/agents/up-auditor-modernidade.md +0 -378
- package/up/agents/up-auditor-performance.md +0 -426
- package/up/agents/up-auditor-ux.md +0 -396
- package/up/agents/up-backend-specialist.md +0 -175
- package/up/agents/up-blind-validator.md +0 -259
- package/up/agents/up-chief-architect.md +0 -184
- package/up/agents/up-chief-engineer.md +0 -202
- package/up/agents/up-chief-operations.md +0 -123
- package/up/agents/up-chief-product.md +0 -103
- package/up/agents/up-chief-quality.md +0 -211
- package/up/agents/up-clone-crawler.md +0 -234
- package/up/agents/up-clone-design-extractor.md +0 -227
- package/up/agents/up-clone-feature-mapper.md +0 -225
- package/up/agents/up-clone-prd-writer.md +0 -169
- package/up/agents/up-clone-verifier.md +0 -227
- package/up/agents/up-code-reviewer.md +0 -229
- package/up/agents/up-consolidador-ideias.md +0 -493
- package/up/agents/up-database-specialist.md +0 -169
- package/up/agents/up-delivery-auditor.md +0 -247
- package/up/agents/up-devops-agent.md +0 -203
- package/up/agents/up-execution-supervisor.md +0 -315
- package/up/agents/up-exhaustive-tester.md +0 -348
- package/up/agents/up-frontend-specialist.md +0 -152
- package/up/agents/up-operations-supervisor.md +0 -94
- package/up/agents/up-pesquisador-mercado.md +0 -350
- package/up/agents/up-pesquisador-projeto.md +0 -358
- package/up/agents/up-planning-auditor.md +0 -284
- package/up/agents/up-planning-supervisor.md +0 -260
- package/up/agents/up-product-analyst.md +0 -192
- package/up/agents/up-product-supervisor.md +0 -83
- package/up/agents/up-project-ceo.md +0 -352
- package/up/agents/up-qa-agent.md +0 -171
- package/up/agents/up-quality-supervisor.md +0 -178
- package/up/agents/up-requirements-validator.md +0 -230
- package/up/agents/up-security-reviewer.md +0 -137
- package/up/agents/up-sintetizador-melhorias.md +0 -407
- package/up/agents/up-system-designer.md +0 -332
- package/up/agents/up-technical-writer.md +0 -188
- package/up/agents/up-verification-supervisor.md +0 -111
- package/up/agents/up-visual-critic.md +0 -358
- package/up/commands/adicionar-fase.md +0 -47
- package/up/commands/adicionar-testes.md +0 -145
- package/up/commands/ajuda.md +0 -176
- package/up/commands/atualizar.md +0 -103
- package/up/commands/clone-builder.md +0 -67
- package/up/commands/configurar.md +0 -219
- package/up/commands/custos.md +0 -67
- package/up/commands/dashboard.md +0 -48
- package/up/commands/discutir-fase.md +0 -35
- package/up/commands/executar-fase.md +0 -40
- package/up/commands/ideias.md +0 -49
- package/up/commands/iniciar.md +0 -31
- package/up/commands/mapear-codigo.md +0 -63
- package/up/commands/melhorias.md +0 -45
- package/up/commands/mobile-first.md +0 -71
- package/up/commands/modo-builder.md +0 -186
- package/up/commands/novo-projeto.md +0 -40
- package/up/commands/onboard.md +0 -69
- package/up/commands/pausar.md +0 -33
- package/up/commands/planejar-fase.md +0 -45
- package/up/commands/progresso.md +0 -33
- package/up/commands/remover-fase.md +0 -34
- package/up/commands/resetar.md +0 -27
- package/up/commands/retomar.md +0 -35
- package/up/commands/saude.md +0 -103
- package/up/commands/ux-tester.md +0 -63
- package/up/commands/verificar-trabalho.md +0 -35
- package/up/workflows/adicionar-fase.md +0 -112
- package/up/workflows/builder-e2e.md +0 -501
- package/up/workflows/builder.md +0 -3419
- package/up/workflows/ceo-intake.md +0 -305
- package/up/workflows/ceo-updates.md +0 -183
- package/up/workflows/clone-builder.md +0 -320
- package/up/workflows/discutir-fase.md +0 -336
- package/up/workflows/executar-fase.md +0 -358
- package/up/workflows/executar-plano.md +0 -659
- package/up/workflows/ideias.md +0 -381
- package/up/workflows/iniciar.md +0 -235
- package/up/workflows/melhorias.md +0 -409
- package/up/workflows/mobile-first.md +0 -692
- package/up/workflows/novo-projeto.md +0 -778
- package/up/workflows/planejar-fase.md +0 -293
- package/up/workflows/progresso.md +0 -226
- package/up/workflows/retomar.md +0 -231
- package/up/workflows/ux-tester.md +0 -526
- package/up/workflows/verificar-trabalho.md +0 -308
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# TDD por Tipo: Evidência Exigida pelo Gate
|
|
2
|
+
|
|
3
|
+
Referência operacional carregada sob demanda pelo `up-verificador` e citada pelas skills
|
|
4
|
+
`up-tdd` e `up-verificar-antes-de-concluir`. Define os 3 tipos de evidência, a prova
|
|
5
|
+
exigida de cada um e o formato do campo `evidence=` no `approvals.log`.
|
|
6
|
+
|
|
7
|
+
A Lei de Ferro do UP nao é "TDD-unit sempre". É "evidência fresca do TIPO CERTO antes de
|
|
8
|
+
afirmar pronto". TDD-unit red-green é UMA das três provas. O tipo de código decide qual prova
|
|
9
|
+
o gate de fase aceita. Sem a evidência do tipo certo, o veredito do revisor NAO pode ser APPROVE.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Os 3 tipos e a prova de cada
|
|
14
|
+
|
|
15
|
+
| Tipo | Natureza do código | Prova exigida (evidência) | `evidence=` |
|
|
16
|
+
|------|--------------------|---------------------------|-------------|
|
|
17
|
+
| **logic** | lógica pura, parser, cálculo, algoritmo, API própria, bugfix | teste red-green VISTO falhar antes de passar | `evidence=logic:test_pass` |
|
|
18
|
+
| **ui** | componente visual, CSS, layout, estilo, página | captura visual ANTES e DEPOIS (Playwright / `up-tester`) | `evidence=ui:visual` |
|
|
19
|
+
| **glue** | integração externa (Asaas, uazapi, Supabase, Shopify, webhook, OAuth, payment) | smoke-test: UMA chamada real (ou sandbox) com resposta esperada | `evidence=glue:smoke` |
|
|
20
|
+
|
|
21
|
+
### logic -> teste red-green visto falhar
|
|
22
|
+
A prova NAO é "tem teste". É ter visto o teste FALHAR antes do código existir e PASSAR depois.
|
|
23
|
+
Teste que passa de primeira nao prova nada (pode estar testando o nada). Para bugfix: o teste
|
|
24
|
+
reproduz o bug (falha antes do fix), passa depois, e ao reverter o fix volta a falhar (regressão).
|
|
25
|
+
Resultado aceito: saída do runner com 0 falhas no comportamento-alvo, depois de tê-lo visto vermelho.
|
|
26
|
+
|
|
27
|
+
### ui -> captura visual antes/depois
|
|
28
|
+
NAO é red-green com mock. "O CSS parece certo" nao prova nada. A prova é o par de screenshots
|
|
29
|
+
(antes e depois) da mudança, via Playwright ou `up-tester`. Sem o par antes/depois, o gate nao passa.
|
|
30
|
+
Resultado aceito: existem as duas capturas e a diferença bate com a mudança pretendida.
|
|
31
|
+
|
|
32
|
+
### glue -> smoke-test
|
|
33
|
+
Nao dá pra red-green de verdade contra dependência externa. "O endpoint existe" nao prova integração.
|
|
34
|
+
A prova é UMA chamada real (ou contra sandbox/staging) confirmando a resposta esperada.
|
|
35
|
+
Resultado aceito: a chamada retornou o status/payload esperado nesta sessão.
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Como determinar o tipo (heurística)
|
|
40
|
+
|
|
41
|
+
O tipo sai do `classify-task` (`frontmatter_type` + `reasons`) do `up-tools.cjs`, com fallback
|
|
42
|
+
pela natureza da mudança quando nao há plano formal:
|
|
43
|
+
|
|
44
|
+
1. **glue** se: `frontmatter_type=integration`, ou `reasons` contém `external_integration` /
|
|
45
|
+
`payment`, ou o código toca Asaas / uazapi / Supabase / Shopify / webhook / OAuth / API de terceiro.
|
|
46
|
+
2. **ui** se (e nao for glue): `frontmatter_type=frontend`, ou a mudança toca componente /
|
|
47
|
+
`.css` / `.tsx` de view / layout / estilo, sem lógica de negócio testável isolada.
|
|
48
|
+
3. **logic** caso contrário (default): `frontmatter_type` backend / database / refactor / docs-com-código,
|
|
49
|
+
ou parser / cálculo / algoritmo / API-própria / bugfix. Lógica pura sempre cai aqui.
|
|
50
|
+
|
|
51
|
+
Uma fase pode misturar tipos (ex: filtro de data = lógica do filtro `logic` + render `ui`).
|
|
52
|
+
Nesse caso exija a evidência de CADA tipo presente e registre uma linha `evidence=` por tipo.
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Formato no approvals.log (formato estendido, Fase 3)
|
|
57
|
+
|
|
58
|
+
O gate de fase só APROVA com uma entrada `up-revisor` que carregue o campo `evidence=` do tipo certo.
|
|
59
|
+
Formato da linha (uma por veredito; o `evidence=` vai na MESMA linha):
|
|
60
|
+
|
|
61
|
+
```
|
|
62
|
+
<timestamp ISO> | phase-N | up-revisor | <DECISAO> | <motivo> | evidence=<tipo>:<resultado>
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
- `<tipo>` ∈ `{logic, ui, glue}`
|
|
66
|
+
- `<resultado>` ∈ `{test_pass, visual, smoke}` (test_pass casa com logic, visual com ui, smoke com glue)
|
|
67
|
+
- `<DECISAO>` ∈ `{APPROVE, REQUEST_CHANGES, BLOCK}`
|
|
68
|
+
|
|
69
|
+
Múltiplos tipos na mesma fase -> várias linhas, uma por tipo:
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
2026-05-30T14:00:00Z | phase-3 | up-revisor | APPROVE | filtro ok | evidence=logic:test_pass
|
|
73
|
+
2026-05-30T14:00:01Z | phase-3 | up-revisor | APPROVE | render ok | evidence=ui:visual
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Regra dura do gate: existe entrada `phase-N` do `up-revisor` COM `evidence=` preenchido e o
|
|
77
|
+
`<resultado>` corresponde ao `<tipo>`. Sem isso (campo ausente ou tipo errado), trate como
|
|
78
|
+
evidência faltando e NAO aprove a fase: volte e produza a prova do tipo certo.
|
|
79
|
+
|
|
80
|
+
Exceções (só com permissão explícita do dono): protótipo descartável, código gerado, arquivo de config.
|
|
81
|
+
Nesses casos registre `evidence=<tipo>:exempted` com o motivo no `<motivo>`.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: up-brainstorm
|
|
3
|
+
description: "Use antes de QUALQUER trabalho criativo: criar feature, montar componente, adicionar funcionalidade, mudar comportamento, iniciar projeto ou tarefa. Explora intencao, requisitos e design antes de implementar. Aplica a todo projeto, por mais simples que pareca."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# UP Brainstorm
|
|
7
|
+
|
|
8
|
+
<HARD-GATE>
|
|
9
|
+
NAO invoque skill de implementacao, NAO escreva codigo, NAO faca scaffold, NAO tome acao de implementacao ate ter apresentado um design e o usuario ter aprovado. Vale para TODO projeto, independente da simplicidade percebida. O design pode ser curto, mas TEM que ser apresentado e aprovado.
|
|
10
|
+
</HARD-GATE>
|
|
11
|
+
|
|
12
|
+
Anti-padrao combatido: "isso e simples demais pra precisar de design". Mesmo um todo list ou mudanca de config passa pelo processo. O design escala, o gate nao.
|
|
13
|
+
|
|
14
|
+
## Profundidade escalada por tamanho
|
|
15
|
+
|
|
16
|
+
Classifique a tarefa com o `classify-task` do `up-tools.cjs` (tiers: `simple` / `standard` / `complex`). Heuristica equivalente quando ainda nao ha plano: nº de arquivos provaveis, palavra de arquitetura, toca schema/API/auth.
|
|
17
|
+
|
|
18
|
+
| Tier | Profundidade |
|
|
19
|
+
|------|--------------|
|
|
20
|
+
| **Trivial** (1 arquivo, sem decisao de arquitetura) | 0 perguntas. Anuncia em 1 linha o que vai fazer e onde. Executa. |
|
|
21
|
+
| **Pequena** (1 subsistema, 1 escolha de design) | 1 pergunta via AskUserQuestion (a decisao-chave) + design em 3 frases. Aprova e segue. |
|
|
22
|
+
| **Media / Grande** (multi-subsistema, toca schema/API/auth) | Brainstorm full. |
|
|
23
|
+
|
|
24
|
+
## Brainstorm full (media/grande)
|
|
25
|
+
|
|
26
|
+
1. **Explore o contexto** (arquivos, docs, commits recentes).
|
|
27
|
+
2. **Companion visual:** se o topico tem questao visual (mockup, layout, comparacao), ofereca em mensagem isolada, sozinha. Jonathan e visual: ofereca por default em UI.
|
|
28
|
+
3. **Perguntas uma por vez.** Multipla escolha preferida. Foco: proposito, restricoes, criterio de sucesso. Se o escopo for multiplos subsistemas independentes, sinalize JA e ajude a decompor em sub-projetos.
|
|
29
|
+
4. **Proponha 2-3 abordagens** com trade-offs e sua recomendacao.
|
|
30
|
+
5. **Apresente o design por SECAO** (arquitetura / componentes / dados / erros / testes), cada secao escalada a complexidade, aprovacao do usuario apos CADA secao.
|
|
31
|
+
6. **Escreva BRIEFING.md** e commite (`docs(brief): <topico>`).
|
|
32
|
+
7. **Self-review do briefing** (inline, sem re-review): caca placeholders (TBD/TODO), contradicoes, escopo amplo demais, ambiguidade. Corrige.
|
|
33
|
+
8. **Gate de revisao humana:** peca ao usuario revisar o BRIEFING.md antes de prosseguir. Espera resposta.
|
|
34
|
+
|
|
35
|
+
Principios: uma pergunta por vez, multipla escolha, YAGNI sem piedade, sempre alternativas, validacao incremental.
|
|
36
|
+
|
|
37
|
+
## Estado terminal
|
|
38
|
+
|
|
39
|
+
Aprovado o design, transicione para o planejamento (`/up:plan`). Nao invoque skill de implementacao direto a partir daqui.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: up-tdd
|
|
3
|
+
description: "Use ao implementar qualquer feature, ajuste ou bugfix, antes de escrever o codigo de implementacao. A prova exigida varia por tipo de codigo: teste red-green para logica, captura visual para UI, smoke-test para integracao."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# UP TDD por Tipo
|
|
7
|
+
|
|
8
|
+
A Lei de Ferro real e "evidencia fresca antes de afirmar pronto" (ver `up-verificar-antes-de-concluir`). TDD-unit nao e universal: e UMA forma de prova. O tipo de codigo decide qual prova o gate exige.
|
|
9
|
+
|
|
10
|
+
Leia o tipo via `classify-task` (`frontmatter_type`, reasons) do `up-tools.cjs`, ou classifique pela natureza da mudanca. Os 3 tipos, a prova de cada e o formato do campo `evidence=<tipo>:<resultado>` estao na ref `tdd-evidence-types` (carregada pelo `up-verificador`). O gate `approvals.log` so passa com a linha do `up-revisor` carregando `evidence=` do tipo certo (`logic:test_pass` | `ui:visual` | `glue:smoke`).
|
|
11
|
+
|
|
12
|
+
## Logica / parser / calculo / API-propria / bugfix -> red-green-refactor de verdade
|
|
13
|
+
|
|
14
|
+
**Lei:** NENHUM CODIGO DE PRODUCAO SEM UM TESTE FALHANDO ANTES. Escreveu codigo antes do teste? Delete. Recomece dos testes.
|
|
15
|
+
|
|
16
|
+
- **RED:** escreva UM teste minimal de um comportamento, codigo real (sem mock salvo inevitavel).
|
|
17
|
+
- **Verifique RED (obrigatorio, nunca pule):** rode o teste. Confirme que FALHA (nao da erro), que a mensagem e a esperada, que falha porque a feature falta. Se voce nao viu o teste falhar, nao sabe se ele testa a coisa certa.
|
|
18
|
+
- **GREEN:** codigo minimo pra passar. Nada de `options?` extra, nada de "melhorar alem do teste". YAGNI.
|
|
19
|
+
- **Verifique GREEN (obrigatorio):** rode, confirme que passa, que os outros testes seguem verdes, saida limpa (zero warnings).
|
|
20
|
+
- **REFACTOR:** so depois do verde. Remove duplicacao, melhora nomes, mantem verde, nao adiciona comportamento.
|
|
21
|
+
- **Bugfix:** escreva o teste que reproduz o bug antes do fix. Regressao: escreve -> roda (passa) -> reverte o fix -> roda (DEVE falhar) -> restaura -> roda (passa).
|
|
22
|
+
|
|
23
|
+
## UI / CSS -> prova visual obrigatoria
|
|
24
|
+
|
|
25
|
+
NAO e red-green com mock. A prova e a captura. Tire screenshot ANTES e DEPOIS via Playwright (ou `up-tester`) e compare. "O CSS parece certo" nao prova nada. Sem o antes/depois, o gate nao passa.
|
|
26
|
+
|
|
27
|
+
## Glue / integracao (Asaas, uazapi, Supabase, Shopify, webhooks) -> smoke-test obrigatorio
|
|
28
|
+
|
|
29
|
+
Nao da pra red-green de verdade contra dependencia externa. A prova e o smoke-test: rode UMA chamada real (ou contra sandbox) e confirme a resposta esperada. "O endpoint existe" nao prova integracao.
|
|
30
|
+
|
|
31
|
+
## Common rationalizations (matam o atalho)
|
|
32
|
+
|
|
33
|
+
- "Testo depois." -> Teste que passa de primeira nao prova nada.
|
|
34
|
+
- "Deletar X horas de codigo e desperdicio." -> Falacia do custo afundado. Codigo nao verificado e divida tecnica.
|
|
35
|
+
- "TDD e dogmatico, estou sendo pragmatico." -> TDD E pragmatico.
|
|
36
|
+
- "Pulo o TDD so dessa vez." -> Isso e racionalizacao. Pare.
|
|
37
|
+
- "Violar a letra da regra e violar o espirito da regra."
|
|
38
|
+
|
|
39
|
+
Excecoes (so com permissao explicita): prototipo descartavel, codigo gerado, arquivo de config.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: up-verificar-antes-de-concluir
|
|
3
|
+
description: "Use quando estiver prestes a afirmar que um trabalho esta completo, corrigido, funcionando ou passando. Exige rodar o comando de prova e confirmar a saida ANTES de qualquer afirmacao de sucesso. Evidencia antes de afirmacao, sempre."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# UP Verificar Antes de Concluir
|
|
7
|
+
|
|
8
|
+
**Lei de Ferro:** NENHUMA AFIRMACAO DE CONCLUSAO SEM EVIDENCIA FRESCA NESTA MENSAGEM.
|
|
9
|
+
|
|
10
|
+
Se voce nao rodou o comando de prova NESTA mensagem, voce nao pode afirmar que passa. Afirmar conclusao sem verificar e desonestidade, nao eficiencia.
|
|
11
|
+
|
|
12
|
+
## A funcao de gate
|
|
13
|
+
|
|
14
|
+
Antes de afirmar qualquer status ou expressar satisfacao:
|
|
15
|
+
|
|
16
|
+
1. **IDENTIFIQUE:** qual comando prova essa afirmacao?
|
|
17
|
+
2. **RODE:** execute o comando COMPLETO (fresco, inteiro).
|
|
18
|
+
3. **LEIA:** saida inteira, exit code, conte as falhas.
|
|
19
|
+
4. **VERIFIQUE:** a saida confirma a afirmacao?
|
|
20
|
+
5. **SO ENTAO:** faca a afirmacao.
|
|
21
|
+
|
|
22
|
+
Pulou um passo = mentir, nao verificar.
|
|
23
|
+
|
|
24
|
+
## Afirmacao -> exige -> nao basta
|
|
25
|
+
|
|
26
|
+
| Afirmacao | Exige | NAO basta |
|
|
27
|
+
|-----------|-------|-----------|
|
|
28
|
+
| "Testes passam" | Saida do comando: 0 falhas | "rodou antes" / "deveria passar" |
|
|
29
|
+
| "Bug corrigido" | Repro falha antes, passa depois | "mudei a linha certa" |
|
|
30
|
+
| "UI ajustada" | Captura visual depois (Playwright) | "o CSS parece certo" |
|
|
31
|
+
| "Integracao funciona" | Smoke-test com resposta real | "o endpoint existe" |
|
|
32
|
+
| "Subagente concluiu" | Diff do VCS mostra as mudancas | "o agente relatou sucesso" |
|
|
33
|
+
| "Pronto" | Todas as provas acima do tipo certo | satisfacao |
|
|
34
|
+
|
|
35
|
+
Confie no diff do VCS, nao no relatorio. Subagente terminou rapido demais? Inspecione o codigo de verdade.
|
|
36
|
+
|
|
37
|
+
A prova exigida por tipo (logic=teste red-green / ui=captura / glue=smoke) e o campo `evidence=<tipo>:<resultado>` que o gate de fase le no `approvals.log` estao na ref `tdd-evidence-types`. O `up-revisor` so APROVA com a `evidence=` do tipo certo logada.
|
|
38
|
+
|
|
39
|
+
## Red flags (racionalizacoes que matam o atalho)
|
|
40
|
+
|
|
41
|
+
- "Isso e obviamente certo, nao preciso rodar." -> Rode.
|
|
42
|
+
- "Ja rodei algo parecido antes." -> Saida antiga nao prova esta mudanca.
|
|
43
|
+
- "Vou expressar satisfacao" ("Otimo!", "Perfeito!", "Pronto!") antes de verificar. -> PARE. Verifique primeiro.
|
|
44
|
+
- "E so um ajuste pequeno." -> Pequeno tambem quebra. Prove.
|
|
45
|
+
- "Violar a letra da regra e violar o espirito da regra." Nao ha "estou seguindo o espirito".
|
|
46
|
+
|
|
47
|
+
## Cultura anti-bajulacao
|
|
48
|
+
|
|
49
|
+
Honestidade e valor central. Proibido bajular ("voce tem toda razao", "otimo ponto") ou agradecer feedback antes de verifica-lo contra o codebase. Acao fala: declare a correcao, nao o agradecimento. Se um review aponta erro, cheque se e tecnicamente correto PARA ESTE codebase antes de implementar. Se voce estava errado, corrija sem desculpa longa.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: usando-up
|
|
3
|
+
description: "Use no inicio de toda sessao e antes de qualquer trabalho de codigo, design ou decisao no projeto. Bootstrap do UP injetado pelo hook SessionStart."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Usando o UP
|
|
7
|
+
|
|
8
|
+
<SUBAGENT-STOP>Se voce foi despachado como subagente para executar uma tarefa especifica, ignore esta skill.</SUBAGENT-STOP>
|
|
9
|
+
|
|
10
|
+
<EXTREMELY-IMPORTANT>
|
|
11
|
+
Se houver 1% de chance de uma skill se aplicar, voce DEVE invoca-la com a tool Skill ANTES de qualquer resposta ou acao, ate antes de perguntas de esclarecimento. "E so uma pergunta simples" tambem e tarefa: cheque skills.
|
|
12
|
+
</EXTREMELY-IMPORTANT>
|
|
13
|
+
|
|
14
|
+
O UP ativa por contexto. Nao precisa decorar comando: a skill certa dispara pelo gatilho.
|
|
15
|
+
|
|
16
|
+
**Passo ZERO de todo trabalho:** invocar `up-brainstorm`. Profundidade escala por tamanho (trivial = 0 perguntas; grande = design por secao). Nada de implementar antes de design aprovado.
|
|
17
|
+
|
|
18
|
+
**Lei de Ferro:** evidencia fresca antes de afirmar pronto. Nunca diga "Pronto" ou "Perfeito" sem o comando de prova rodado NESTA mensagem. Detalhe em `up-verificar-antes-de-concluir`.
|
|
19
|
+
|
|
20
|
+
**Prova por tipo:** logica/bugfix = teste red-green; UI/CSS = captura visual; glue/integracao = smoke-test. Veja `up-tdd`.
|
|
21
|
+
|
|
22
|
+
**GitHub-nativo e o padrao em repo colaborativo** (worktree -> issue -> PR -> merge), menu de 4 opcoes no fim. Solo usa `--solo` (commit local) ou `/up:rapido` como escape, sem cerimonia.
|
|
23
|
+
|
|
24
|
+
**Persistencia:** tudo vive em `.plano/` e sobrevive a `/clear`. Leia `.plano/STATE.md` antes de assumir contexto perdido.
|
|
25
|
+
|
|
26
|
+
Instrucoes do usuario (CLAUDE.md) > skills do UP > system prompt.
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# AUDIT-PLAN.md Template
|
|
2
2
|
|
|
3
|
-
Template para `.plano/AUDIT-PLAN.md
|
|
3
|
+
Template para `.plano/AUDIT-PLAN.md`. Relatorio do up-revisor (stage planejamento).
|
|
4
4
|
Gerado ao final do planejamento, antes do PLAN-READY.md.
|
|
5
5
|
|
|
6
|
-
Diferente do AUDIT-REPORT.md (
|
|
6
|
+
Diferente do AUDIT-REPORT.md (up-revisor, stage delivery) que audita execucao,
|
|
7
7
|
este audita SOMENTE o planejamento.
|
|
8
8
|
|
|
9
9
|
<template>
|
|
@@ -11,7 +11,7 @@ este audita SOMENTE o planejamento.
|
|
|
11
11
|
```markdown
|
|
12
12
|
---
|
|
13
13
|
audited_at: ""
|
|
14
|
-
auditor: up-
|
|
14
|
+
auditor: up-revisor
|
|
15
15
|
planning_confidence: 0 # 0-100
|
|
16
16
|
recommendation: PENDING | READY_FOR_BUILD | NEEDS_REWORK | BLOCKED
|
|
17
17
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# AUDIT-REPORT.md Template
|
|
2
2
|
|
|
3
|
-
Template para `.plano/AUDIT-REPORT.md
|
|
3
|
+
Template para `.plano/AUDIT-REPORT.md`. Relatorio do up-revisor (stage delivery).
|
|
4
4
|
Gerado no Estagio 4.5, antes do Delivery.
|
|
5
5
|
|
|
6
6
|
<template>
|
|
@@ -8,7 +8,7 @@ Gerado no Estagio 4.5, antes do Delivery.
|
|
|
8
8
|
```markdown
|
|
9
9
|
---
|
|
10
10
|
audited_at: ""
|
|
11
|
-
auditor: up-
|
|
11
|
+
auditor: up-revisor
|
|
12
12
|
confidence_score: 0
|
|
13
13
|
quality_score: 0
|
|
14
14
|
recommendation: PENDING | READY_FOR_DELIVERY | NEEDS_REWORK | BLOCKED
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Design Tokens — {PROJECT_NAME}
|
|
2
2
|
|
|
3
|
-
Referencia visual do projeto. Gerado pelo up-
|
|
4
|
-
Usado pelo up-visual
|
|
3
|
+
Referencia visual do projeto. Gerado pelo up-arquiteto durante a fase de arquitetura.
|
|
4
|
+
Usado pelo up-tester (passe visual) como baseline para avaliar consistencia visual.
|
|
5
5
|
|
|
6
6
|
---
|
|
7
7
|
|
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
<purpose>
|
|
2
|
+
Workflow `/up:auditar` — Auditoria priorizada de produto num passe unico.
|
|
3
|
+
|
|
4
|
+
Funde melhorias.md + ideias.md. Spawna `up-auditor` (1x, passe unico de UX + performance + modernidade)
|
|
5
|
+
e `up-sintetizador` (consolida, dedup, prioriza). Com `--features`, tambem spawna `up-pesquisador`
|
|
6
|
+
modo mercado pra sugerir features novas (analise de gaps + concorrentes/tendencias).
|
|
7
|
+
|
|
8
|
+
Standalone: nao requer projeto UP inicializado.
|
|
9
|
+
</purpose>
|
|
10
|
+
|
|
11
|
+
<core_principle>
|
|
12
|
+
Antes eram 3 auditores (ux/perf/modernidade) + 1 sintetizador-melhorias para `/up:melhorias`, e
|
|
13
|
+
analista-codigo + pesquisador-mercado + consolidador-ideias para `/up:ideias`. Agora:
|
|
14
|
+
- `up-auditor` faz o passe unico das 3 dimensoes (carrega as refs audit-ux/audit-performance/audit-modernidade
|
|
15
|
+
sob demanda) e, com `--features`, tambem analisa gaps funcionais.
|
|
16
|
+
- `up-pesquisador` (modo mercado) so entra com `--features` pra trazer evidencia de mercado.
|
|
17
|
+
- `up-sintetizador` consolida tudo: dedup cross-dimensao, matriz esforco x impacto (melhorias),
|
|
18
|
+
ICE scoring + anti-features (features), sumario opinativo.
|
|
19
|
+
|
|
20
|
+
Relatorio e informativo. NAO commitar automaticamente. NAO mexer em STATE.md (auditoria e standalone).
|
|
21
|
+
</core_principle>
|
|
22
|
+
|
|
23
|
+
<process>
|
|
24
|
+
|
|
25
|
+
## Passo 1: Inicializar e carregar contexto
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
INIT=$(node "$HOME/.claude/up/bin/up-tools.cjs" init auditar)
|
|
29
|
+
if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Parse JSON: `planning_exists`, `has_claude_md`, `has_package_json`, `date`, `timestamp`,
|
|
33
|
+
`commit_docs`, `stack_hints`.
|
|
34
|
+
|
|
35
|
+
**Detectar flag `--features`** no $ARGUMENTS (ativa o modo de ideacao de features).
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
39
|
+
UP > AUDITORIA DE PRODUTO
|
|
40
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Passo 2: Setup standalone
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
mkdir -p .plano/auditar
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Se `.plano/auditar/RELATORIO.md` ja existe: perguntar via AskUserQuestion se sobrescreve ou cancela.
|
|
50
|
+
Se cancelar: sair mantendo o relatorio anterior.
|
|
51
|
+
|
|
52
|
+
Reportar a stack detectada (de `stack_hints`): framework frontend, meta-framework, CSS, ORM, TypeScript.
|
|
53
|
+
Se `has_package_json` = false: avisar que o auditor vai detectar a stack por outros sinais.
|
|
54
|
+
|
|
55
|
+
## Passo 3: Spawn do auditor (passe unico)
|
|
56
|
+
|
|
57
|
+
Spawnar `up-auditor` 1x. Ele cobre UX + performance + modernidade num passe (e gaps funcionais se `--features`).
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
Task(
|
|
61
|
+
subagent_type="up-auditor",
|
|
62
|
+
description="Auditoria de produto (passe unico)",
|
|
63
|
+
prompt="
|
|
64
|
+
<objective>
|
|
65
|
+
Auditar o produto num passe unico nas dimensoes UX, performance e modernidade. Mapa de cobertura
|
|
66
|
+
obrigatorio. Salvar resultado por dimensao.
|
|
67
|
+
{Se --features: tambem mapear gaps funcionais e oportunidades de features novas no codebase.}
|
|
68
|
+
</objective>
|
|
69
|
+
|
|
70
|
+
<files_to_read>
|
|
71
|
+
- ./CLAUDE.md (se existir)
|
|
72
|
+
</files_to_read>
|
|
73
|
+
|
|
74
|
+
<constraints>
|
|
75
|
+
- Carregar sob demanda: $HOME/.claude/up/references/audit-ux.md,
|
|
76
|
+
$HOME/.claude/up/references/audit-performance.md, $HOME/.claude/up/references/audit-modernidade.md
|
|
77
|
+
- Carregar template: $HOME/.claude/up/templates/suggestion.md
|
|
78
|
+
- Detectar a stack (primeiro passo)
|
|
79
|
+
- Produzir sugestoes UX-NNN, PERF-NNN, MOD-NNN no formato do template, com mapa de cobertura
|
|
80
|
+
- {Se --features: produzir IDEA-NNN para gaps funcionais com Dimensao=Ideias}
|
|
81
|
+
- Salvar em:
|
|
82
|
+
- .plano/auditar/ux-sugestoes.md
|
|
83
|
+
- .plano/auditar/performance-sugestoes.md
|
|
84
|
+
- .plano/auditar/modernidade-sugestoes.md
|
|
85
|
+
{Se --features: .plano/auditar/gaps-sugestoes.md}
|
|
86
|
+
- Retornar resumo no formato: ## AUDITORIA COMPLETA (com contagem por dimensao e cobertura)
|
|
87
|
+
</constraints>
|
|
88
|
+
"
|
|
89
|
+
)
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## Passo 3b: Pesquisa de mercado (SO com --features)
|
|
93
|
+
|
|
94
|
+
Se `--features` estiver presente, spawnar `up-pesquisador` modo mercado EM PARALELO com nada
|
|
95
|
+
(ja que o auditor ja rodou; pode rodar logo apos, ou junto se preferir 1 mensagem com os dois Task).
|
|
96
|
+
|
|
97
|
+
```
|
|
98
|
+
Task(
|
|
99
|
+
subagent_type="up-pesquisador",
|
|
100
|
+
description="Pesquisa de mercado para features",
|
|
101
|
+
prompt="
|
|
102
|
+
<modo>mercado</modo>
|
|
103
|
+
<objective>
|
|
104
|
+
Pesquisar concorrentes e tendencias de mercado pra sugerir features novas para este projeto.
|
|
105
|
+
Salvar em .plano/auditar/mercado-sugestoes.md
|
|
106
|
+
</objective>
|
|
107
|
+
|
|
108
|
+
<files_to_read>
|
|
109
|
+
- ./CLAUDE.md, ./README.md, ./package.json (se existirem -- dominio e dependencias)
|
|
110
|
+
</files_to_read>
|
|
111
|
+
|
|
112
|
+
<constraints>
|
|
113
|
+
- Carregar template: $HOME/.claude/up/templates/suggestion.md
|
|
114
|
+
- Entender o dominio, pesquisar concorrentes e tendencias via WebSearch
|
|
115
|
+
- Cada sugestao IDEA-NNN com evidencia de mercado (concorrente ou tendencia)
|
|
116
|
+
- Sinalizar LOW confidence quando baseado so em dados de treinamento
|
|
117
|
+
- Limitar a 10-15 sugestoes
|
|
118
|
+
- Retornar resumo no formato: ## PESQUISA DE MERCADO COMPLETA
|
|
119
|
+
</constraints>
|
|
120
|
+
"
|
|
121
|
+
)
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
## Passo 4: Verificar resultados
|
|
125
|
+
|
|
126
|
+
Confirmar que os arquivos de sugestoes foram criados (ux/performance/modernidade sempre;
|
|
127
|
+
gaps + mercado so com `--features`). Se algum faltar, reportar qual passo falhou e seguir com os
|
|
128
|
+
disponiveis (o sintetizador aceita subconjunto).
|
|
129
|
+
|
|
130
|
+
```
|
|
131
|
+
## Resultados
|
|
132
|
+
|
|
133
|
+
| Dimensao | Sugestoes | Cobertura | Status |
|
|
134
|
+
|----------|-----------|-----------|--------|
|
|
135
|
+
| UX | N | X/Y (Z%) | Completo |
|
|
136
|
+
| Performance | N | X/Y (Z%) | Completo |
|
|
137
|
+
| Modernidade | N | X/Y (Z%) | Completo |
|
|
138
|
+
[se --features] | Gaps/Features | N | - | Completo |
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
## Passo 5: Spawn do sintetizador (consolida)
|
|
142
|
+
|
|
143
|
+
Spawnar `up-sintetizador` SEQUENCIALMENTE (apos confirmar os arquivos).
|
|
144
|
+
|
|
145
|
+
```
|
|
146
|
+
Task(
|
|
147
|
+
subagent_type="up-sintetizador",
|
|
148
|
+
description="Consolidar auditoria",
|
|
149
|
+
prompt="
|
|
150
|
+
<modo>auditoria</modo>
|
|
151
|
+
<objective>
|
|
152
|
+
Consolidar as sugestoes em relatorio unico. Deduplicar cross-dimensao, detectar conflitos,
|
|
153
|
+
classificar melhorias na matriz esforco x impacto (4 quadrantes).
|
|
154
|
+
{Se --features: aplicar ICE scoring as features e gerar anti-features (ceil(positivas/3)).}
|
|
155
|
+
Salvar em .plano/auditar/RELATORIO.md
|
|
156
|
+
</objective>
|
|
157
|
+
|
|
158
|
+
<files_to_read>
|
|
159
|
+
- .plano/auditar/ux-sugestoes.md
|
|
160
|
+
- .plano/auditar/performance-sugestoes.md
|
|
161
|
+
- .plano/auditar/modernidade-sugestoes.md
|
|
162
|
+
{Se --features:}
|
|
163
|
+
- .plano/auditar/gaps-sugestoes.md
|
|
164
|
+
- .plano/auditar/mercado-sugestoes.md
|
|
165
|
+
- ./CLAUDE.md (se existir)
|
|
166
|
+
</files_to_read>
|
|
167
|
+
|
|
168
|
+
<constraints>
|
|
169
|
+
- Carregar templates: $HOME/.claude/up/templates/report.md e $HOME/.claude/up/templates/suggestion.md
|
|
170
|
+
- Dedup cross-dimensao (mesmo arquivo, linhas sobrepostas, problema similar)
|
|
171
|
+
- Melhorias: renumerar para MELH-NNN, classificar nos 4 quadrantes
|
|
172
|
+
- {Features: ICE scoring por feature, anti-features, ranking por ICE decrescente, IDs IDEA-NNN}
|
|
173
|
+
- Sumario executivo OPINATIVO (por onde comecar; top features se --features)
|
|
174
|
+
- Salvar em .plano/auditar/RELATORIO.md
|
|
175
|
+
- Retornar resumo no formato: ## SINTESE COMPLETA
|
|
176
|
+
</constraints>
|
|
177
|
+
"
|
|
178
|
+
)
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
Confirmar que `.plano/auditar/RELATORIO.md` existe. Se nao, erro: "Sintetizador falhou ao criar RELATORIO.md".
|
|
182
|
+
|
|
183
|
+
## Passo 6: Apresentar relatorio
|
|
184
|
+
|
|
185
|
+
Ler `.plano/auditar/RELATORIO.md` e exibir:
|
|
186
|
+
|
|
187
|
+
```
|
|
188
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
189
|
+
UP > AUDITORIA COMPLETA
|
|
190
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
191
|
+
|
|
192
|
+
[Sumario Executivo -- 2-3 paragrafos opinativos]
|
|
193
|
+
|
|
194
|
+
## Visao Geral
|
|
195
|
+
[Tabela de visao geral do relatorio]
|
|
196
|
+
|
|
197
|
+
## Distribuicao (melhorias)
|
|
198
|
+
| Quadrante | Total |
|
|
199
|
+
|-----------|-------|
|
|
200
|
+
| Quick Wins | N |
|
|
201
|
+
| Projetos Estrategicos | N |
|
|
202
|
+
| Preenchimentos | N |
|
|
203
|
+
| Evitar | N |
|
|
204
|
+
|
|
205
|
+
[Se --features:]
|
|
206
|
+
## Top Features por ICE Score
|
|
207
|
+
| # | Feature | ICE | Categoria |
|
|
208
|
+
|---|---------|-----|-----------|
|
|
209
|
+
| 1 | IDEA-NNN: [titulo] | NNN | must-have/performance/delighter |
|
|
210
|
+
|
|
211
|
+
## Anti-Features
|
|
212
|
+
[Total] features que NAO devem ser implementadas
|
|
213
|
+
|
|
214
|
+
## Proximos Passos
|
|
215
|
+
[Secao do relatorio]
|
|
216
|
+
|
|
217
|
+
───────────────────────────────────────────────────────────────
|
|
218
|
+
Relatorio: .plano/auditar/RELATORIO.md
|
|
219
|
+
───────────────────────────────────────────────────────────────
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
**NAO commitar automaticamente. NAO atualizar STATE.md.**
|
|
223
|
+
|
|
224
|
+
## Passo 7: Integracao com roadmap (opcional)
|
|
225
|
+
|
|
226
|
+
Perguntar via AskUserQuestion se quer converter sugestoes/features aprovadas em fases no ROADMAP.md.
|
|
227
|
+
|
|
228
|
+
Se sim:
|
|
229
|
+
1. Extrair os IDs do RELATORIO.md (`### (MELH-\d+):` para melhorias; `### (IDEA-\d+):` para features,
|
|
230
|
+
excluindo a secao "## Anti-Features").
|
|
231
|
+
2. Apresentar para selecao multipla (Quick Wins / maior ICE primeiro; nunca incluir quadrante "Evitar"
|
|
232
|
+
nem anti-features).
|
|
233
|
+
3. Se nao houver `.plano/ROADMAP.md`, perguntar se cria um minimo.
|
|
234
|
+
4. Gerar fases:
|
|
235
|
+
|
|
236
|
+
```bash
|
|
237
|
+
echo '{"source":"auditar","report_path":".plano/auditar/RELATORIO.md","approved_ids":["MELH-001","IDEA-003"],"grouping":"auto"}' | node "$HOME/.claude/up/bin/up-tools.cjs" phase generate-from-report
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
Substituir `approved_ids` pela selecao real. Apresentar resumo das fases criadas e os proximos passos
|
|
241
|
+
(`/up:plan {N}` para planejar, `/up:build` para executar).
|
|
242
|
+
|
|
243
|
+
</process>
|
|
244
|
+
|
|
245
|
+
<success_criteria>
|
|
246
|
+
- [ ] Init auditar retornou JSON valido; flag --features detectada
|
|
247
|
+
- [ ] Diretorio .plano/auditar/ criado (standalone)
|
|
248
|
+
- [ ] up-auditor rodou o passe unico (UX + performance + modernidade; + gaps se --features)
|
|
249
|
+
- [ ] Com --features: up-pesquisador modo mercado rodou
|
|
250
|
+
- [ ] Pelo menos 1 arquivo de sugestoes gerado
|
|
251
|
+
- [ ] up-sintetizador gerou RELATORIO.md (matriz; + ICE/anti-features se --features)
|
|
252
|
+
- [ ] Relatorio apresentado; NAO commitado; STATE.md intocado
|
|
253
|
+
- [ ] Integracao com roadmap oferecida (opcional)
|
|
254
|
+
</success_criteria>
|
|
255
|
+
</output>
|