create-genia-os 2.0.0 → 2.1.1
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/README.md +154 -0
- package/bin/index.js +240 -0
- package/package.json +40 -42
- package/template/.claude/CLAUDE.md +215 -0
- package/template/.claude/agent-memory/analyst/MEMORY.md +20 -0
- package/template/.claude/agent-memory/architect/MEMORY.md +20 -0
- package/template/.claude/agent-memory/dev/MEMORY.md +20 -0
- package/template/.claude/agent-memory/devops/MEMORY.md +20 -0
- package/template/.claude/agent-memory/pm/MEMORY.md +20 -0
- package/template/.claude/agent-memory/po/MEMORY.md +20 -0
- package/template/.claude/agent-memory/qa/MEMORY.md +20 -0
- package/template/.claude/agent-memory/reviewer/MEMORY.md +20 -0
- package/template/.claude/agent-memory/sm/MEMORY.md +20 -0
- package/template/.claude/hooks/enforce-git-push-authority.py +70 -0
- package/template/.claude/hooks/precompact-session-digest.cjs +87 -0
- package/template/.claude/hooks/sql-governance.py +65 -0
- package/template/.claude/hooks/synapse-engine.cjs +122 -0
- package/template/.claude/hooks/write-path-validation.py +59 -0
- package/template/.claude/rules/agent-authority.md +39 -0
- package/template/.claude/rules/agent-handoff.md +71 -0
- package/template/.claude/rules/agent-memory.md +61 -0
- package/template/.claude/rules/ids-principles.md +52 -0
- package/template/.claude/rules/mcp-usage.md +49 -0
- package/template/.claude/rules/story-lifecycle.md +87 -0
- package/template/.claude/rules/workflow-execution.md +68 -0
- package/template/.claude/settings.json +58 -0
- package/template/.claude/settings.local.json +14 -0
- package/template/.genia/CONSTITUTION.md +129 -0
- package/template/.genia/contexts/api-patterns.md +134 -0
- package/template/.genia/contexts/nextjs-react.md +210 -0
- package/template/.genia/contexts/projeto.md +18 -0
- package/template/.genia/contexts/supabase.md +152 -0
- package/template/.genia/contexts/whatsapp-cloud.md +176 -0
- package/template/.genia/core-config.yaml +192 -0
- package/template/.genia/development/agents/analyst.md +138 -0
- package/template/.genia/development/agents/architect.md +171 -0
- package/template/.genia/development/agents/dev.md +160 -0
- package/template/.genia/development/agents/devops.md +200 -0
- package/template/.genia/development/agents/pm.md +142 -0
- package/template/.genia/development/agents/po.md +165 -0
- package/template/.genia/development/agents/qa.md +183 -0
- package/template/.genia/development/agents/reviewer.md +198 -0
- package/template/.genia/development/agents/sm.md +230 -0
- package/template/.genia/development/checklists/architecture-review.md +189 -0
- package/template/.genia/development/checklists/pre-commit.md +205 -0
- package/template/.genia/development/checklists/pre-deploy.md +230 -0
- package/template/.genia/development/checklists/qa-gate.md +216 -0
- package/template/.genia/development/checklists/story-dod.md +155 -0
- package/template/.genia/development/tasks/code-review.md +197 -0
- package/template/.genia/development/tasks/criar-prd.md +170 -0
- package/template/.genia/development/tasks/criar-spec.md +188 -0
- package/template/.genia/development/tasks/criar-story.md +185 -0
- package/template/.genia/development/tasks/debug-sistematico.md +230 -0
- package/template/.genia/development/tasks/dev-implement.md +199 -0
- package/template/.genia/development/tasks/qa-review.md +224 -0
- package/template/.genia/development/workflows/brownfield.md +178 -0
- package/template/.genia/development/workflows/delivery.md +208 -0
- package/template/.genia/development/workflows/development.md +189 -0
- package/template/.genia/development/workflows/greenfield.md +166 -0
- package/template/.genia/development/workflows/planning.md +167 -0
- package/template/.genia/development/workflows/qa-loop.md +179 -0
- package/template/.genia/development/workflows/spec-pipeline.md +192 -0
- package/template/.genia/development/workflows/story-development-cycle.md +252 -0
- package/template/.genia/guidelines/clean-code.md +98 -0
- package/template/.genia/guidelines/testing.md +176 -0
- package/template/.genia/skills/design/canvas-design.md +109 -0
- package/template/.genia/skills/design/frontend-design.md +140 -0
- package/template/.genia/skills/dev/mcp-builder.md +172 -0
- package/template/.genia/skills/dev/webapp-testing.md +150 -0
- package/template/.genia/skills/documents/docx.md +153 -0
- package/template/.genia/skills/documents/pdf.md +134 -0
- package/template/.genia/skills/documents/pptx.md +118 -0
- package/template/.genia/skills/documents/xlsx.md +140 -0
- package/template/.synapse/agent-analyst +8 -0
- package/template/.synapse/agent-architect +8 -0
- package/template/.synapse/agent-dev +8 -0
- package/template/.synapse/agent-devops +8 -0
- package/template/.synapse/agent-pm +8 -0
- package/template/.synapse/agent-po +7 -0
- package/template/.synapse/agent-qa +8 -0
- package/template/.synapse/agent-reviewer +7 -0
- package/template/.synapse/agent-sm +7 -0
- package/template/.synapse/constitution +7 -0
- package/template/.synapse/context +8 -0
- package/template/.synapse/global +8 -0
- package/template/.synapse/manifest +14 -0
- package/template/README.md +53 -0
- package/bin/create.js +0 -181
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# Protocolo de Handoff — GEN.IA OS
|
|
2
|
+
|
|
3
|
+
## Quando Fazer Handoff
|
|
4
|
+
|
|
5
|
+
Handoff é obrigatório quando:
|
|
6
|
+
- Tarefa requer autoridade de outro agente (Artigo II)
|
|
7
|
+
- Fase do workflow mudou
|
|
8
|
+
- Blocker identificado fora do escopo atual
|
|
9
|
+
- Trabalho está completo e próxima etapa é de outro agente
|
|
10
|
+
|
|
11
|
+
## Formato de Handoff (≤ 400 tokens)
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
[@agente-atual → @próximo-agente]
|
|
15
|
+
|
|
16
|
+
📋 Contexto: [O que foi feito em 2-3 frases]
|
|
17
|
+
|
|
18
|
+
📌 Decisões tomadas:
|
|
19
|
+
- [decisão 1]
|
|
20
|
+
- [decisão 2]
|
|
21
|
+
|
|
22
|
+
📁 Arquivos criados/modificados:
|
|
23
|
+
- [path/arquivo.md]
|
|
24
|
+
|
|
25
|
+
⚠️ Pendências:
|
|
26
|
+
- [o que precisa ser feito]
|
|
27
|
+
|
|
28
|
+
🔗 Story atual: STORY-NNN (se aplicável)
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Regra de Token Budget
|
|
32
|
+
|
|
33
|
+
- Handoff DEVE ser ≤ 400 tokens
|
|
34
|
+
- Após 2+ trocas de agente, comprimir histórico ao essencial
|
|
35
|
+
- Não repassar contexto completo — apenas decisões e pendências
|
|
36
|
+
|
|
37
|
+
## Compressão de Contexto
|
|
38
|
+
|
|
39
|
+
Quando o contexto estiver saturado (muitas trocas de agente):
|
|
40
|
+
|
|
41
|
+
1. Criar `.genia/session/context-summary.md` com:
|
|
42
|
+
- Decisões arquiteturais tomadas
|
|
43
|
+
- Stories em andamento e seus estados
|
|
44
|
+
- Blockers conhecidos
|
|
45
|
+
- Stack tecnológica confirmada
|
|
46
|
+
|
|
47
|
+
2. Referenciar o arquivo no próximo handoff:
|
|
48
|
+
```
|
|
49
|
+
[Contexto comprimido em .genia/session/context-summary.md]
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Exemplos de Handoff
|
|
53
|
+
|
|
54
|
+
**@dev → @devops (após implementação):**
|
|
55
|
+
```
|
|
56
|
+
[@dev → @devops]
|
|
57
|
+
📋 Implementei STORY-003 (autenticação JWT). Commits feitos localmente.
|
|
58
|
+
📌 Decisões: Usei jose library, tokens expiram em 1h, refresh em 7d.
|
|
59
|
+
📁 Modificados: src/auth/jwt.ts, src/middleware/auth.ts, tests/auth.test.ts
|
|
60
|
+
⚠️ Pendências: Push da branch feat/STORY-003-jwt-auth e criar PR para main.
|
|
61
|
+
🔗 Story atual: STORY-003 (status: InReview)
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
**@analyst → @pm (após briefing):**
|
|
65
|
+
```
|
|
66
|
+
[@analyst → @pm]
|
|
67
|
+
📋 Coletei requisitos completos do sistema de orçamentos BrasilUp.
|
|
68
|
+
📌 Decisões: App web (não mobile), integração com Kommo CRM, 3 usuários simultâneos.
|
|
69
|
+
📁 Criados: docs/brasilup/BRIEFING.md
|
|
70
|
+
⚠️ Pendências: Criar PRD com base no briefing. Atenção ao requisito de relatórios PDF.
|
|
71
|
+
```
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# Memória Persistente dos Agentes — GEN.IA OS
|
|
2
|
+
|
|
3
|
+
## Localização
|
|
4
|
+
|
|
5
|
+
```
|
|
6
|
+
.claude/agent-memory/
|
|
7
|
+
├── analyst/MEMORY.md
|
|
8
|
+
├── pm/MEMORY.md
|
|
9
|
+
├── architect/MEMORY.md
|
|
10
|
+
├── dev/MEMORY.md
|
|
11
|
+
├── devops/MEMORY.md
|
|
12
|
+
├── qa/MEMORY.md
|
|
13
|
+
├── reviewer/MEMORY.md
|
|
14
|
+
├── po/MEMORY.md
|
|
15
|
+
└── sm/MEMORY.md
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Regra de Leitura
|
|
19
|
+
|
|
20
|
+
Todo agente DEVE ler seu `MEMORY.md` ao ser ativado. Esta leitura é parte do protocolo de ativação.
|
|
21
|
+
|
|
22
|
+
## Quando Atualizar
|
|
23
|
+
|
|
24
|
+
Atualizar o MEMORY.md quando:
|
|
25
|
+
- Descobrir padrão recorrente no projeto
|
|
26
|
+
- Resolver problema difícil (documentar a solução)
|
|
27
|
+
- Identificar preferência da usuária (Elidy)
|
|
28
|
+
- Encontrar um gotcha (armadilha) do projeto
|
|
29
|
+
- Tomar decisão arquitetural relevante
|
|
30
|
+
|
|
31
|
+
## Formato do MEMORY.md
|
|
32
|
+
|
|
33
|
+
```markdown
|
|
34
|
+
# MEMORY — @[agente] ([Nome])
|
|
35
|
+
|
|
36
|
+
> Memória persistente. Atualizada a cada sessão relevante.
|
|
37
|
+
> Última atualização: YYYY-MM-DD
|
|
38
|
+
|
|
39
|
+
## Padrões Confirmados
|
|
40
|
+
- [padrão]: [quando usar]
|
|
41
|
+
|
|
42
|
+
## Preferências da Usuária
|
|
43
|
+
- [preferência]: [contexto]
|
|
44
|
+
|
|
45
|
+
## Gotchas do Projeto
|
|
46
|
+
- [problema]: [solução]
|
|
47
|
+
|
|
48
|
+
## Decisões Importantes
|
|
49
|
+
- [decisão]: [justificativa e data]
|
|
50
|
+
|
|
51
|
+
## Stack Tecnológica Confirmada
|
|
52
|
+
- [tecnologia]: [versão/contexto]
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Regra de Escrita
|
|
56
|
+
|
|
57
|
+
- Não adicionar informações duplicadas
|
|
58
|
+
- Verificar se já existe entry antes de criar nova
|
|
59
|
+
- Remover entries desatualizadas
|
|
60
|
+
- Máximo 200 linhas por arquivo (comprimir se necessário)
|
|
61
|
+
- Usar linguagem objetiva: fatos, não opiniões
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# Princípios IDS — GEN.IA OS
|
|
2
|
+
## Incremental Decision System
|
|
3
|
+
|
|
4
|
+
## Hierarquia de Decisão
|
|
5
|
+
|
|
6
|
+
```
|
|
7
|
+
REUSAR > ADAPTAR > CRIAR
|
|
8
|
+
```
|
|
9
|
+
|
|
10
|
+
Antes de criar qualquer artefato (componente, task, template, módulo, contexto):
|
|
11
|
+
|
|
12
|
+
**1. REUSAR** — Buscar no projeto algo que já resolve o problema
|
|
13
|
+
**2. ADAPTAR** — Se 70%+ compatível, adaptar o existente
|
|
14
|
+
**3. CRIAR** — Apenas se reutilização não é viável
|
|
15
|
+
|
|
16
|
+
## Onde Buscar Antes de Criar
|
|
17
|
+
|
|
18
|
+
| Tipo | Buscar em |
|
|
19
|
+
|------|-----------|
|
|
20
|
+
| Task | `.genia/development/tasks/` |
|
|
21
|
+
| Template de doc | `.claude/templates/` (se existir) |
|
|
22
|
+
| Contexto de API | `.genia/contexts/` |
|
|
23
|
+
| Skill | `.genia/skills/` |
|
|
24
|
+
| Guideline | `.genia/guidelines/` |
|
|
25
|
+
| Checklist | `.genia/development/checklists/` |
|
|
26
|
+
|
|
27
|
+
## Justificativa Obrigatória para CRIAR
|
|
28
|
+
|
|
29
|
+
Ao criar novo artefato que poderia ser reusado, documentar inline:
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
// NOVO: não foi possível reusar porque [razão]
|
|
33
|
+
// Adaptação de: [nada existente] | [X arquivo, mas incompatível por Y]
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Prevenção de Duplicação em Stories
|
|
37
|
+
|
|
38
|
+
Antes de criar `STORY-NNN`, verificar:
|
|
39
|
+
1. Existe story similar em `docs/stories/`?
|
|
40
|
+
2. Está dentro de um épico já existente?
|
|
41
|
+
3. Já foi implementado e mergeado?
|
|
42
|
+
|
|
43
|
+
## Circuit Breaker
|
|
44
|
+
|
|
45
|
+
Se a busca por artefato reutilizável demorar mais de 30 segundos, prosseguir com criação e documentar a tentativa de busca.
|
|
46
|
+
|
|
47
|
+
## Benefícios
|
|
48
|
+
|
|
49
|
+
- Reduz explosão de arquivos no projeto
|
|
50
|
+
- Mantém consistência entre implementações similares
|
|
51
|
+
- Facilita manutenção no longo prazo
|
|
52
|
+
- Evita reinventar soluções já validadas
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Uso de Ferramentas e MCP — GEN.IA OS
|
|
2
|
+
|
|
3
|
+
## Prioridade de Ferramentas
|
|
4
|
+
|
|
5
|
+
```
|
|
6
|
+
1. Ferramentas nativas Claude Code (sempre preferir)
|
|
7
|
+
2. Ferramentas MCP configuradas (quando necessário)
|
|
8
|
+
3. Bash com CLI tools (último recurso)
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Ferramentas Nativas — Sempre Preferir
|
|
12
|
+
|
|
13
|
+
| Operação | Ferramenta Correta | NÃO usar |
|
|
14
|
+
|----------|--------------------|----------|
|
|
15
|
+
| Ler arquivo | Read | Bash cat/head/tail |
|
|
16
|
+
| Criar arquivo | Write | Bash echo/cat heredoc |
|
|
17
|
+
| Editar arquivo | Edit | Bash sed/awk |
|
|
18
|
+
| Buscar arquivo | Glob | Bash find/ls |
|
|
19
|
+
| Buscar conteúdo | Grep | Bash grep/rg |
|
|
20
|
+
| Perguntar usuário | AskUserQuestion | — |
|
|
21
|
+
| Tarefa complexa | Task | — |
|
|
22
|
+
|
|
23
|
+
## Gerenciamento MCP
|
|
24
|
+
|
|
25
|
+
**@devops é o ÚNICO autorizado a:**
|
|
26
|
+
- Adicionar servidores MCP
|
|
27
|
+
- Remover servidores MCP
|
|
28
|
+
- Configurar MCP (editar settings.json de MCP)
|
|
29
|
+
- Fazer upgrade de versão de servidor MCP
|
|
30
|
+
|
|
31
|
+
Outros agentes são **consumidores apenas**.
|
|
32
|
+
|
|
33
|
+
## Regra de Ouro
|
|
34
|
+
|
|
35
|
+
> "Se uma ferramenta nativa do Claude Code resolve, não use MCP."
|
|
36
|
+
|
|
37
|
+
## Servidores MCP Disponíveis
|
|
38
|
+
|
|
39
|
+
Ver configuração em `.claude/settings.json` (gerenciado por @devops).
|
|
40
|
+
|
|
41
|
+
## Quando Usar Bash
|
|
42
|
+
|
|
43
|
+
Use Bash apenas para:
|
|
44
|
+
- Comandos git (quando necessário)
|
|
45
|
+
- Executar scripts (npm, python, etc.)
|
|
46
|
+
- Operações de sistema que não têm ferramenta nativa
|
|
47
|
+
- Comandos CLI específicos (supabase, gh, etc.)
|
|
48
|
+
|
|
49
|
+
Nunca para: leitura/escrita/busca de arquivos.
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# Ciclo de Vida de Stories — GEN.IA OS
|
|
2
|
+
|
|
3
|
+
## Estados
|
|
4
|
+
|
|
5
|
+
```
|
|
6
|
+
Draft → Ready → InProgress → InReview → Done
|
|
7
|
+
↘ Blocked
|
|
8
|
+
```
|
|
9
|
+
|
|
10
|
+
## Responsabilidades por Estado
|
|
11
|
+
|
|
12
|
+
| Estado | Responsável | O que acontece |
|
|
13
|
+
|--------|-------------|----------------|
|
|
14
|
+
| **Draft** | @sm | Cria story com template padrão |
|
|
15
|
+
| **Ready** | @po | Valida com checklist 10 pontos |
|
|
16
|
+
| **InProgress** | @dev | Implementa o código |
|
|
17
|
+
| **InReview** | @qa + @reviewer | Testa e revisa código |
|
|
18
|
+
| **Done** | @devops | Faz push/PR; @pm atualiza backlog |
|
|
19
|
+
| **Blocked** | agente atual | Documenta blocker e escalona |
|
|
20
|
+
|
|
21
|
+
## Checklist de Validação — @po (10 pontos obrigatórios)
|
|
22
|
+
|
|
23
|
+
- [ ] Título claro e acionável (verbo + objeto)
|
|
24
|
+
- [ ] Formato: "Como [persona] quero [ação] para [benefício]"
|
|
25
|
+
- [ ] Acceptance criteria definidos (mínimo 3 critérios)
|
|
26
|
+
- [ ] Tasks técnicas listadas (mínimo 2 tasks)
|
|
27
|
+
- [ ] Dependências de outras stories mapeadas
|
|
28
|
+
- [ ] Estimativa de esforço definida (P/M/G/XG)
|
|
29
|
+
- [ ] Nome da branch definido: `tipo/STORY-NNN-slug`
|
|
30
|
+
- [ ] Arquivos a criar/modificar listados
|
|
31
|
+
- [ ] Testes necessários identificados
|
|
32
|
+
- [ ] Riscos e pontos de atenção documentados
|
|
33
|
+
|
|
34
|
+
**Story com menos de 8 pontos = REJEITADA pelo @po**
|
|
35
|
+
|
|
36
|
+
## Localização das Stories
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
docs/stories/STORY-[NNN]-[slug].md
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Exemplo: `docs/stories/STORY-001-autenticacao-usuario.md`
|
|
43
|
+
|
|
44
|
+
## Atualização de Status na Story
|
|
45
|
+
|
|
46
|
+
Sempre atualizar o cabeçalho quando mudar de estado:
|
|
47
|
+
|
|
48
|
+
```markdown
|
|
49
|
+
**Status:** InProgress
|
|
50
|
+
**Agente:** @dev
|
|
51
|
+
**Atualizado:** 2026-02-24
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Template de Story
|
|
55
|
+
|
|
56
|
+
```markdown
|
|
57
|
+
# STORY-NNN — Título da Story
|
|
58
|
+
|
|
59
|
+
**Status:** Draft
|
|
60
|
+
**Agente:** @sm
|
|
61
|
+
**Criado:** YYYY-MM-DD
|
|
62
|
+
**Estimativa:** M
|
|
63
|
+
|
|
64
|
+
## Descrição
|
|
65
|
+
Como [persona] quero [ação] para [benefício].
|
|
66
|
+
|
|
67
|
+
## Acceptance Criteria
|
|
68
|
+
- [ ] AC1: ...
|
|
69
|
+
- [ ] AC2: ...
|
|
70
|
+
- [ ] AC3: ...
|
|
71
|
+
|
|
72
|
+
## Tasks Técnicas
|
|
73
|
+
- [ ] Task 1: ...
|
|
74
|
+
- [ ] Task 2: ...
|
|
75
|
+
|
|
76
|
+
## Branch
|
|
77
|
+
`feat/STORY-NNN-slug`
|
|
78
|
+
|
|
79
|
+
## Arquivos Envolvidos
|
|
80
|
+
- `src/...`
|
|
81
|
+
|
|
82
|
+
## Dependências
|
|
83
|
+
- STORY-XXX (se houver)
|
|
84
|
+
|
|
85
|
+
## Riscos
|
|
86
|
+
- ...
|
|
87
|
+
```
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# Execução de Workflows — GEN.IA OS
|
|
2
|
+
|
|
3
|
+
## Seleção de Workflow
|
|
4
|
+
|
|
5
|
+
| Situação | Workflow |
|
|
6
|
+
|----------|----------|
|
|
7
|
+
| Projeto do zero | greenfield → spec-pipeline → SDC |
|
|
8
|
+
| Evoluir sistema existente | brownfield → spec-pipeline → SDC |
|
|
9
|
+
| Nova feature isolada | spec-pipeline → SDC |
|
|
10
|
+
| Corrigir bug | debug-sistematico → SDC |
|
|
11
|
+
| Sprint completa | planning → development → delivery |
|
|
12
|
+
|
|
13
|
+
## Chains Principais
|
|
14
|
+
|
|
15
|
+
**1. Spec Pipeline** (quando)
|
|
16
|
+
```
|
|
17
|
+
@analyst briefing → @pm PRD → @architect SPEC → @po aprovação
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
**2. Story Development Cycle (SDC)** (core do desenvolvimento)
|
|
21
|
+
```
|
|
22
|
+
@sm draft → @po valida → @dev implementa → @qa revisa → @reviewer code review → @devops push/PR
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
**3. QA Loop** (iterativo, máx 5x)
|
|
26
|
+
```
|
|
27
|
+
@qa revisa → @dev corrige → @qa re-revisa → (aprovado?) → @reviewer
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
**4. Delivery**
|
|
31
|
+
```
|
|
32
|
+
@pm decisão → @devops deploy → @pm valida → @pm comunica
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Princípio Task-First
|
|
36
|
+
|
|
37
|
+
Antes de executar qualquer ação, identificar qual task em `.genia/development/tasks/` se aplica:
|
|
38
|
+
- Criar PRD → usar `criar-prd.md`
|
|
39
|
+
- Criar SPEC → usar `criar-spec.md`
|
|
40
|
+
- Criar story → usar `criar-story.md`
|
|
41
|
+
- Implementar → usar `dev-implement.md`
|
|
42
|
+
- Revisar QA → usar `qa-review.md`
|
|
43
|
+
- Debug → usar `debug-sistematico.md`
|
|
44
|
+
- Code review → usar `code-review.md`
|
|
45
|
+
|
|
46
|
+
## Estado de Workflow
|
|
47
|
+
|
|
48
|
+
Ao iniciar workflow de múltiplas fases, criar registro em:
|
|
49
|
+
`.genia/session/workflow-state.md`
|
|
50
|
+
|
|
51
|
+
```markdown
|
|
52
|
+
# Workflow State
|
|
53
|
+
Workflow: spec-pipeline
|
|
54
|
+
Fase atual: 2 — PRD
|
|
55
|
+
Agente: @pm
|
|
56
|
+
Projeto: [nome]
|
|
57
|
+
Iniciado: YYYY-MM-DD
|
|
58
|
+
Próximo: @architect (SPEC-TECNICO)
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## Complexidade e Estimativas
|
|
62
|
+
|
|
63
|
+
| Classe | Esforço | Uso |
|
|
64
|
+
|--------|---------|-----|
|
|
65
|
+
| P (Pequeno) | < 2h | Bug fix, texto, config |
|
|
66
|
+
| M (Médio) | 2-8h | Feature simples, CRUD |
|
|
67
|
+
| G (Grande) | 1-3 dias | Feature complexa, integração |
|
|
68
|
+
| XG (Extra Grande) | > 3 dias | Epic, refatoração grande |
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
{
|
|
2
|
+
"permissions": {
|
|
3
|
+
"deny": [
|
|
4
|
+
"Bash(git push --force*)",
|
|
5
|
+
"Bash(rm -rf .genia/CONSTITUTION.md)",
|
|
6
|
+
"Bash(rm -rf .genia/development/workflows/*)",
|
|
7
|
+
"Bash(rm -rf .genia/development/tasks/*)",
|
|
8
|
+
"Bash(rm -rf .claude/hooks/*)",
|
|
9
|
+
"Bash(rm -rf .claude/rules/*)"
|
|
10
|
+
]
|
|
11
|
+
},
|
|
12
|
+
"hooks": {
|
|
13
|
+
"UserPromptSubmit": [
|
|
14
|
+
{
|
|
15
|
+
"hooks": [
|
|
16
|
+
{
|
|
17
|
+
"type": "command",
|
|
18
|
+
"command": "bash -c \"cd \\\"$(git rev-parse --show-toplevel)\\\" && node .claude/hooks/synapse-engine.cjs\""
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
}
|
|
22
|
+
],
|
|
23
|
+
"PreCompact": [
|
|
24
|
+
{
|
|
25
|
+
"hooks": [
|
|
26
|
+
{
|
|
27
|
+
"type": "command",
|
|
28
|
+
"command": "bash -c \"cd \\\"$(git rev-parse --show-toplevel)\\\" && node .claude/hooks/precompact-session-digest.cjs\""
|
|
29
|
+
}
|
|
30
|
+
]
|
|
31
|
+
}
|
|
32
|
+
],
|
|
33
|
+
"PreToolUse": [
|
|
34
|
+
{
|
|
35
|
+
"matcher": "Bash",
|
|
36
|
+
"hooks": [
|
|
37
|
+
{
|
|
38
|
+
"type": "command",
|
|
39
|
+
"command": "bash -c \"cd \\\"$(git rev-parse --show-toplevel)\\\" && python .claude/hooks/enforce-git-push-authority.py\""
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"type": "command",
|
|
43
|
+
"command": "bash -c \"cd \\\"$(git rev-parse --show-toplevel)\\\" && python .claude/hooks/sql-governance.py\""
|
|
44
|
+
}
|
|
45
|
+
]
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"matcher": "Write",
|
|
49
|
+
"hooks": [
|
|
50
|
+
{
|
|
51
|
+
"type": "command",
|
|
52
|
+
"command": "bash -c \"cd \\\"$(git rev-parse --show-toplevel)\\\" && python .claude/hooks/write-path-validation.py\""
|
|
53
|
+
}
|
|
54
|
+
]
|
|
55
|
+
}
|
|
56
|
+
]
|
|
57
|
+
}
|
|
58
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"permissions": {
|
|
3
|
+
"allow": [
|
|
4
|
+
"Bash(node --version)",
|
|
5
|
+
"Bash(npm --version)",
|
|
6
|
+
"Bash(git*)",
|
|
7
|
+
"Bash(pip --version)",
|
|
8
|
+
"Bash(python*)",
|
|
9
|
+
"Bash(gh*)",
|
|
10
|
+
"Bash(node \".claude/hooks/synapse-engine.cjs\")",
|
|
11
|
+
"Bash(node \".claude/hooks/precompact-session-digest.cjs\")"
|
|
12
|
+
]
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
# CONSTITUIÇÃO GEN.IA OS v1.0
|
|
2
|
+
|
|
3
|
+
> Sistema de governança do GEN.IA OS — {{TEAM_NAME}}
|
|
4
|
+
> Criadora: {{CREATOR_NAME}} | Versão: 1.0.0 | Ratificada: {{SETUP_DATE}}
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## ARTIGO I — CLI First (NÃO-NEGOCIÁVEL)
|
|
9
|
+
|
|
10
|
+
O Claude Code é a fonte de verdade. Toda ação passa pelos hooks de governança.
|
|
11
|
+
|
|
12
|
+
**VIOLAÇÃO → BLOQUEIO automático.**
|
|
13
|
+
|
|
14
|
+
Nenhuma ferramenta externa, painel ou interface bypassa o sistema de governança do GEN.IA OS. Toda modificação de código, configuração ou infraestrutura DEVE ser rastreável via CLI e registrada nos logs de auditoria. Ações realizadas fora do fluxo de hooks são consideradas não-autorizadas e podem comprometer a integridade do sistema.
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## ARTIGO II — Autoridade do Agente (NÃO-NEGOCIÁVEL)
|
|
19
|
+
|
|
20
|
+
Cada agente tem autoridade exclusiva em seu domínio. Agentes DEVEM delegar quando a ação estiver fora de seu escopo.
|
|
21
|
+
|
|
22
|
+
- **@devops** é o ÚNICO que pode executar `git push`, criar Pull Requests e realizar releases
|
|
23
|
+
- **@architect** tem veto técnico irrevogável sobre decisões de arquitetura e stack
|
|
24
|
+
- **@sm** é o ÚNICO que cria e altera Stories formalmente
|
|
25
|
+
- **@po** é o ÚNICO que valida e aprova Stories para desenvolvimento
|
|
26
|
+
- **@pm** é o ÚNICO que aprova mudanças de escopo e PRD
|
|
27
|
+
|
|
28
|
+
**VIOLAÇÃO → BLOQUEIO automático.**
|
|
29
|
+
|
|
30
|
+
Nenhum agente deve agir fora de sua autoridade, mesmo que tecnicamente capaz. A separação de responsabilidades é a garantia de rastreabilidade e qualidade do sistema. Quando em dúvida, delegar é obrigatório.
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## ARTIGO III — Story-Driven Development (OBRIGATÓRIO)
|
|
35
|
+
|
|
36
|
+
Nenhuma linha de código pode ser escrita sem uma Story aprovada por @po. Toda Story deve ter:
|
|
37
|
+
|
|
38
|
+
- Título claro e objetivo
|
|
39
|
+
- Descrição no formato "Como [persona], quero [ação], para [benefício]"
|
|
40
|
+
- Acceptance Criteria mensuráveis e verificáveis
|
|
41
|
+
- Estimativa de esforço acordada
|
|
42
|
+
- Épico pai identificado
|
|
43
|
+
|
|
44
|
+
**VIOLAÇÃO → AVISO + documentar justificativa obrigatória.**
|
|
45
|
+
|
|
46
|
+
A Story é o contrato entre negócio e técnica. Código sem Story é trabalho não rastreável, não validável e potencialmente fora de escopo. Em situações de emergência documentadas, @architect pode autorizar exceção com registro formal.
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## ARTIGO IV — Sem Invenção (OBRIGATÓRIO)
|
|
51
|
+
|
|
52
|
+
Agentes derivam especificações APENAS de requisitos explicitamente declarados em briefing, PRD ou SPEC-TECNICO.
|
|
53
|
+
|
|
54
|
+
Funcionalidades não especificadas são **estritamente proibidas**.
|
|
55
|
+
|
|
56
|
+
**VIOLAÇÃO → AVISO + justificativa obrigatória.**
|
|
57
|
+
|
|
58
|
+
A criatividade técnica é bem-vinda na escolha de COMO implementar, nunca no QUE implementar. Se um requisito parece faltar, o agente DEVE questionar e solicitar clarificação ao @pm ou @po, nunca assumir ou inventar. Isso protege o produto de scope creep não intencional.
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## ARTIGO V — Qualidade Primeiro (OBRIGATÓRIO)
|
|
63
|
+
|
|
64
|
+
Lint, testes unitários e build bem-sucedido são pré-requisitos para qualquer entrega.
|
|
65
|
+
|
|
66
|
+
**VIOLAÇÃO → BLOQUEIO de delivery.**
|
|
67
|
+
|
|
68
|
+
Qualidade não é opcional nem negociável por prazo. Os quality gates existem para proteger a estabilidade do sistema em produção. Exceções documentadas devem ser aprovadas por @architect e @qa, com plano de remediação obrigatório.
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## ARTIGO VI — Imports Absolutos (RECOMENDADO)
|
|
73
|
+
|
|
74
|
+
Sempre utilizar `@/` como alias de importação raiz. Caminhos relativos com múltiplos `../` são proibidos.
|
|
75
|
+
|
|
76
|
+
**VIOLAÇÃO → AVISO informacional.**
|
|
77
|
+
|
|
78
|
+
Imports absolutos melhoram a legibilidade, facilitam refatorações e reduzem erros ao mover arquivos. Esta convenção deve ser configurada no `tsconfig.json` e aplicada em todo o projeto.
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## Hierarquia de Autoridade
|
|
83
|
+
|
|
84
|
+
```
|
|
85
|
+
NÍVEL 3 — Decisão Final
|
|
86
|
+
└── @architect — veto técnico irrevogável, guardiã da arquitetura
|
|
87
|
+
|
|
88
|
+
NÍVEL 2 — Gestão e Validação
|
|
89
|
+
├── @pm — PRD, escopo, priorização, stakeholders, épicos
|
|
90
|
+
├── @po — validação de stories, backlog, acceptance criteria
|
|
91
|
+
└── @analyst — requisitos, regras de negócio, briefing
|
|
92
|
+
|
|
93
|
+
NÍVEL 1 — Execução
|
|
94
|
+
├── @dev — implementação de código (SEM permissão de push)
|
|
95
|
+
├── @devops — push, PR, release, configuração MCP/CI (ÚNICO com push)
|
|
96
|
+
├── @qa — design e execução de testes, veredictos de qualidade
|
|
97
|
+
├── @reviewer — code review, padrões de código, aprovação formal
|
|
98
|
+
└── @sm — criação de stories, gestão de sprint, facilitação
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## Processo de Emenda à Constituição
|
|
104
|
+
|
|
105
|
+
Para alterar qualquer artigo desta Constituição:
|
|
106
|
+
|
|
107
|
+
1. **Proposta formal** — Qualquer agente pode propor via documento `EMENDA-XXX.md`
|
|
108
|
+
2. **Justificativa obrigatória** — Motivação clara com impacto nos processos existentes
|
|
109
|
+
3. **Aprovação dupla** — Requer concordância de @architect E @pm
|
|
110
|
+
4. **Versionamento semântico:**
|
|
111
|
+
- **MAJOR** (ex: 1.0.0 → 2.0.0): mudança breaking em artigos NÃO-NEGOCIÁVEIS
|
|
112
|
+
- **MINOR** (ex: 1.0.0 → 1.1.0): adição de novo artigo ou expansão significativa
|
|
113
|
+
- **PATCH** (ex: 1.0.0 → 1.0.1): clarificação, correção de texto, sem mudança de regra
|
|
114
|
+
5. **Propagação** — Atualizar tasks, templates e workflows afetados
|
|
115
|
+
6. **Comunicação** — Notificar todos os agentes sobre a mudança
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## Penalidades e Enforcement
|
|
120
|
+
|
|
121
|
+
| Severidade | Violação | Consequência |
|
|
122
|
+
|-----------|---------|-------------|
|
|
123
|
+
| CRÍTICA | Artigo I ou II | Bloqueio automático da ação + log de auditoria |
|
|
124
|
+
| ALTA | Artigo III, IV ou V | Aviso formal + documentação de justificativa |
|
|
125
|
+
| MÉDIA | Artigo VI | Aviso informacional + correção na próxima iteração |
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
*GEN.IA OS v1.0 — {{TEAM_NAME}} — {{CREATOR_NAME}} — Ratificada em 2026-02-24*
|