@the-bearded-bear/claude-craft 3.0.2 → 3.1.0-next.a356bbd
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/Dev/i18n/de/Common/agents/ralph-conductor.md +146 -0
- package/Dev/i18n/de/Common/commands/ralph-run.md +171 -0
- package/Dev/i18n/de/Common/commands/setup-project-context.md +286 -0
- package/Dev/i18n/en/Common/agents/ralph-conductor.md +146 -0
- package/Dev/i18n/en/Common/commands/ralph-run.md +171 -0
- package/Dev/i18n/en/Common/commands/setup-project-context.md +286 -0
- package/Dev/i18n/es/Common/agents/ralph-conductor.md +146 -0
- package/Dev/i18n/es/Common/commands/ralph-run.md +171 -0
- package/Dev/i18n/es/Common/commands/setup-project-context.md +286 -0
- package/Dev/i18n/fr/Common/agents/ralph-conductor.md +146 -0
- package/Dev/i18n/fr/Common/commands/ralph-run.md +171 -0
- package/Dev/i18n/fr/Common/commands/setup-project-context.md +286 -0
- package/Dev/i18n/pt/Common/agents/ralph-conductor.md +146 -0
- package/Dev/i18n/pt/Common/commands/ralph-run.md +171 -0
- package/Dev/i18n/pt/Common/commands/setup-project-context.md +286 -0
- package/Tools/Ralph/README.md +303 -0
- package/Tools/Ralph/lib/checkpoint.sh +238 -0
- package/Tools/Ralph/lib/circuit-breaker.sh +172 -0
- package/Tools/Ralph/lib/dod-validator.sh +306 -0
- package/Tools/Ralph/lib/loop.sh +232 -0
- package/Tools/Ralph/lib/session.sh +234 -0
- package/Tools/Ralph/ralph.sh +491 -0
- package/Tools/Ralph/templates/ralph.yml.template +178 -0
- package/Tools/i18n/ralph/de.sh +147 -0
- package/Tools/i18n/ralph/en.sh +147 -0
- package/Tools/i18n/ralph/es.sh +147 -0
- package/Tools/i18n/ralph/fr.sh +147 -0
- package/Tools/i18n/ralph/pt.sh +147 -0
- package/cli/index.js +90 -0
- package/package.json +1 -1
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ralph-conductor
|
|
3
|
+
description: Orquestra sessoes de loop continuo Ralph Wiggum com validacao DoD
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Agente Ralph Conductor
|
|
7
|
+
|
|
8
|
+
Voce e um agente especializado para orquestrar sessoes de loop continuo Ralph Wiggum. Seu papel e guiar tarefas atraves da execucao iterativa do Claude ate que os criterios de Definition of Done (DoD) sejam atendidos.
|
|
9
|
+
|
|
10
|
+
## Responsabilidades Principais
|
|
11
|
+
|
|
12
|
+
### 1. Gerenciamento de Sessao
|
|
13
|
+
- Inicializar sessoes Ralph com configuracao apropriada
|
|
14
|
+
- Acompanhar progresso de iteracoes e metricas
|
|
15
|
+
- Gerenciar estado de sessao e recuperacao
|
|
16
|
+
|
|
17
|
+
### 2. Validacao Definition of Done
|
|
18
|
+
- Avaliar criterios DoD em cada iteracao
|
|
19
|
+
- Fornecer feedback sobre criterios aprovados/reprovados
|
|
20
|
+
- Sugerir acoes corretivas quando criterios falham
|
|
21
|
+
|
|
22
|
+
### 3. Monitoramento do Disjuntor
|
|
23
|
+
- Monitorar condicoes de estagnacao (sem progresso)
|
|
24
|
+
- Detectar loops de erro e falhas repetidas
|
|
25
|
+
- Recomendar parar quando apropriado
|
|
26
|
+
|
|
27
|
+
### 4. Avaliacao de Progresso
|
|
28
|
+
- Avaliar se progresso significativo esta sendo feito
|
|
29
|
+
- Identificar quando tarefas estao bloqueadas
|
|
30
|
+
- Sugerir abordagens alternativas quando necessario
|
|
31
|
+
|
|
32
|
+
## Modo de Trabalho
|
|
33
|
+
|
|
34
|
+
Ao orquestrar uma sessao Ralph:
|
|
35
|
+
|
|
36
|
+
1. **Avaliacao Inicial**
|
|
37
|
+
- Entender requisitos da tarefa
|
|
38
|
+
- Identificar criterios de sucesso
|
|
39
|
+
- Configurar checklist DoD apropriada
|
|
40
|
+
|
|
41
|
+
2. **Guia de Iteracao**
|
|
42
|
+
- Fornecer prompts claros e acionaveis
|
|
43
|
+
- Focar em um objetivo por vez
|
|
44
|
+
- Construir incrementalmente sobre progresso anterior
|
|
45
|
+
|
|
46
|
+
3. **Portoes de Qualidade**
|
|
47
|
+
- Verificar que testes passam antes de continuar
|
|
48
|
+
- Checar metricas de qualidade de codigo
|
|
49
|
+
- Validar atualizacoes de documentacao
|
|
50
|
+
|
|
51
|
+
4. **Sinais de Conclusao**
|
|
52
|
+
- Indicar claramente quando DoD e atingido
|
|
53
|
+
- Usar marcador de conclusao: `<promise>COMPLETE</promise>`
|
|
54
|
+
- Resumir o que foi realizado
|
|
55
|
+
|
|
56
|
+
## Tipos de Validadores DoD
|
|
57
|
+
|
|
58
|
+
| Tipo | Quando Usar |
|
|
59
|
+
|------|-------------|
|
|
60
|
+
| `command` | Executar testes, linting, build |
|
|
61
|
+
| `output_contains` | Verificar marcadores de conclusao |
|
|
62
|
+
| `file_changed` | Verificar atualizacoes de documentacao |
|
|
63
|
+
| `hook` | Integrar com portoes de qualidade existentes |
|
|
64
|
+
| `human` | Decisoes criticas que requerem aprovacao |
|
|
65
|
+
|
|
66
|
+
## Boas Praticas
|
|
67
|
+
|
|
68
|
+
### Decomposicao de Tarefas
|
|
69
|
+
Decompor tarefas complexas em passos menores e verificaveis:
|
|
70
|
+
1. Escrever teste que falha primeiro (VERMELHO)
|
|
71
|
+
2. Implementar codigo minimo para passar (VERDE)
|
|
72
|
+
3. Refatorar mantendo testes verdes (REFATORAR)
|
|
73
|
+
4. Atualizar documentacao
|
|
74
|
+
5. Sinalizar conclusao
|
|
75
|
+
|
|
76
|
+
### Indicadores de Progresso
|
|
77
|
+
Incluir marcadores de progresso claros na saida:
|
|
78
|
+
- `[PROGRESSO]` - Fazendo progresso
|
|
79
|
+
- `[BLOQUEADO]` - Obstaculo encontrado
|
|
80
|
+
- `[TESTING]` - Executando verificacao
|
|
81
|
+
- `[COMPLETO]` - Tarefa finalizada
|
|
82
|
+
|
|
83
|
+
### Tratamento de Erros
|
|
84
|
+
Ao encontrar erros:
|
|
85
|
+
1. Descrever o erro claramente
|
|
86
|
+
2. Analisar causa raiz
|
|
87
|
+
3. Propor solucao
|
|
88
|
+
4. Implementar correcao
|
|
89
|
+
5. Verificar resolucao
|
|
90
|
+
|
|
91
|
+
## Exemplo de Fluxo de Sessao
|
|
92
|
+
|
|
93
|
+
```
|
|
94
|
+
Sessao: ralph-1704067200-a1b2
|
|
95
|
+
Tarefa: Implementar autenticacao de usuario
|
|
96
|
+
|
|
97
|
+
Iteracao 1:
|
|
98
|
+
[PROGRESSO] Analisando estrutura de codigo existente
|
|
99
|
+
- Entidade User encontrada
|
|
100
|
+
- Servico de autenticacao precisa ser criado
|
|
101
|
+
- Diretorio de testes pronto
|
|
102
|
+
|
|
103
|
+
Iteracao 2:
|
|
104
|
+
[TESTING] Escrevendo testes de autenticacao
|
|
105
|
+
- Criado AuthServiceTest.php
|
|
106
|
+
- 3 casos de teste: login, logout, validateToken
|
|
107
|
+
- Testes atualmente FALHANDO (esperado)
|
|
108
|
+
|
|
109
|
+
Iteracao 3:
|
|
110
|
+
[PROGRESSO] Implementando AuthService
|
|
111
|
+
- Criado AuthService.php
|
|
112
|
+
- Implementada geracao de token JWT
|
|
113
|
+
- Testes agora PASSANDO
|
|
114
|
+
|
|
115
|
+
Iteracao 4:
|
|
116
|
+
[PROGRESSO] Atualizando documentacao
|
|
117
|
+
- Secao de autenticacao adicionada ao README
|
|
118
|
+
- Endpoints de API documentados
|
|
119
|
+
|
|
120
|
+
<promise>COMPLETE</promise>
|
|
121
|
+
|
|
122
|
+
Resumo:
|
|
123
|
+
- AuthService criado com suporte JWT
|
|
124
|
+
- 3 testes passando
|
|
125
|
+
- Documentacao atualizada
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
## Pontos de Integracao
|
|
129
|
+
|
|
130
|
+
- Funciona com comando `/common:ralph-run`
|
|
131
|
+
- Integra com hooks existentes (quality-gate.sh)
|
|
132
|
+
- Compativel com workflow `/project:sprint-dev`
|
|
133
|
+
- Usa principios do `@tdd-coach`
|
|
134
|
+
|
|
135
|
+
## Quando Parar
|
|
136
|
+
|
|
137
|
+
Sinalizar conclusao e parar iteracoes quando:
|
|
138
|
+
1. Todos os criterios DoD obrigatorios passam
|
|
139
|
+
2. Objetivos da tarefa completamente atingidos
|
|
140
|
+
3. Testes verificam funcionalidade
|
|
141
|
+
4. Documentacao atualizada
|
|
142
|
+
|
|
143
|
+
NAO continuar se:
|
|
144
|
+
- Limites do disjuntor atingidos
|
|
145
|
+
- Falhas repetidas indicam problema fundamental
|
|
146
|
+
- Intervencao humana necessaria
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Executar Claude em loop continuo ate completar tarefa (Ralph Wiggum)
|
|
3
|
+
argument-hint: <descricao-tarefa> [--auto|--full]
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Ralph Run - Loop Continuo de Agente IA
|
|
7
|
+
|
|
8
|
+
Executar Claude em loop continuo ate que a tarefa esteja completa ou os criterios de Definition of Done (DoD) sejam atendidos.
|
|
9
|
+
|
|
10
|
+
## Argumentos
|
|
11
|
+
|
|
12
|
+
**$ARGUMENTS**
|
|
13
|
+
|
|
14
|
+
- `<descricao-tarefa>`: A tarefa para Claude completar
|
|
15
|
+
- `--auto`: Deteccao automatica maxima, perguntas minimas
|
|
16
|
+
- `--full`: Modo completo com todas as verificacoes DoD
|
|
17
|
+
|
|
18
|
+
## Processo
|
|
19
|
+
|
|
20
|
+
### 1. Inicializacao de Sessao
|
|
21
|
+
|
|
22
|
+
1. **Verificar pre-requisitos**:
|
|
23
|
+
- Verificar se Claude esta disponivel
|
|
24
|
+
- Procurar configuracao `ralph.yml`
|
|
25
|
+
- Inicializar diretorio de sessao (`.ralph/`)
|
|
26
|
+
|
|
27
|
+
2. **Carregar configuracao**:
|
|
28
|
+
- Ler `ralph.yml` ou `.claude/ralph.yml`
|
|
29
|
+
- Definir iteracoes max, timeouts, criterios DoD
|
|
30
|
+
|
|
31
|
+
### 2. Loop Principal
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
35
|
+
│ LOOP RALPH │
|
|
36
|
+
│ │
|
|
37
|
+
│ while (iteracoes < max && !DoD_aprovado) { │
|
|
38
|
+
│ 1. Verificar disjuntor │
|
|
39
|
+
│ 2. Invocar Claude com prompt atual │
|
|
40
|
+
│ 3. Processar saida │
|
|
41
|
+
│ 4. Validar Definition of Done │
|
|
42
|
+
│ 5. Criar checkpoint (commit git) │
|
|
43
|
+
│ 6. Se DoD nao atendido, usar resposta como prompt │
|
|
44
|
+
│ } │
|
|
45
|
+
└─────────────────────────────────────────────────────────────┘
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### 3. Validacao Definition of Done
|
|
49
|
+
|
|
50
|
+
O sistema DoD valida conclusao atraves de multiplos criterios:
|
|
51
|
+
|
|
52
|
+
| Validador | Descricao |
|
|
53
|
+
|-----------|-----------|
|
|
54
|
+
| `command` | Executar comando shell (tests, lint, build) |
|
|
55
|
+
| `output_contains` | Verificar padrao na saida do Claude |
|
|
56
|
+
| `file_changed` | Verificar se arquivos foram modificados |
|
|
57
|
+
| `hook` | Executar hook Claude existente |
|
|
58
|
+
| `human` | Validacao humana interativa |
|
|
59
|
+
|
|
60
|
+
Exemplo DoD em `ralph.yml`:
|
|
61
|
+
|
|
62
|
+
```yaml
|
|
63
|
+
definition_of_done:
|
|
64
|
+
checklist:
|
|
65
|
+
- id: tests
|
|
66
|
+
name: "Todos os testes passam"
|
|
67
|
+
type: command
|
|
68
|
+
command: "docker compose exec app npm test"
|
|
69
|
+
required: true
|
|
70
|
+
|
|
71
|
+
- id: completion
|
|
72
|
+
name: "Claude sinaliza conclusao"
|
|
73
|
+
type: output_contains
|
|
74
|
+
pattern: "<promise>COMPLETE</promise>"
|
|
75
|
+
required: true
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### 4. Disjuntor (Circuit Breaker)
|
|
79
|
+
|
|
80
|
+
Mecanismo de seguranca para prevenir loops infinitos:
|
|
81
|
+
|
|
82
|
+
| Gatilho | Limite | Acao |
|
|
83
|
+
|---------|--------|------|
|
|
84
|
+
| Sem alteracoes de arquivos | 3 iteracoes | Parar |
|
|
85
|
+
| Erros repetidos | 5 iteracoes | Parar |
|
|
86
|
+
| Declinio de saida | 70% | Parar |
|
|
87
|
+
| Max iteracoes | 25 (padrao) | Parar |
|
|
88
|
+
|
|
89
|
+
### 5. Checkpointing
|
|
90
|
+
|
|
91
|
+
Checkpoints Git sao criados apos cada iteracao para:
|
|
92
|
+
- **Recuperacao**: Restaurar estado anterior se necessario
|
|
93
|
+
- **Historico**: Acompanhar progresso atraves das iteracoes
|
|
94
|
+
- **Revisao**: Inspecionar o que mudou em cada passo
|
|
95
|
+
|
|
96
|
+
## Saida
|
|
97
|
+
|
|
98
|
+
```
|
|
99
|
+
╔════════════════════════════════════════════════════════════╗
|
|
100
|
+
║ 🔁 Ralph Wiggum - Loop Continuo de Agente IA ║
|
|
101
|
+
╚════════════════════════════════════════════════════════════╝
|
|
102
|
+
|
|
103
|
+
✓ Sessao criada: ralph-1704067200-a1b2
|
|
104
|
+
|
|
105
|
+
ℹ Iniciando loop Ralph...
|
|
106
|
+
|
|
107
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
108
|
+
Iteracao 1 de 25
|
|
109
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
110
|
+
|
|
111
|
+
ℹ Invocando Claude...
|
|
112
|
+
ℹ Verificando criterios DoD...
|
|
113
|
+
✓ [tests] Todos os testes passam - OK
|
|
114
|
+
✓ [lint] Sem erros lint - OK
|
|
115
|
+
✓ [completion] Claude sinaliza conclusao - OK
|
|
116
|
+
|
|
117
|
+
Todos os criterios obrigatorios aprovados!
|
|
118
|
+
|
|
119
|
+
✓ DoD APROVADO
|
|
120
|
+
|
|
121
|
+
╔════════════════════════════════════════════════════════════╗
|
|
122
|
+
║ 📊 Resumo da Sessao ║
|
|
123
|
+
╚════════════════════════════════════════════════════════════╝
|
|
124
|
+
|
|
125
|
+
ID da sessao: ralph-1704067200-a1b2
|
|
126
|
+
Total de iteracoes: 3
|
|
127
|
+
Duracao: 45s
|
|
128
|
+
Status DoD: APROVADO
|
|
129
|
+
Motivo de saida: dod_complete
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
## Configuracao
|
|
133
|
+
|
|
134
|
+
Criar `ralph.yml` na raiz do projeto:
|
|
135
|
+
|
|
136
|
+
```yaml
|
|
137
|
+
version: "1.0"
|
|
138
|
+
|
|
139
|
+
session:
|
|
140
|
+
max_iterations: 25
|
|
141
|
+
timeout: 600000
|
|
142
|
+
|
|
143
|
+
circuit_breaker:
|
|
144
|
+
enabled: true
|
|
145
|
+
no_file_changes_threshold: 3
|
|
146
|
+
|
|
147
|
+
definition_of_done:
|
|
148
|
+
checklist:
|
|
149
|
+
- id: tests
|
|
150
|
+
type: command
|
|
151
|
+
command: "npm test"
|
|
152
|
+
required: true
|
|
153
|
+
- id: completion
|
|
154
|
+
type: output_contains
|
|
155
|
+
pattern: "<promise>COMPLETE</promise>"
|
|
156
|
+
required: true
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
## Boas Praticas
|
|
160
|
+
|
|
161
|
+
1. **Descricao clara**: Fornecer tarefas especificas e acionaveis
|
|
162
|
+
2. **Configurar DoD**: Definir criterios de conclusao em `ralph.yml`
|
|
163
|
+
3. **Usar TDD**: Escrever testes primeiro, deixar Ralph implementar
|
|
164
|
+
4. **Monitorar progresso**: Observar saidas de iteracao
|
|
165
|
+
5. **Limites razoaveis**: Ajustar max_iterations conforme complexidade
|
|
166
|
+
|
|
167
|
+
## Ver tambem
|
|
168
|
+
|
|
169
|
+
- `@ralph-conductor` - Agente para orquestracao Ralph
|
|
170
|
+
- `/common:fix-bug-tdd` - Correcao de bugs com TDD
|
|
171
|
+
- `/project:sprint-dev` - Desenvolvimento de sprint com TDD
|
|
@@ -0,0 +1,286 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: setup-project-context
|
|
3
|
+
description: Analisar o codigo e configurar o contexto do projeto interativamente
|
|
4
|
+
arguments:
|
|
5
|
+
- name: mode
|
|
6
|
+
description: Modo de detecao (--auto perguntas minimas, --full questionario completo)
|
|
7
|
+
required: false
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Configuracao do Contexto do Projeto
|
|
11
|
+
|
|
12
|
+
Configura `.claude/rules/00-project-context.md` analisando o codigo e fazendo perguntas direcionadas.
|
|
13
|
+
|
|
14
|
+
## Execucao
|
|
15
|
+
|
|
16
|
+
### Fase 1: Detecao Automatica
|
|
17
|
+
|
|
18
|
+
Analisar os seguintes arquivos e diretorios:
|
|
19
|
+
|
|
20
|
+
**Arquivos de Configuracao:**
|
|
21
|
+
- `package.json` → Nome do projeto Node.js, dependencias, scripts
|
|
22
|
+
- `composer.json` → Nome do projeto PHP, dependencias, framework
|
|
23
|
+
- `pubspec.yaml` → Nome do projeto Flutter/Dart, dependencias
|
|
24
|
+
- `requirements.txt` / `pyproject.toml` → Dependencias Python
|
|
25
|
+
- `Cargo.toml` → Projeto Rust
|
|
26
|
+
- `go.mod` → Modulo Go
|
|
27
|
+
|
|
28
|
+
**Ambiente e Configuracao:**
|
|
29
|
+
- `.env`, `.env.example` → Banco de dados, servicos
|
|
30
|
+
- `config/` → Configuracao do framework
|
|
31
|
+
- `docker-compose.yml` → Servicos (DB, Redis, etc.)
|
|
32
|
+
|
|
33
|
+
**Estrutura:**
|
|
34
|
+
- `src/`, `lib/`, `app/` → Localizacao do codigo fonte
|
|
35
|
+
- `tests/`, `spec/` → Framework de testes
|
|
36
|
+
- `docs/`, `specifications/` → Documentacao
|
|
37
|
+
- `.github/`, `.gitlab-ci.yml` → CI/CD
|
|
38
|
+
|
|
39
|
+
**Dominio (se aplicavel):**
|
|
40
|
+
- `src/Entity/`, `src/Domain/` → Entidades de negocio (PHP/Symfony)
|
|
41
|
+
- `lib/models/`, `lib/domain/` → Modelos (Flutter/Dart)
|
|
42
|
+
- `models/`, `schemas/` → Modelos de dados
|
|
43
|
+
- `migrations/` → Schema do banco de dados
|
|
44
|
+
|
|
45
|
+
Exibir resultados da analise:
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
49
|
+
║ RESULTADOS DA ANALISE DO PROJETO ║
|
|
50
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
51
|
+
|
|
52
|
+
✅ Informacoes Detectadas:
|
|
53
|
+
┌─────────────────┬────────────────────────────────┐
|
|
54
|
+
│ Elemento │ Valor │
|
|
55
|
+
├─────────────────┼────────────────────────────────┤
|
|
56
|
+
│ Nome do Projeto │ {nome_detectado} │
|
|
57
|
+
│ Linguagem │ {linguagem_detectada} │
|
|
58
|
+
│ Framework │ {framework_detectado} │
|
|
59
|
+
│ Banco de Dados │ {database_detectado} │
|
|
60
|
+
│ Testes │ {testes_detectados} │
|
|
61
|
+
│ CI/CD │ {cicd_detectado} │
|
|
62
|
+
└─────────────────┴────────────────────────────────┘
|
|
63
|
+
|
|
64
|
+
📁 Estrutura do Projeto:
|
|
65
|
+
{estrutura_detectada}
|
|
66
|
+
|
|
67
|
+
📄 Documentacao Encontrada:
|
|
68
|
+
{docs_detectados}
|
|
69
|
+
|
|
70
|
+
❌ Nao Detectado (sera perguntado):
|
|
71
|
+
- {elementos_faltantes}
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### Fase 2: Perguntas Interativas
|
|
75
|
+
|
|
76
|
+
Perguntar apenas sobre informacoes NAO detectadas na Fase 1.
|
|
77
|
+
Pular perguntas se o modo `--auto` for usado e existir um padrao razoavel.
|
|
78
|
+
|
|
79
|
+
**Perguntas Essenciais:**
|
|
80
|
+
|
|
81
|
+
1. **Tipo de Aplicacao** (se nao detectado):
|
|
82
|
+
```
|
|
83
|
+
Que tipo de aplicacao e esta?
|
|
84
|
+
[ ] API REST [ ] Aplicacao Web [ ] Aplicativo Movel
|
|
85
|
+
[ ] Ferramenta CLI [ ] Biblioteca/Pacote [ ] Monorepo
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
2. **Dominio de Negocio**:
|
|
89
|
+
```
|
|
90
|
+
Qual e o dominio de negocio?
|
|
91
|
+
[ ] E-commerce [ ] Plataforma SaaS [ ] FinTech
|
|
92
|
+
[ ] HealthTech [ ] EdTech [ ] Social/Comunidade
|
|
93
|
+
[ ] Midia/Conteudo [ ] IoT [ ] Outro: _____
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
3. **Usuarios Alvo** (2-3 personas):
|
|
97
|
+
```
|
|
98
|
+
Descreva seus usuarios principais:
|
|
99
|
+
|
|
100
|
+
Usuario Principal:
|
|
101
|
+
> Funcao: _____
|
|
102
|
+
> Objetivo principal: _____
|
|
103
|
+
|
|
104
|
+
Usuario Secundario (opcional):
|
|
105
|
+
> Funcao: _____
|
|
106
|
+
> Objetivo principal: _____
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
4. **Requisitos de Conformidade**:
|
|
110
|
+
```
|
|
111
|
+
Quais requisitos de conformidade se aplicam?
|
|
112
|
+
[ ] LGPD/GDPR (Protecao de dados)
|
|
113
|
+
[ ] HIPAA (Saude EUA)
|
|
114
|
+
[ ] PCI-DSS (Cartoes de pagamento)
|
|
115
|
+
[ ] SOC2 (Seguranca)
|
|
116
|
+
[ ] Nenhum / Nao aplicavel
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
**Perguntas Estendidas** (apenas com modo `--full`):
|
|
120
|
+
|
|
121
|
+
5. **Objetivos de Negocio**:
|
|
122
|
+
```
|
|
123
|
+
Objetivos de curto prazo (3-6 meses):
|
|
124
|
+
> _____
|
|
125
|
+
|
|
126
|
+
Objetivos de medio prazo (6-12 meses):
|
|
127
|
+
> _____
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
6. **Problemas Conhecidos/Divida Tecnica**:
|
|
131
|
+
```
|
|
132
|
+
Ha problemas conhecidos ou divida tecnica a documentar?
|
|
133
|
+
> _____
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
7. **Termos do Glossario**:
|
|
137
|
+
```
|
|
138
|
+
Termos de negocio chave para definir (separados por virgula):
|
|
139
|
+
> _____
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
### Fase 3: Gerar Arquivo de Contexto
|
|
143
|
+
|
|
144
|
+
Criar `.claude/rules/00-project-context.md`:
|
|
145
|
+
|
|
146
|
+
```markdown
|
|
147
|
+
# Contexto do Projeto - {NOME_PROJETO}
|
|
148
|
+
|
|
149
|
+
> Gerado automaticamente por `/common:setup-project-context` em {DATA}
|
|
150
|
+
> Revisar e personalizar conforme necessario.
|
|
151
|
+
|
|
152
|
+
## Visao Geral
|
|
153
|
+
|
|
154
|
+
**{NOME_PROJETO}** e uma aplicacao {TIPO} para o dominio {DOMINIO}.
|
|
155
|
+
|
|
156
|
+
{DESCRICAO_DO_README_OU_USUARIO}
|
|
157
|
+
|
|
158
|
+
## Stack Tecnico
|
|
159
|
+
|
|
160
|
+
| Componente | Tecnologia |
|
|
161
|
+
|--------------|----------------------|
|
|
162
|
+
| Linguagem | {LINGUAGEM} |
|
|
163
|
+
| Framework | {FRAMEWORK} |
|
|
164
|
+
| Banco Dados | {DATABASE} |
|
|
165
|
+
| Cache | {CACHE_SE_DETECTADO} |
|
|
166
|
+
| Testes | {FRAMEWORKS_TESTE} |
|
|
167
|
+
| CI/CD | {PLATAFORMA_CICD} |
|
|
168
|
+
|
|
169
|
+
## Estrutura do Projeto
|
|
170
|
+
|
|
171
|
+
```
|
|
172
|
+
{ESTRUTURA_DETECTADA}
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
## Dominio de Negocio
|
|
176
|
+
|
|
177
|
+
### Conceitos Chave
|
|
178
|
+
|
|
179
|
+
{ENTIDADES_SE_DETECTADAS}
|
|
180
|
+
|
|
181
|
+
### Bounded Contexts
|
|
182
|
+
|
|
183
|
+
<!-- Adicionar se usar DDD -->
|
|
184
|
+
- Contexto 1: ...
|
|
185
|
+
- Contexto 2: ...
|
|
186
|
+
|
|
187
|
+
## Usuarios e Personas
|
|
188
|
+
|
|
189
|
+
### {FUNCAO_USUARIO_PRINCIPAL}
|
|
190
|
+
- **Objetivo:** {OBJETIVO_USUARIO_PRINCIPAL}
|
|
191
|
+
- **Pontos de dor:** A documentar
|
|
192
|
+
- **Fluxos chave:** A documentar
|
|
193
|
+
|
|
194
|
+
### {FUNCAO_USUARIO_SECUNDARIO}
|
|
195
|
+
- **Objetivo:** {OBJETIVO_USUARIO_SECUNDARIO}
|
|
196
|
+
- **Pontos de dor:** A documentar
|
|
197
|
+
- **Fluxos chave:** A documentar
|
|
198
|
+
|
|
199
|
+
## Restricoes
|
|
200
|
+
|
|
201
|
+
### Conformidade
|
|
202
|
+
{REQUISITOS_CONFORMIDADE}
|
|
203
|
+
|
|
204
|
+
### Metas de Desempenho
|
|
205
|
+
- Tempo de carregamento da pagina: < 3s
|
|
206
|
+
- Tempo de resposta da API: < 200ms
|
|
207
|
+
- Disponibilidade: 99.9%
|
|
208
|
+
|
|
209
|
+
### Requisitos de Seguranca
|
|
210
|
+
- Conformidade OWASP Top 10
|
|
211
|
+
- Validacao de entrada em todos os endpoints
|
|
212
|
+
- Autenticacao necessaria para recursos protegidos
|
|
213
|
+
|
|
214
|
+
## Objetivos
|
|
215
|
+
|
|
216
|
+
### Curto prazo
|
|
217
|
+
{OBJETIVOS_CURTO_PRAZO_OU_PLACEHOLDER}
|
|
218
|
+
|
|
219
|
+
### Medio prazo
|
|
220
|
+
{OBJETIVOS_MEDIO_PRAZO_OU_PLACEHOLDER}
|
|
221
|
+
|
|
222
|
+
## Problemas Conhecidos / Divida Tecnica
|
|
223
|
+
|
|
224
|
+
{PROBLEMAS_OU_PLACEHOLDER}
|
|
225
|
+
|
|
226
|
+
## Glossario
|
|
227
|
+
|
|
228
|
+
| Termo | Definicao |
|
|
229
|
+
|-------|-----------|
|
|
230
|
+
{TERMOS_GLOSSARIO_OU_EXEMPLOS}
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
### Fase 4: Validacao e Proximos Passos
|
|
234
|
+
|
|
235
|
+
Exibir resumo e recomendacoes:
|
|
236
|
+
|
|
237
|
+
```
|
|
238
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
239
|
+
║ CONTEXTO DO PROJETO GERADO ║
|
|
240
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
241
|
+
|
|
242
|
+
✅ Arquivo criado: .claude/rules/00-project-context.md
|
|
243
|
+
|
|
244
|
+
Resumo:
|
|
245
|
+
┌─────────────────┬────────────────────────────────┐
|
|
246
|
+
│ Projeto │ {NOME_PROJETO} │
|
|
247
|
+
│ Tipo │ {TIPO} │
|
|
248
|
+
│ Stack │ {FRAMEWORK} + {DATABASE} │
|
|
249
|
+
│ Dominio │ {DOMINIO} │
|
|
250
|
+
│ Conformidade │ {CONFORMIDADE} │
|
|
251
|
+
│ Personas │ {QUANTIDADE} definidos │
|
|
252
|
+
└─────────────────┴────────────────────────────────┘
|
|
253
|
+
|
|
254
|
+
📋 Proximos Passos Recomendados:
|
|
255
|
+
|
|
256
|
+
1. Revisar arquivo gerado e completar secoes placeholder
|
|
257
|
+
2. Adicionar bounded contexts detalhados se usar DDD
|
|
258
|
+
3. Documentar fluxos de negocio chave
|
|
259
|
+
4. Considerar executar agentes especializados:
|
|
260
|
+
- @database-architect → Documentar schema do banco de dados
|
|
261
|
+
- @api-designer → Documentar endpoints da API
|
|
262
|
+
- @security-reviewer → Revisar restricoes de seguranca
|
|
263
|
+
|
|
264
|
+
Deseja que eu abra o arquivo para revisao?
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
## Modos
|
|
268
|
+
|
|
269
|
+
| Modo | Comportamento |
|
|
270
|
+
|------|---------------|
|
|
271
|
+
| (padrao) | Detecao + perguntas essenciais (tipo, dominio, usuarios, conformidade) |
|
|
272
|
+
| `--auto` | Detecao maxima, pular perguntas com padroes razoaveis |
|
|
273
|
+
| `--full` | Todas as perguntas incluindo objetivos, problemas e glossario |
|
|
274
|
+
|
|
275
|
+
## Exemplos
|
|
276
|
+
|
|
277
|
+
```bash
|
|
278
|
+
# Modo padrao - detecao e perguntas equilibradas
|
|
279
|
+
/common:setup-project-context
|
|
280
|
+
|
|
281
|
+
# Modo auto - interacao minima
|
|
282
|
+
/common:setup-project-context --auto
|
|
283
|
+
|
|
284
|
+
# Modo completo - questionario exaustivo
|
|
285
|
+
/common:setup-project-context --full
|
|
286
|
+
```
|