up-cc 0.1.5 → 0.1.6
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/package.json +1 -1
- package/workflows/adicionar-fase.md +112 -0
- package/workflows/remover-fase.md +155 -0
package/package.json
CHANGED
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
<purpose>
|
|
2
|
+
Adicionar nova fase inteira ao final do milestone atual no roadmap. Calcula automaticamente proximo numero de fase, cria diretorio de fase e atualiza estrutura do roadmap.
|
|
3
|
+
</purpose>
|
|
4
|
+
|
|
5
|
+
<required_reading>
|
|
6
|
+
Ler todos os arquivos referenciados pelo execution_context do prompt invocador antes de comecar.
|
|
7
|
+
</required_reading>
|
|
8
|
+
|
|
9
|
+
<process>
|
|
10
|
+
|
|
11
|
+
<step name="parse_arguments">
|
|
12
|
+
Parsear argumentos do comando:
|
|
13
|
+
- Todos os argumentos viram a descricao da fase
|
|
14
|
+
- Exemplo: `/up:adicionar-fase Adicionar autenticacao` → descricao = "Adicionar autenticacao"
|
|
15
|
+
- Exemplo: `/up:adicionar-fase Corrigir problemas criticos de performance` → descricao = "Corrigir problemas criticos de performance"
|
|
16
|
+
|
|
17
|
+
Se nenhum argumento fornecido:
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
ERRO: Descricao da fase obrigatoria
|
|
21
|
+
Uso: /up:adicionar-fase <descricao>
|
|
22
|
+
Exemplo: /up:adicionar-fase Adicionar sistema de autenticacao
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Sair.
|
|
26
|
+
</step>
|
|
27
|
+
|
|
28
|
+
<step name="init_context">
|
|
29
|
+
Carregar contexto de operacao de fase:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
INIT=$(node "$HOME/.claude/up/bin/up-tools.cjs" init operacao-fase "0")
|
|
33
|
+
if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Verificar `roadmap_exists` do JSON de init. Se false:
|
|
37
|
+
```
|
|
38
|
+
ERRO: Nenhum roadmap encontrado (.plano/ROADMAP.md)
|
|
39
|
+
Execute /up:novo-projeto para inicializar.
|
|
40
|
+
```
|
|
41
|
+
Sair.
|
|
42
|
+
</step>
|
|
43
|
+
|
|
44
|
+
<step name="add_phase">
|
|
45
|
+
**Delegar adicao da fase ao up-tools:**
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
RESULT=$(node "$HOME/.claude/up/bin/up-tools.cjs" phase add "${descricao}")
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
O CLI faz:
|
|
52
|
+
- Encontrar o maior numero de fase inteiro existente
|
|
53
|
+
- Calcular proximo numero (max + 1)
|
|
54
|
+
- Gerar slug da descricao
|
|
55
|
+
- Criar diretorio da fase (`.plano/fases/{NN}-{slug}/`)
|
|
56
|
+
- Inserir entrada da fase no ROADMAP.md com secoes Objetivo, Depende de e Planos
|
|
57
|
+
|
|
58
|
+
Extrair do resultado: `phase_number`, `padded`, `name`, `slug`, `directory`.
|
|
59
|
+
</step>
|
|
60
|
+
|
|
61
|
+
<step name="update_project_state">
|
|
62
|
+
Atualizar STATE.md para refletir nova fase:
|
|
63
|
+
|
|
64
|
+
1. Ler `.plano/STATE.md`
|
|
65
|
+
2. Em "## Contexto Acumulado" → "### Evolucao do Roadmap" adicionar:
|
|
66
|
+
```
|
|
67
|
+
- Fase {N} adicionada: {descricao}
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
Se secao "Evolucao do Roadmap" nao existe, criar.
|
|
71
|
+
</step>
|
|
72
|
+
|
|
73
|
+
<step name="completion">
|
|
74
|
+
Apresentar resumo:
|
|
75
|
+
|
|
76
|
+
```
|
|
77
|
+
Fase {N} adicionada ao milestone atual:
|
|
78
|
+
- Descricao: {descricao}
|
|
79
|
+
- Diretorio: .plano/fases/{fase-num}-{slug}/
|
|
80
|
+
- Status: Ainda nao planejada
|
|
81
|
+
|
|
82
|
+
Roadmap atualizado: .plano/ROADMAP.md
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## Proximo
|
|
87
|
+
|
|
88
|
+
**Fase {N}: {descricao}**
|
|
89
|
+
|
|
90
|
+
`/up:planejar-fase {N}`
|
|
91
|
+
|
|
92
|
+
<sub>`/clear` primeiro → janela de contexto limpa</sub>
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
**Tambem disponivel:**
|
|
97
|
+
- `/up:adicionar-fase <descricao>` — adicionar outra fase
|
|
98
|
+
- Revisar roadmap
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
```
|
|
102
|
+
</step>
|
|
103
|
+
|
|
104
|
+
</process>
|
|
105
|
+
|
|
106
|
+
<success_criteria>
|
|
107
|
+
- [ ] `up-tools phase add` executado com sucesso
|
|
108
|
+
- [ ] Diretorio da fase criado
|
|
109
|
+
- [ ] Roadmap atualizado com nova entrada
|
|
110
|
+
- [ ] STATE.md atualizado com nota de evolucao do roadmap
|
|
111
|
+
- [ ] Usuario informado dos proximos passos
|
|
112
|
+
</success_criteria>
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
<purpose>
|
|
2
|
+
Remover fase futura nao iniciada do roadmap do projeto, deletar seu diretorio, renumerar todas as fases subsequentes para manter sequencia linear limpa e commitar a mudanca. O commit git serve como registro historico da remocao.
|
|
3
|
+
</purpose>
|
|
4
|
+
|
|
5
|
+
<required_reading>
|
|
6
|
+
Ler todos os arquivos referenciados pelo execution_context do prompt invocador antes de comecar.
|
|
7
|
+
</required_reading>
|
|
8
|
+
|
|
9
|
+
<process>
|
|
10
|
+
|
|
11
|
+
<step name="parse_arguments">
|
|
12
|
+
Parsear argumentos do comando:
|
|
13
|
+
- Argumento e o numero da fase a remover (inteiro ou decimal)
|
|
14
|
+
- Exemplo: `/up:remover-fase 17` → fase = 17
|
|
15
|
+
- Exemplo: `/up:remover-fase 16.1` → fase = 16.1
|
|
16
|
+
|
|
17
|
+
Se nenhum argumento fornecido:
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
ERRO: Numero da fase obrigatorio
|
|
21
|
+
Uso: /up:remover-fase <numero-fase>
|
|
22
|
+
Exemplo: /up:remover-fase 17
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Sair.
|
|
26
|
+
</step>
|
|
27
|
+
|
|
28
|
+
<step name="init_context">
|
|
29
|
+
Carregar contexto de operacao de fase:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
INIT=$(node "$HOME/.claude/up/bin/up-tools.cjs" init operacao-fase "${target}")
|
|
33
|
+
if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Extrair: `phase_found`, `phase_dir`, `phase_number`, `commit_docs`, `roadmap_exists`.
|
|
37
|
+
|
|
38
|
+
Tambem ler STATE.md e ROADMAP.md para parsear posicao atual.
|
|
39
|
+
</step>
|
|
40
|
+
|
|
41
|
+
<step name="validate_future_phase">
|
|
42
|
+
Verificar que a fase e futura (nao iniciada):
|
|
43
|
+
|
|
44
|
+
1. Comparar fase alvo com fase atual do STATE.md
|
|
45
|
+
2. Alvo deve ser > numero da fase atual
|
|
46
|
+
|
|
47
|
+
Se alvo <= fase atual:
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
ERRO: Nao e possivel remover Fase {alvo}
|
|
51
|
+
|
|
52
|
+
Apenas fases futuras podem ser removidas:
|
|
53
|
+
- Fase atual: {atual}
|
|
54
|
+
- Fase {alvo} e atual ou concluida
|
|
55
|
+
|
|
56
|
+
Para abandonar trabalho atual, use /up:pausar.
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Sair.
|
|
60
|
+
</step>
|
|
61
|
+
|
|
62
|
+
<step name="confirm_removal">
|
|
63
|
+
Apresentar resumo da remocao e confirmar:
|
|
64
|
+
|
|
65
|
+
```
|
|
66
|
+
Removendo Fase {alvo}: {Nome}
|
|
67
|
+
|
|
68
|
+
Isso vai:
|
|
69
|
+
- Deletar: .plano/fases/{alvo}-{slug}/
|
|
70
|
+
- Renumerar todas as fases subsequentes
|
|
71
|
+
- Atualizar: ROADMAP.md, STATE.md
|
|
72
|
+
|
|
73
|
+
Prosseguir? (s/n)
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Aguardar confirmacao.
|
|
77
|
+
</step>
|
|
78
|
+
|
|
79
|
+
<step name="execute_removal">
|
|
80
|
+
**Delegar operacao completa de remocao ao up-tools:**
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
RESULT=$(node "$HOME/.claude/up/bin/up-tools.cjs" phase remove "${target}")
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Se a fase tem planos executados (arquivos SUMMARY.md), up-tools vai retornar erro. Usar `--force` apenas se usuario confirmar:
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
RESULT=$(node "$HOME/.claude/up/bin/up-tools.cjs" phase remove "${target}" --force)
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
O CLI faz:
|
|
93
|
+
- Deletar diretorio da fase
|
|
94
|
+
- Renumerar todos os diretorios subsequentes (em ordem reversa para evitar conflitos)
|
|
95
|
+
- Renomear todos os arquivos dentro dos diretorios renumerados (PLAN.md, SUMMARY.md, etc.)
|
|
96
|
+
- Atualizar ROADMAP.md (removendo secao, renumerando todas as referencias de fase, atualizando dependencias)
|
|
97
|
+
- Atualizar STATE.md (decrementando contagem de fases)
|
|
98
|
+
|
|
99
|
+
Extrair do resultado: `removed`, `directory_deleted`, `renamed_directories`, `renamed_files`, `roadmap_updated`, `state_updated`.
|
|
100
|
+
</step>
|
|
101
|
+
|
|
102
|
+
<step name="commit">
|
|
103
|
+
Preparar e commitar a remocao:
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
node "$HOME/.claude/up/bin/up-tools.cjs" commit "chore: remover fase {alvo} ({nome-original-fase})" --files .plano/
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
A mensagem de commit preserva o registro historico do que foi removido.
|
|
110
|
+
</step>
|
|
111
|
+
|
|
112
|
+
<step name="completion">
|
|
113
|
+
Apresentar resumo:
|
|
114
|
+
|
|
115
|
+
```
|
|
116
|
+
Fase {alvo} ({nome-original}) removida.
|
|
117
|
+
|
|
118
|
+
Mudancas:
|
|
119
|
+
- Deletado: .plano/fases/{alvo}-{slug}/
|
|
120
|
+
- Renumerados: {N} diretorios e {M} arquivos
|
|
121
|
+
- Atualizado: ROADMAP.md, STATE.md
|
|
122
|
+
- Commitado: chore: remover fase {alvo} ({nome-original})
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
## Proximo
|
|
127
|
+
|
|
128
|
+
Gostaria de:
|
|
129
|
+
- `/up:progresso` — ver status atualizado do roadmap
|
|
130
|
+
- Continuar com fase atual
|
|
131
|
+
- Revisar roadmap
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
```
|
|
135
|
+
</step>
|
|
136
|
+
|
|
137
|
+
</process>
|
|
138
|
+
|
|
139
|
+
<anti_patterns>
|
|
140
|
+
|
|
141
|
+
- Nao remover fases concluidas (com arquivos SUMMARY.md) sem --force
|
|
142
|
+
- Nao remover fases atuais ou passadas
|
|
143
|
+
- Nao renumerar manualmente — usar `up-tools phase remove` que cuida de toda renumeracao
|
|
144
|
+
- Nao adicionar notas "fase removida" ao STATE.md — commit git e o registro
|
|
145
|
+
- Nao modificar diretorios de fases concluidas
|
|
146
|
+
</anti_patterns>
|
|
147
|
+
|
|
148
|
+
<success_criteria>
|
|
149
|
+
Remocao de fase esta completa quando:
|
|
150
|
+
|
|
151
|
+
- [ ] Fase alvo validada como futura/nao iniciada
|
|
152
|
+
- [ ] `up-tools phase remove` executado com sucesso
|
|
153
|
+
- [ ] Mudancas commitadas com mensagem descritiva
|
|
154
|
+
- [ ] Usuario informado das mudancas
|
|
155
|
+
</success_criteria>
|