context-first-cli 1.8.2 → 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/dist/commands/create-orchestrator.d.ts.map +1 -1
- package/dist/commands/create-orchestrator.js +15 -3
- package/dist/commands/create-orchestrator.js.map +1 -1
- package/dist/commands/feature.d.ts.map +1 -1
- package/dist/commands/feature.js +33 -2
- package/dist/commands/feature.js.map +1 -1
- package/dist/commands/update-commands.d.ts.map +1 -1
- package/dist/commands/update-commands.js +42 -2
- package/dist/commands/update-commands.js.map +1 -1
- package/dist/templates/commands/en/engineer/plan.md +297 -0
- package/dist/templates/commands/en/engineer/pr.md +167 -0
- package/dist/templates/commands/en/engineer/pre-pr.md +262 -0
- package/dist/templates/commands/en/engineer/start.md +281 -0
- package/dist/templates/commands/en/engineer/work.md +197 -0
- package/dist/templates/commands/en/products/check.md +233 -0
- package/dist/templates/commands/en/products/collect.md +156 -0
- package/dist/templates/commands/en/products/refine.md +222 -0
- package/dist/templates/commands/en/products/spec.md +267 -0
- package/dist/templates/commands/en/quality/metrics.md +240 -0
- package/dist/templates/commands/en/quality/observe.md +168 -0
- package/dist/templates/commands/en/warm-up.md +78 -0
- package/dist/templates/commands/es/engineer/plan.md +297 -0
- package/dist/templates/commands/es/engineer/pr.md +167 -0
- package/dist/templates/commands/es/engineer/pre-pr.md +262 -0
- package/dist/templates/commands/es/engineer/start.md +281 -0
- package/dist/templates/commands/es/engineer/work.md +197 -0
- package/dist/templates/commands/es/products/check.md +233 -0
- package/dist/templates/commands/es/products/collect.md +156 -0
- package/dist/templates/commands/es/products/refine.md +222 -0
- package/dist/templates/commands/es/products/spec.md +267 -0
- package/dist/templates/commands/es/quality/metrics.md +240 -0
- package/dist/templates/commands/es/quality/observe.md +168 -0
- package/dist/templates/commands/es/warm-up.md +78 -0
- package/dist/utils/config.d.ts +1 -0
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js.map +1 -1
- package/package.json +1 -1
- package/templates/commands/en/engineer/plan.md +297 -0
- package/templates/commands/en/engineer/pr.md +167 -0
- package/templates/commands/en/engineer/pre-pr.md +262 -0
- package/templates/commands/en/engineer/start.md +281 -0
- package/templates/commands/en/engineer/work.md +197 -0
- package/templates/commands/en/products/check.md +233 -0
- package/templates/commands/en/products/collect.md +156 -0
- package/templates/commands/en/products/refine.md +222 -0
- package/templates/commands/en/products/spec.md +267 -0
- package/templates/commands/en/quality/metrics.md +240 -0
- package/templates/commands/en/quality/observe.md +168 -0
- package/templates/commands/en/warm-up.md +78 -0
- package/templates/commands/es/engineer/plan.md +297 -0
- package/templates/commands/es/engineer/pr.md +167 -0
- package/templates/commands/es/engineer/pre-pr.md +262 -0
- package/templates/commands/es/engineer/start.md +281 -0
- package/templates/commands/es/engineer/work.md +197 -0
- package/templates/commands/es/products/check.md +233 -0
- package/templates/commands/es/products/collect.md +156 -0
- package/templates/commands/es/products/refine.md +222 -0
- package/templates/commands/es/products/spec.md +267 -0
- package/templates/commands/es/quality/metrics.md +240 -0
- package/templates/commands/es/quality/observe.md +168 -0
- package/templates/commands/es/warm-up.md +78 -0
- package/templates/commands/pt-BR/engineer/plan.md +297 -0
- package/templates/commands/pt-BR/engineer/pr.md +167 -0
- package/templates/commands/pt-BR/engineer/pre-pr.md +262 -0
- package/templates/commands/pt-BR/engineer/start.md +281 -0
- package/templates/commands/pt-BR/engineer/work.md +197 -0
- package/templates/commands/pt-BR/products/check.md +233 -0
- package/templates/commands/pt-BR/products/collect.md +156 -0
- package/templates/commands/pt-BR/products/refine.md +222 -0
- package/templates/commands/pt-BR/products/spec.md +267 -0
- package/templates/commands/pt-BR/quality/metrics.md +240 -0
- package/templates/commands/pt-BR/quality/observe.md +168 -0
- package/templates/commands/pt-BR/warm-up.md +78 -0
- /package/{templates/commands → dist/templates/commands/pt-BR}/engineer/plan.md +0 -0
- /package/{templates/commands → dist/templates/commands/pt-BR}/engineer/pr.md +0 -0
- /package/{templates/commands → dist/templates/commands/pt-BR}/engineer/pre-pr.md +0 -0
- /package/{templates/commands → dist/templates/commands/pt-BR}/engineer/start.md +0 -0
- /package/{templates/commands → dist/templates/commands/pt-BR}/engineer/work.md +0 -0
- /package/{templates/commands → dist/templates/commands/pt-BR}/products/check.md +0 -0
- /package/{templates/commands → dist/templates/commands/pt-BR}/products/collect.md +0 -0
- /package/{templates/commands → dist/templates/commands/pt-BR}/products/refine.md +0 -0
- /package/{templates/commands → dist/templates/commands/pt-BR}/products/spec.md +0 -0
- /package/{templates/commands → dist/templates/commands/pt-BR}/quality/metrics.md +0 -0
- /package/{templates/commands → dist/templates/commands/pt-BR}/quality/observe.md +0 -0
- /package/{templates/commands → dist/templates/commands/pt-BR}/warm-up.md +0 -0
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
# Observabilidade de Decisões
|
|
2
|
+
|
|
3
|
+
Este comando registra decisões importantes tomadas durante o desenvolvimento, criando um log auditável para explicabilidade e rastreabilidade.
|
|
4
|
+
|
|
5
|
+
## 🎯 Objetivo
|
|
6
|
+
|
|
7
|
+
Criar registro estruturado de decisões técnicas e de produto, garantindo:
|
|
8
|
+
- **Explicabilidade**: Por que cada decisão foi tomada
|
|
9
|
+
- **Rastreabilidade**: Quais fontes (PRD, metaspecs, ADRs) embasaram a decisão
|
|
10
|
+
- **Auditoria**: Histórico completo de escolhas para revisão futura
|
|
11
|
+
- **Aprendizado**: Documentação de trade-offs e alternativas consideradas
|
|
12
|
+
|
|
13
|
+
**IMPORTANTE**: Este comando NÃO gera decisões novas. Ele apenas REGISTRA decisões que já foram tomadas no processo de desenvolvimento.
|
|
14
|
+
|
|
15
|
+
## 📋 Pré-requisitos
|
|
16
|
+
|
|
17
|
+
- Executou pelo menos um dos comandos que geram decisões:
|
|
18
|
+
- `/spec` - gera PRD com decisões de produto
|
|
19
|
+
- `/plan` - gera plan.md com decisões técnicas
|
|
20
|
+
- `/work` - implementação gera decisões durante desenvolvimento
|
|
21
|
+
|
|
22
|
+
## 🔍 Processo de Observação
|
|
23
|
+
|
|
24
|
+
### 1. Identificar Decisões Relevantes
|
|
25
|
+
|
|
26
|
+
Analise os arquivos da sessão (`./.sessions/<ISSUE-ID>/`) para identificar decisões:
|
|
27
|
+
|
|
28
|
+
**Após `/spec`** - Decisões de Produto:
|
|
29
|
+
- Leia `./.sessions/<ISSUE-ID>/prd.md`
|
|
30
|
+
- Identifique decisões em:
|
|
31
|
+
- Escopo (o que entra/não entra na feature)
|
|
32
|
+
- Personas atendidas (quem é o público-alvo)
|
|
33
|
+
- Métricas de sucesso (como medir resultados)
|
|
34
|
+
- Requisitos não-funcionais (performance, acessibilidade)
|
|
35
|
+
- Restrições e trade-offs
|
|
36
|
+
|
|
37
|
+
**Após `/plan`** - Decisões Técnicas:
|
|
38
|
+
- Leia `./.sessions/<ISSUE-ID>/plan.md`
|
|
39
|
+
- Identifique decisões em:
|
|
40
|
+
- Arquitetura de componentes/módulos
|
|
41
|
+
- Escolha de bibliotecas ou ferramentas
|
|
42
|
+
- Padrões de implementação
|
|
43
|
+
- Estrutura de dados
|
|
44
|
+
- Estratégia de testes
|
|
45
|
+
|
|
46
|
+
**Durante `/work`** - Decisões de Implementação:
|
|
47
|
+
- Leia `./.sessions/<ISSUE-ID>/work.md`
|
|
48
|
+
- Identifique decisões em:
|
|
49
|
+
- Refatorações realizadas
|
|
50
|
+
- Mudanças de abordagem
|
|
51
|
+
- Otimizações aplicadas
|
|
52
|
+
- Tratamento de edge cases
|
|
53
|
+
|
|
54
|
+
### 2. Documentar Cada Decisão
|
|
55
|
+
|
|
56
|
+
Para cada decisão identificada, documente:
|
|
57
|
+
|
|
58
|
+
```markdown
|
|
59
|
+
## Decisão: [Título Claro]
|
|
60
|
+
|
|
61
|
+
**Contexto**: [Por que precisamos decidir isso? Qual o problema ou necessidade?]
|
|
62
|
+
|
|
63
|
+
**Opções Consideradas**:
|
|
64
|
+
1. **Opção A**: [Descrição]
|
|
65
|
+
- Prós: [vantagens]
|
|
66
|
+
- Contras: [desvantagens]
|
|
67
|
+
2. **Opção B**: [Descrição]
|
|
68
|
+
- Prós: [vantagens]
|
|
69
|
+
- Contras: [desvantagens]
|
|
70
|
+
|
|
71
|
+
**Decisão**: [Opção escolhida]
|
|
72
|
+
|
|
73
|
+
**Justificativa**: [Por que escolhemos esta opção? Quais critérios foram mais importantes?]
|
|
74
|
+
|
|
75
|
+
**Fontes**:
|
|
76
|
+
- [PRD seção X]
|
|
77
|
+
- [Metaspec Y]
|
|
78
|
+
- [ADR-00Z]
|
|
79
|
+
|
|
80
|
+
**Trade-offs Aceitos**: [Quais desvantagens aceitamos conscientemente?]
|
|
81
|
+
|
|
82
|
+
**Reversibilidade**: Fácil / Média / Difícil
|
|
83
|
+
|
|
84
|
+
**Data**: [data da decisão]
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### 3. Criar Log de Decisões
|
|
88
|
+
|
|
89
|
+
Salve em `./.sessions/<ISSUE-ID>/decisions.md`:
|
|
90
|
+
|
|
91
|
+
```markdown
|
|
92
|
+
# Log de Decisões - [ISSUE-ID]
|
|
93
|
+
|
|
94
|
+
## Resumo
|
|
95
|
+
[Breve resumo das principais decisões tomadas nesta feature]
|
|
96
|
+
|
|
97
|
+
## Decisões de Produto
|
|
98
|
+
|
|
99
|
+
### [Decisão 1]
|
|
100
|
+
[Conforme template acima]
|
|
101
|
+
|
|
102
|
+
### [Decisão 2]
|
|
103
|
+
[Conforme template acima]
|
|
104
|
+
|
|
105
|
+
## Decisões Técnicas
|
|
106
|
+
|
|
107
|
+
### [Decisão 3]
|
|
108
|
+
[Conforme template acima]
|
|
109
|
+
|
|
110
|
+
### [Decisão 4]
|
|
111
|
+
[Conforme template acima]
|
|
112
|
+
|
|
113
|
+
## Decisões de Implementação
|
|
114
|
+
|
|
115
|
+
### [Decisão 5]
|
|
116
|
+
[Conforme template acima]
|
|
117
|
+
|
|
118
|
+
## Lições Aprendidas
|
|
119
|
+
- [Lição 1]
|
|
120
|
+
- [Lição 2]
|
|
121
|
+
|
|
122
|
+
## Decisões Pendentes
|
|
123
|
+
- [Decisão que ainda precisa ser tomada]
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
## 📊 Análise de Impacto
|
|
127
|
+
|
|
128
|
+
Para decisões críticas, documente o impacto:
|
|
129
|
+
|
|
130
|
+
```markdown
|
|
131
|
+
## Análise de Impacto
|
|
132
|
+
|
|
133
|
+
**Repositórios Afetados**: [lista]
|
|
134
|
+
|
|
135
|
+
**Componentes Impactados**: [lista]
|
|
136
|
+
|
|
137
|
+
**Dependências Criadas**: [lista]
|
|
138
|
+
|
|
139
|
+
**Riscos Introduzidos**: [lista]
|
|
140
|
+
|
|
141
|
+
**Mitigações Aplicadas**: [lista]
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
## 🔄 Revisão de Decisões
|
|
145
|
+
|
|
146
|
+
Periodicamente, revise as decisões tomadas:
|
|
147
|
+
- Ainda fazem sentido?
|
|
148
|
+
- Os trade-offs se provaram corretos?
|
|
149
|
+
- Há aprendizados para documentar?
|
|
150
|
+
- Alguma decisão precisa ser revertida?
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
**Argumentos fornecidos**:
|
|
155
|
+
|
|
156
|
+
```
|
|
157
|
+
#$ARGUMENTS
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
## 🎯 Resultado
|
|
163
|
+
|
|
164
|
+
Após executar este comando, você terá:
|
|
165
|
+
- Log completo de decisões em `./.sessions/<ISSUE-ID>/decisions.md`
|
|
166
|
+
- Rastreabilidade de cada escolha feita
|
|
167
|
+
- Documentação para futuras referências
|
|
168
|
+
- Base para ADRs (se decisões forem de arquitetura)
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# Aquecimento - Carregamento de Contexto
|
|
2
|
+
|
|
3
|
+
Este comando prepara o ambiente carregando o contexto completo do projeto e do workspace atual.
|
|
4
|
+
|
|
5
|
+
## 1. Identificar Workspace Atual
|
|
6
|
+
|
|
7
|
+
Verifique se você está dentro de um workspace criado pelo `context-cli`:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
# Verificar se está em um diretório de workspace
|
|
11
|
+
pwd
|
|
12
|
+
# O workspace geralmente está em ~/workspaces/<ISSUE-ID>/
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Se não estiver em um workspace, pergunte ao usuário qual workspace usar ou se deve criar um novo com `feature:start`.
|
|
16
|
+
|
|
17
|
+
## 2. Carregar Configuração do Projeto
|
|
18
|
+
|
|
19
|
+
Identifique o orchestrator do projeto:
|
|
20
|
+
|
|
21
|
+
1. **Procure o arquivo `.contextrc.json`** em qualquer um dos repositórios do workspace
|
|
22
|
+
2. Este arquivo contém a URL do repositório orchestrator
|
|
23
|
+
3. Se o orchestrator ainda não estiver clonado localmente, clone-o
|
|
24
|
+
|
|
25
|
+
## 3. Carregar Manifesto do Projeto
|
|
26
|
+
|
|
27
|
+
Leia o `context-manifest.json` do orchestrator para entender:
|
|
28
|
+
- Lista completa de repositórios do ecossistema
|
|
29
|
+
- URL do repositório de MetaSpecs
|
|
30
|
+
- Dependências entre repositórios
|
|
31
|
+
- Roles de cada repositório (application, library, service, specs-provider)
|
|
32
|
+
|
|
33
|
+
## 4. Carregar MetaSpecs
|
|
34
|
+
|
|
35
|
+
O repositório de MetaSpecs está definido no `context-manifest.json` (geralmente com `role: "specs-provider"`).
|
|
36
|
+
|
|
37
|
+
**Leia sempre os arquivos de índice primeiro:**
|
|
38
|
+
|
|
39
|
+
1. **`README.md`** - Visão geral do projeto e estrutura de documentação
|
|
40
|
+
2. **`index.md`** (na raiz ou em subpastas) - Índice de especificações disponíveis
|
|
41
|
+
|
|
42
|
+
**Use os índices como referência** para navegar até as especificações específicas que você precisa. Não assuma que arquivos específicos existem - sempre consulte os índices primeiro.
|
|
43
|
+
|
|
44
|
+
## 5. Carregar Sessão Atual (se existir)
|
|
45
|
+
|
|
46
|
+
Verifique se existe uma sessão salva para este workspace:
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
# Procurar por sessão no orchestrator
|
|
50
|
+
ls -la .sessions/<ISSUE-ID>/ 2>/dev/null
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Se existir, leia os arquivos de sessão para recuperar o contexto da última execução.
|
|
54
|
+
|
|
55
|
+
## 6. Contexto dos Repositórios
|
|
56
|
+
|
|
57
|
+
Para cada repositório presente no workspace, leia:
|
|
58
|
+
- `README.md` - Propósito e visão geral do repositório
|
|
59
|
+
- Arquivo de configuração principal (`package.json`, `pom.xml`, `requirements.txt`, etc.)
|
|
60
|
+
|
|
61
|
+
## 7. Navegação Inteligente
|
|
62
|
+
|
|
63
|
+
- **Código**: Use ferramentas de busca (glob, grep) para localizar arquivos relevantes
|
|
64
|
+
- **Documentação**: Use os índices dos MetaSpecs como referência
|
|
65
|
+
- **Aguarde Instruções**: NÃO leia outros arquivos agora. Aguarde o próximo comando.
|
|
66
|
+
|
|
67
|
+
## 8. Princípio Jidoka (Parar ao Detectar Problemas)
|
|
68
|
+
|
|
69
|
+
Se detectar desalinhamento, conflitos ou problemas:
|
|
70
|
+
1. 🛑 **PARE** imediatamente
|
|
71
|
+
2. 📝 **DOCUMENTE** o problema encontrado
|
|
72
|
+
3. 💬 **ALERTE** o usuário antes de prosseguir
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
**Argumentos fornecidos**: #$ARGUMENTS
|
|
77
|
+
|
|
78
|
+
**Status**: Contexto carregado. Aguardando próximo comando.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|