up-cc 0.2.1 → 0.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/agents/up-roteirista.md +79 -0
- package/commands/ajuda.md +1 -0
- package/commands/resetar.md +27 -0
- package/package.json +1 -1
- package/templates/roadmap.md +40 -0
- package/workflows/novo-projeto.md +5 -1
- package/workflows/resetar.md +186 -0
package/agents/up-roteirista.md
CHANGED
|
@@ -272,6 +272,17 @@ Se research/SUMMARY.md fornecido:
|
|
|
272
272
|
- Note flags de pesquisa
|
|
273
273
|
- Use como input, nao mandato
|
|
274
274
|
|
|
275
|
+
## Passo 3.5: Identificar Funcionalidades Existentes (Brownfield)
|
|
276
|
+
Se codebase docs existem (.plano/codebase/ARCHITECTURE.md, STACK.md):
|
|
277
|
+
1. Ler ARCHITECTURE.md e extrair funcionalidades ja implementadas
|
|
278
|
+
2. Agrupar funcionalidades em fases macro por dominio (3-6 max)
|
|
279
|
+
3. Criar fases existentes com:
|
|
280
|
+
- Status: checkbox marcado `[x]`
|
|
281
|
+
- Sufixo: `- Existente`
|
|
282
|
+
- Sem criterios de sucesso (nao foram planejados/executados via UP)
|
|
283
|
+
- Sem requisitos mapeados (sao requisitos validados, nao ativos)
|
|
284
|
+
4. Numerar fases novas APOS as existentes
|
|
285
|
+
|
|
275
286
|
## Passo 4: Identificar Fases
|
|
276
287
|
Aplique metodologia de identificacao de fases:
|
|
277
288
|
1. Agrupe requisitos por fronteiras naturais de entrega
|
|
@@ -355,6 +366,74 @@ Se feedback de revisao fornecido:
|
|
|
355
366
|
```
|
|
356
367
|
</structured_returns>
|
|
357
368
|
|
|
369
|
+
<brownfield_phases>
|
|
370
|
+
|
|
371
|
+
## Fases Existentes (Brownfield)
|
|
372
|
+
|
|
373
|
+
Quando o projeto e brownfield (codebase existente), o roteiro deve comecar com fases que representam o que JA EXISTE. Estas fases nao foram planejadas/executadas via UP — elas representam funcionalidades ja implementadas.
|
|
374
|
+
|
|
375
|
+
### Regras
|
|
376
|
+
|
|
377
|
+
1. **Agrupar por dominio, nao por feature individual** — Max 3-6 fases existentes
|
|
378
|
+
2. **Status "Existente"** — Diferente de "Complete" (nunca foi planejado/executado via UP)
|
|
379
|
+
3. **Checkbox marcado** `[x]` — Visualmente indica que ja esta pronto
|
|
380
|
+
4. **Sem criterios de sucesso** — Nao foram derivados via goal-backward
|
|
381
|
+
5. **Sem planos** — Nao foram planejados
|
|
382
|
+
6. **Fases novas vem APOS** — Numeracao continua das existentes
|
|
383
|
+
|
|
384
|
+
### Exemplo
|
|
385
|
+
|
|
386
|
+
```markdown
|
|
387
|
+
## Fases
|
|
388
|
+
|
|
389
|
+
- [x] **Fase 1: Autenticacao e usuarios** - Existente
|
|
390
|
+
- [x] **Fase 2: Chat e atendimento** - Existente
|
|
391
|
+
- [x] **Fase 3: Dashboard e metricas** - Existente
|
|
392
|
+
- [ ] **Fase 4: Filtro de usuarios no chat** - Nova feature
|
|
393
|
+
- [ ] **Fase 5: Relatorios avancados** - Nova feature
|
|
394
|
+
|
|
395
|
+
## Detalhes das Fases
|
|
396
|
+
|
|
397
|
+
### Fase 1: Autenticacao e usuarios
|
|
398
|
+
**Status**: Existente
|
|
399
|
+
**Funcionalidades**: Login, cadastro, perfis, permissoes
|
|
400
|
+
**Planos**: N/A (pre-existente)
|
|
401
|
+
|
|
402
|
+
### Fase 2: Chat e atendimento
|
|
403
|
+
**Status**: Existente
|
|
404
|
+
**Funcionalidades**: Chat em tempo real, filas de atendimento, historico
|
|
405
|
+
**Planos**: N/A (pre-existente)
|
|
406
|
+
|
|
407
|
+
### Fase 3: Dashboard e metricas
|
|
408
|
+
**Status**: Existente
|
|
409
|
+
**Funcionalidades**: Dashboard principal, metricas de atendimento
|
|
410
|
+
**Planos**: N/A (pre-existente)
|
|
411
|
+
|
|
412
|
+
### Fase 4: Filtro de usuarios no chat
|
|
413
|
+
**Objetivo**: Permitir filtrar usuarios por criterios no chat
|
|
414
|
+
**Depende de**: Fase 2
|
|
415
|
+
**Requisitos**: CHAT-01, CHAT-02
|
|
416
|
+
**Criterios de Sucesso** (o que deve ser VERDADE):
|
|
417
|
+
1. Atendente pode filtrar usuarios por nome, email ou status
|
|
418
|
+
2. Filtros persistem entre sessoes
|
|
419
|
+
**Planos**: TBD
|
|
420
|
+
```
|
|
421
|
+
|
|
422
|
+
### Na Tabela de Progresso
|
|
423
|
+
|
|
424
|
+
Fases existentes aparecem como completas sem planos:
|
|
425
|
+
|
|
426
|
+
```markdown
|
|
427
|
+
| Fase | Planos Completos | Status | Completado |
|
|
428
|
+
|------|-----------------|--------|------------|
|
|
429
|
+
| 1. Autenticacao e usuarios | N/A | Existente | Pre-existente |
|
|
430
|
+
| 2. Chat e atendimento | N/A | Existente | Pre-existente |
|
|
431
|
+
| 3. Dashboard e metricas | N/A | Existente | Pre-existente |
|
|
432
|
+
| 4. Filtro de usuarios no chat | 0/2 | Nao iniciado | - |
|
|
433
|
+
```
|
|
434
|
+
|
|
435
|
+
</brownfield_phases>
|
|
436
|
+
|
|
358
437
|
<anti_patterns>
|
|
359
438
|
|
|
360
439
|
**Nao imponha estrutura arbitraria:**
|
package/commands/ajuda.md
CHANGED
|
@@ -48,6 +48,7 @@ Sistema de desenvolvimento orientado a fases para projetos de software.
|
|
|
48
48
|
| `/up:pausar` | Criar handoff .continue-aqui.md | `/up:pausar` |
|
|
49
49
|
| `/up:adicionar-fase` | Adicionar fase ao roadmap | `/up:adicionar-fase "Deploy em producao"` |
|
|
50
50
|
| `/up:remover-fase` | Remover fase futura e renumerar | `/up:remover-fase 5` |
|
|
51
|
+
| `/up:resetar` | Resetar projeto (limpar .plano/) | `/up:resetar` |
|
|
51
52
|
|
|
52
53
|
### Utilitarios
|
|
53
54
|
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: up:resetar
|
|
3
|
+
description: Resetar projeto UP (limpar .plano/ parcial ou totalmente)
|
|
4
|
+
argument-hint: [--total | --parcial]
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Bash
|
|
8
|
+
- Glob
|
|
9
|
+
- AskUserQuestion
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
<objective>
|
|
13
|
+
Resetar o diretorio `.plano/` para comecar novamente. Oferece reset total (apaga tudo) ou parcial (mantém PROJECT.md e config.json).
|
|
14
|
+
|
|
15
|
+
**Default flow:** Diagnosticar -> Mostrar o que sera apagado -> Confirmar -> Executar -> Sugerir proximo passo
|
|
16
|
+
</objective>
|
|
17
|
+
|
|
18
|
+
<execution_context>
|
|
19
|
+
@$HOME/.claude/up/workflows/resetar.md
|
|
20
|
+
@$HOME/.claude/up/references/ui-brand.md
|
|
21
|
+
</execution_context>
|
|
22
|
+
|
|
23
|
+
<process>
|
|
24
|
+
Execute o workflow resetar de @$HOME/.claude/up/workflows/resetar.md end-to-end.
|
|
25
|
+
Preserve todos os gates (diagnostico, confirmacao, execucao).
|
|
26
|
+
NUNCA apague sem confirmacao explicita do usuario.
|
|
27
|
+
</process>
|
package/package.json
CHANGED
package/templates/roadmap.md
CHANGED
|
@@ -127,5 +127,45 @@ Phases execute in numeric order: 2 -> 2.1 -> 2.2 -> 3 -> 3.1 -> 4
|
|
|
127
127
|
- `Not started` - Haven't begun
|
|
128
128
|
- `In progress` - Currently working
|
|
129
129
|
- `Complete` - Done (add completion date)
|
|
130
|
+
- `Existing` - Pre-existing functionality (brownfield only, never planned/executed via UP)
|
|
130
131
|
- `Deferred` - Pushed to later (with reason)
|
|
131
132
|
</status_values>
|
|
133
|
+
|
|
134
|
+
<brownfield_example>
|
|
135
|
+
For brownfield projects, existing functionality is grouped into completed phases before new work:
|
|
136
|
+
|
|
137
|
+
```markdown
|
|
138
|
+
## Phases
|
|
139
|
+
|
|
140
|
+
- [x] **Phase 1: Authentication and users** - Existing
|
|
141
|
+
- [x] **Phase 2: Core content** - Existing
|
|
142
|
+
- [ ] **Phase 3: New feature** - [One-line description]
|
|
143
|
+
|
|
144
|
+
## Phase Details
|
|
145
|
+
|
|
146
|
+
### Phase 1: Authentication and users
|
|
147
|
+
**Status**: Existing
|
|
148
|
+
**Features**: Login, registration, profiles, permissions
|
|
149
|
+
**Plans**: N/A (pre-existing)
|
|
150
|
+
|
|
151
|
+
### Phase 2: Core content
|
|
152
|
+
**Status**: Existing
|
|
153
|
+
**Features**: CRUD operations, search, categories
|
|
154
|
+
**Plans**: N/A (pre-existing)
|
|
155
|
+
|
|
156
|
+
### Phase 3: New feature
|
|
157
|
+
**Goal**: [What this phase delivers]
|
|
158
|
+
**Depends on**: Phase 2
|
|
159
|
+
**Requirements**: [REQ-01, REQ-02]
|
|
160
|
+
**Success Criteria** (what must be TRUE):
|
|
161
|
+
1. [Observable behavior from user perspective]
|
|
162
|
+
**Plans**: TBD
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
Guidelines for existing phases:
|
|
166
|
+
- Group by domain, not individual features (max 3-6 existing phases)
|
|
167
|
+
- No success criteria (not derived via goal-backward)
|
|
168
|
+
- No plans (not planned/executed via UP)
|
|
169
|
+
- New phases numbered after existing ones
|
|
170
|
+
- Progress table shows "Existing" status and "N/A" for plans
|
|
171
|
+
</brownfield_example>
|
|
@@ -612,7 +612,11 @@ Criar roteiro:
|
|
|
612
612
|
6. Retornar ROADMAP CREATED com resumo
|
|
613
613
|
|
|
614
614
|
**Se projeto brownfield:**
|
|
615
|
-
-
|
|
615
|
+
- Ler .plano/codebase/ARCHITECTURE.md e .plano/codebase/STACK.md para entender o que ja existe
|
|
616
|
+
- Agrupar funcionalidades existentes em fases macro concluidas (max 3-6 fases, por dominio)
|
|
617
|
+
- Fases existentes usam checkbox marcado [x], status "Existente", sem criterios de sucesso, sem planos
|
|
618
|
+
- Numerar fases NOVAS apos as existentes (ex: se 3 fases existentes, nova fase comeca em 4)
|
|
619
|
+
- Considerar divida tecnica de CONCERNS.md ao priorizar fases novas
|
|
616
620
|
- Respeitar convencoes existentes de CONVENTIONS.md
|
|
617
621
|
- Fases de refatoracao/correcao devem vir antes de features que dependem delas
|
|
618
622
|
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
<trigger>
|
|
2
|
+
Use este workflow quando:
|
|
3
|
+
- Usuario quer recomecar o projeto do zero
|
|
4
|
+
- Usuario quer limpar .plano/ e reinicializar
|
|
5
|
+
- Usuario diz "resetar", "limpar", "recomecar", "apagar plano"
|
|
6
|
+
</trigger>
|
|
7
|
+
|
|
8
|
+
<purpose>
|
|
9
|
+
Limpar o diretorio .plano/ de forma segura, com confirmacao explicita, para permitir reinicializacao do projeto.
|
|
10
|
+
</purpose>
|
|
11
|
+
|
|
12
|
+
<process>
|
|
13
|
+
|
|
14
|
+
<step name="diagnosticar">
|
|
15
|
+
Verificar o que existe em .plano/:
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
# Verificar se .plano/ existe
|
|
19
|
+
ls -la .plano/ 2>/dev/null
|
|
20
|
+
|
|
21
|
+
# Contar arquivos por tipo
|
|
22
|
+
echo "---"
|
|
23
|
+
find .plano/ -name "*.md" 2>/dev/null | wc -l
|
|
24
|
+
find .plano/ -name "*.json" 2>/dev/null | wc -l
|
|
25
|
+
ls -d .plano/fases/*/ 2>/dev/null | wc -l
|
|
26
|
+
|
|
27
|
+
# Listar fases
|
|
28
|
+
ls -d .plano/fases/*/ 2>/dev/null
|
|
29
|
+
|
|
30
|
+
# Verificar artefatos principais
|
|
31
|
+
ls .plano/PROJECT.md .plano/ROADMAP.md .plano/STATE.md .plano/config.json .plano/REQUIREMENTS.md 2>/dev/null
|
|
32
|
+
|
|
33
|
+
# Verificar subdiretorios
|
|
34
|
+
ls -d .plano/pesquisa/ .plano/codebase/ .plano/fases/ .plano/rapido/ 2>/dev/null
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
**Se .plano/ nao existe:**
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
41
|
+
UP > RESETAR
|
|
42
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
43
|
+
|
|
44
|
+
Nenhum diretorio .plano/ encontrado. Nada para resetar.
|
|
45
|
+
|
|
46
|
+
-> /up:novo-projeto para inicializar
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Sair.
|
|
50
|
+
</step>
|
|
51
|
+
|
|
52
|
+
<step name="mostrar_estado">
|
|
53
|
+
Apresentar o que existe:
|
|
54
|
+
|
|
55
|
+
```
|
|
56
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
57
|
+
UP > RESETAR
|
|
58
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
59
|
+
|
|
60
|
+
Conteudo de .plano/:
|
|
61
|
+
|
|
62
|
+
| Artefato | Status |
|
|
63
|
+
|----------|--------|
|
|
64
|
+
| PROJECT.md | ✓ / ✗ |
|
|
65
|
+
| ROADMAP.md | ✓ / ✗ |
|
|
66
|
+
| STATE.md | ✓ / ✗ |
|
|
67
|
+
| REQUIREMENTS.md | ✓ / ✗ |
|
|
68
|
+
| config.json | ✓ / ✗ |
|
|
69
|
+
| Fases | N diretorios |
|
|
70
|
+
| Pesquisa | ✓ / ✗ |
|
|
71
|
+
| Codebase map | ✓ / ✗ |
|
|
72
|
+
| Tarefas rapidas | N tarefas |
|
|
73
|
+
```
|
|
74
|
+
</step>
|
|
75
|
+
|
|
76
|
+
<step name="escolher_modo">
|
|
77
|
+
|
|
78
|
+
Verificar se argumento --total ou --parcial foi passado. Se sim, pular para confirmacao com o modo correspondente.
|
|
79
|
+
|
|
80
|
+
Se nenhum argumento, perguntar:
|
|
81
|
+
|
|
82
|
+
Use AskUserQuestion:
|
|
83
|
+
- header: "Tipo de reset"
|
|
84
|
+
- question: "Como voce quer resetar?"
|
|
85
|
+
- options:
|
|
86
|
+
- "Reset total" -- Apagar .plano/ inteiro. Comecar do zero absoluto.
|
|
87
|
+
- "Reset parcial" -- Manter PROJECT.md e config.json. Apagar fases, roadmap, state, pesquisa.
|
|
88
|
+
- "Cancelar" -- Nao apagar nada.
|
|
89
|
+
|
|
90
|
+
**Se "Cancelar":** Sair.
|
|
91
|
+
|
|
92
|
+
**Se "Reset parcial":**
|
|
93
|
+
Sera apagado:
|
|
94
|
+
- .plano/ROADMAP.md
|
|
95
|
+
- .plano/STATE.md
|
|
96
|
+
- .plano/REQUIREMENTS.md
|
|
97
|
+
- .plano/fases/ (todos os diretorios de fase)
|
|
98
|
+
- .plano/pesquisa/ (toda a pesquisa)
|
|
99
|
+
- .plano/rapido/ (tarefas rapidas)
|
|
100
|
+
|
|
101
|
+
Sera mantido:
|
|
102
|
+
- .plano/PROJECT.md (contexto do projeto)
|
|
103
|
+
- .plano/config.json (preferencias de workflow)
|
|
104
|
+
- .plano/codebase/ (mapeamento do codebase, se existir)
|
|
105
|
+
|
|
106
|
+
**Se "Reset total":**
|
|
107
|
+
Sera apagado:
|
|
108
|
+
- .plano/ inteiro (tudo)
|
|
109
|
+
</step>
|
|
110
|
+
|
|
111
|
+
<step name="confirmar">
|
|
112
|
+
|
|
113
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
114
|
+
║ CHECKPOINT: Confirmacao Obrigatoria ║
|
|
115
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
116
|
+
|
|
117
|
+
Use AskUserQuestion:
|
|
118
|
+
- header: "Confirmar reset"
|
|
119
|
+
- question: "[Reset total/parcial] -- Esta acao e IRREVERSIVEL. [N] arquivos serao apagados. Confirmar?"
|
|
120
|
+
- options:
|
|
121
|
+
- "Confirmar reset" -- Apagar agora
|
|
122
|
+
- "Cancelar" -- Nao apagar nada
|
|
123
|
+
|
|
124
|
+
**Se "Cancelar":** Sair.
|
|
125
|
+
</step>
|
|
126
|
+
|
|
127
|
+
<step name="executar">
|
|
128
|
+
|
|
129
|
+
**Reset total:**
|
|
130
|
+
```bash
|
|
131
|
+
rm -rf .plano/
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
**Reset parcial:**
|
|
135
|
+
```bash
|
|
136
|
+
rm -f .plano/ROADMAP.md .plano/STATE.md .plano/REQUIREMENTS.md
|
|
137
|
+
rm -rf .plano/fases/ .plano/pesquisa/ .plano/rapido/
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
Verificar que a limpeza foi feita:
|
|
141
|
+
```bash
|
|
142
|
+
ls -la .plano/ 2>/dev/null || echo "REMOVIDO"
|
|
143
|
+
```
|
|
144
|
+
</step>
|
|
145
|
+
|
|
146
|
+
<step name="resultado">
|
|
147
|
+
|
|
148
|
+
```
|
|
149
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
150
|
+
UP > RESET CONCLUIDO
|
|
151
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
152
|
+
|
|
153
|
+
[Se total:]
|
|
154
|
+
Diretorio .plano/ removido completamente.
|
|
155
|
+
|
|
156
|
+
[Se parcial:]
|
|
157
|
+
Fases, roadmap e pesquisa removidos.
|
|
158
|
+
Mantidos: PROJECT.md, config.json[, codebase/]
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
## Proximo
|
|
164
|
+
|
|
165
|
+
**Se reset total:**
|
|
166
|
+
|
|
167
|
+
`/up:novo-projeto` -- inicializar projeto do zero
|
|
168
|
+
|
|
169
|
+
**Se reset parcial:**
|
|
170
|
+
|
|
171
|
+
`/up:novo-projeto` -- vai detectar PROJECT.md existente e oferecer "Revisar e atualizar"
|
|
172
|
+
|
|
173
|
+
<sub>`/clear` primeiro -> janela de contexto limpa</sub>
|
|
174
|
+
|
|
175
|
+
---
|
|
176
|
+
</step>
|
|
177
|
+
|
|
178
|
+
</process>
|
|
179
|
+
|
|
180
|
+
<success_criteria>
|
|
181
|
+
- [ ] Estado atual de .plano/ diagnosticado
|
|
182
|
+
- [ ] Usuario informado do que sera apagado
|
|
183
|
+
- [ ] Confirmacao explicita obtida antes de qualquer delecao
|
|
184
|
+
- [ ] Reset executado conforme modo escolhido
|
|
185
|
+
- [ ] Proximo passo sugerido
|
|
186
|
+
</success_criteria>
|