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.
@@ -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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "up-cc",
3
- "version": "0.2.1",
3
+ "version": "0.2.3",
4
4
  "description": "Simplified spec-driven development for Claude Code, Gemini and OpenCode.",
5
5
  "bin": {
6
6
  "up-cc": "bin/install.js"
@@ -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
- - Considerar divida tecnica de CONCERNS.md ao priorizar fases
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>