@fontdata/ai-harness 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.
Files changed (52) hide show
  1. package/.claude-plugin/marketplace.json +17 -0
  2. package/.claude-plugin/plugin.json +8 -0
  3. package/README.md +239 -0
  4. package/bin/cli.js +122 -0
  5. package/package.json +44 -0
  6. package/src/catalog.js +26 -0
  7. package/src/init.js +317 -0
  8. package/src/installer.js +92 -0
  9. package/src/run.js +99 -0
  10. package/templates/CLAUDE.md +49 -0
  11. package/templates/catalog.json +124 -0
  12. package/templates/commands/atualizar-deps.md +15 -0
  13. package/templates/commands/auditar-performance.md +27 -0
  14. package/templates/commands/auditar-seguranca.md +64 -0
  15. package/templates/commands/auditar-ui.md +38 -0
  16. package/templates/commands/codigo-morto.md +22 -0
  17. package/templates/commands/configurar-auto-tag.md +185 -0
  18. package/templates/commands/configurar-comentarios.md +543 -0
  19. package/templates/commands/configurar-orquestrador.md +13 -0
  20. package/templates/commands/corrigir-review.md +11 -0
  21. package/templates/commands/criar-agents.md +42 -0
  22. package/templates/commands/criar-code-reviewer.md +30 -0
  23. package/templates/commands/criar-hooks.md +32 -0
  24. package/templates/commands/criar-rag.md +25 -0
  25. package/templates/commands/criar-rules.md +31 -0
  26. package/templates/commands/criar-skill.md +22 -0
  27. package/templates/commands/design-system.md +27 -0
  28. package/templates/commands/diagrama.md +17 -0
  29. package/templates/commands/executar-plan.md +36 -0
  30. package/templates/commands/gerar-claude-md.md +66 -0
  31. package/templates/commands/gerar-env.md +16 -0
  32. package/templates/commands/gerar-ignore.md +37 -0
  33. package/templates/commands/gerar-spec.md +33 -0
  34. package/templates/commands/gerar-testes.md +17 -0
  35. package/templates/commands/git-commit-push.md +38 -0
  36. package/templates/commands/harness.md +34 -0
  37. package/templates/commands/nova-tarefa.md +60 -0
  38. package/templates/commands/onboarding.md +21 -0
  39. package/templates/commands/refatorar.md +17 -0
  40. package/templates/commands/resolver-bug.md +25 -0
  41. package/templates/commands/review-por-task.md +16 -0
  42. package/templates/commands/revisar-pr.md +18 -0
  43. package/templates/commands/scaffold.md +25 -0
  44. package/templates/commands/sincronizar-claude-md.md +15 -0
  45. package/templates/commands/validar-commands.md +24 -0
  46. package/templates/commands/validar-ideia.md +36 -0
  47. package/templates/commands/versao.md +159 -0
  48. package/templates/skills/lgpd-checker/ORIGEM.md +21 -0
  49. package/templates/skills/lgpd-checker/SKILL.md +152 -0
  50. package/templates/skills/lgpd-checker/references/checklist.md +155 -0
  51. package/templates/skills/lgpd-checker/references/lgpd-artigos.md +178 -0
  52. package/templates/skills/lgpd-checker/references/report-template.md +117 -0
@@ -0,0 +1,25 @@
1
+ ---
2
+ description: Cria um sistema de RAG (SQLite + sqlite-vec) para capturar e reusar aprendizados.
3
+ ---
4
+
5
+ # Criação do sistema de RAG
6
+
7
+ Leia o `SPEC.md`, o `CLAUDE.md` na raiz e o plano mais recente em `docs/plans/`.
8
+
9
+ Crie um sistema de RAG para este projeto que captura aprendizados em três momentos: ao encerrar um agent, ao encerrar a sessão e ao iniciar um novo prompt.
10
+
11
+ O sistema deve ter:
12
+
13
+ 1. **SCHEMA DO BANCO** — SQLite com `sqlite-vec`. Tabela `knowledge` com: `id`, `path`, `content`, `embedding`, `category`, `agent`, `created_at`.
14
+
15
+ 2. **SCRIPT DE RESUMO** (`.claude/scripts/summarize.ts`) — Recebe como input o contexto a resumir (transcript de agent ou da sessão inteira). Extrai aprendizados em 4 categorias: bugs resolvidos com causa raiz; decisões de arquitetura e o porquê; padrões adotados pelo time; o que não funcionou e por quê. Salva em `.claude/knowledge/YYYY-MM-DD-agent-slug.md`.
16
+
17
+ 3. **SCRIPT DE EMBEDDING** (`.claude/scripts/embed.ts`) — Lê o `.md` gerado, quebra em chunks de 200-300 tokens, gera embeddings com `all-MiniLM-L6-v2` e faz INSERT no `rag.db` com `agent` e `category`.
18
+
19
+ 4. **SCRIPT DE BUSCA** (`.claude/scripts/search.ts`) — Recebe a pergunta atual e o agent atual, gera o embedding da pergunta, busca os top-3 chunks mais similares, prioriza chunks da mesma categoria do agent ativo e retorna o conteúdo para injetar no contexto.
20
+
21
+ 5. **SUBAGENT STOP HOOK** (async, por agent) — Captura o aprendizado específico do agent que acabou de terminar uma task.
22
+
23
+ 6. **STOP HOOK** (async, por sessão) — Captura o aprendizado da sessão inteira como síntese.
24
+
25
+ 7. **USERPROMPTSUBMIT HOOK** — Busca conhecimento relevante para o prompt atual, prioriza a categoria do agent ativo e injeta os chunks encontrados no contexto.
@@ -0,0 +1,31 @@
1
+ ---
2
+ description: Cria rules incondicionais e escopadas por path em .claude/rules/.
3
+ ---
4
+
5
+ # Geração de rules baseadas nos agents
6
+
7
+ Leia os agents em `.claude/agents/`, o `CLAUDE.md` e o `SPEC.md` do projeto.
8
+
9
+ Para cada domínio coberto pelos agents, crie rules específicas que complementem o system prompt de cada agent.
10
+
11
+ Crie em `.claude/rules/`:
12
+
13
+ 1. **Rules incondicionais** com restrições que valem para qualquer agent:
14
+ - `seguranca.md` (o que nunca fazer)
15
+ - `convencoes-gerais.md` (padrões universais)
16
+
17
+ 2. **Rules escopadas por path** para cada domínio:
18
+ - `backend/` com paths: `backend/**/*.py`
19
+ - `frontend/` com paths: `frontend/src/**`
20
+ - `tests/` com paths: `tests/**`
21
+
22
+ **Não crie rule de comentários.** `.claude/rules/comentarios.md` é instalado por `/configurar-comentarios`
23
+ (junto com o hook de enforcement e a catraca do legado). Se ele já existir, deixe-o como está; se não
24
+ existir, sugira rodar `/configurar-comentarios` em vez de escrever uma versão paralela. Também não repita
25
+ regra de comentário dentro de `convencoes-gerais.md` — duas fontes divergentes é pior que uma.
26
+
27
+ Cada rule deve:
28
+ - Ser concisa — máximo 30 linhas
29
+ - Conter apenas o que o agent não descobriria sozinho lendo o código
30
+ - Complementar o system prompt do agent, não repetir o que já está lá
31
+ - Focar em restrições e padrões específicos do domínio — não em comportamento geral
@@ -0,0 +1,22 @@
1
+ ---
2
+ description: Sugere e cria skills do projeto em .claude/skills/ para problemas recorrentes.
3
+ ---
4
+
5
+ # Criação de Skill
6
+
7
+ Leia o `CLAUDE.md` e o `SPEC.md` na raiz do projeto.
8
+
9
+ Crie uma skill para este projeto que resolva um problema **recorrente** que os agents vão ter durante a implementação.
10
+
11
+ Sugira opções de skills úteis para este projeto específico, com:
12
+ - O que cada skill faria
13
+ - Quando dispararia automaticamente
14
+ - Que tipo de tarefa resolveria sem precisar repetir instruções no prompt
15
+
16
+ Após minha escolha, crie a skill completa em `.claude/skills/nome-escolhido/SKILL.md`.
17
+
18
+ A skill deve ter:
19
+ 1. Frontmatter com `name` e `description` bem escritos
20
+ 2. Instruções claras baseadas nas convenções do `CLAUDE.md`
21
+ 3. Exemplos de input e output esperados
22
+ 4. Critério de quando **NÃO** usar a skill
@@ -0,0 +1,27 @@
1
+ ---
2
+ description: Cria o agent de design system com skills e rules de conformidade da identidade visual.
3
+ ---
4
+
5
+ # Criação do agente de design system
6
+
7
+ Crie um **agente responsável pelo design system** do projeto. Esse agente deve trabalhar em conjunto, principalmente, com o agente de frontend. Ele deve ter **skills** e **rules** referentes à guarda e à garantia da conformidade da identidade visual do projeto.
8
+
9
+ Crie o agent em `.claude/agents/`, as skills em `.claude/skills/` e as rules em `.claude/rules/`.
10
+
11
+ ## Origem da identidade visual
12
+
13
+ A fonte do design system depende de eu ter passado, ou não, uma **URL** em `$ARGUMENTS`:
14
+
15
+ $ARGUMENTS
16
+
17
+ - **Se eu informei uma URL** em `$ARGUMENTS`: trate-a como referência externa e rode a instrução da seção **"Extrair identidade visual de uma referência externa"** abaixo, extraindo dela cores, fontes e padrões visuais para replicar no nosso projeto.
18
+
19
+ - **Se eu NÃO informei nenhuma URL** (`$ARGUMENTS` vazio): **não acesse a internet**. Extraia o design system **já existente no próprio projeto, via código** — varra o código-fonte (CSS/SCSS, tokens de tema, Tailwind/`tailwind.config`, variáveis CSS, bibliotecas de UI, componentes) e consolide cores, tipografia, espaçamentos e demais padrões visuais reais do projeto. Use isso como base do agent, skills e rules.
20
+
21
+ ---
22
+
23
+ ### Extrair identidade visual de uma referência externa
24
+
25
+ **Rode esta seção somente quando eu tiver informado uma URL em `$ARGUMENTS`.**
26
+
27
+ Acesse o site informado e extraia dele todas as informações de cores, fontes e padrões visuais — principalmente de CSS — para replicar isso no nosso projeto.
@@ -0,0 +1,17 @@
1
+ ---
2
+ description: Gera diagramas Mermaid de arquitetura/fluxo a partir do código do projeto.
3
+ ---
4
+
5
+ # Geração de diagrama (Mermaid)
6
+
7
+ O que diagramar (opcional — ex.: "arquitetura geral", "fluxo de login", "modelo de dados"): $ARGUMENTS
8
+
9
+ Se eu não especifiquei, me pergunte qual visão eu quero antes de gerar.
10
+
11
+ Passos:
12
+
13
+ 1. Explore o código para entender a estrutura relevante (módulos, camadas, serviços, entidades, rotas, eventos) ao tema pedido.
14
+ 2. Gere um diagrama em **Mermaid**, escolhendo o tipo adequado: `flowchart` (arquitetura/fluxo), `sequenceDiagram` (interações), `erDiagram` (dados), `classDiagram` (modelo OO), `stateDiagram` (estados).
15
+ 3. Mantenha o diagrama **fiel ao código real**, não a uma versão idealizada. Use nomes reais de módulos/arquivos.
16
+ 4. Salve em `docs/diagramas/<slug>.md` (crie a pasta se necessário) com um título e um parágrafo curto explicando o que o diagrama mostra.
17
+ 5. Mostre o bloco Mermaid no chat e o caminho do arquivo salvo.
@@ -0,0 +1,36 @@
1
+ ---
2
+ description: Orquestra a execução do plano com sub-agents em paralelo, fase a fase, com gates e TDD.
3
+ ---
4
+
5
+ # Execução do plano com sub-agents
6
+
7
+ Leia o `SPEC.md` e o `CLAUDE.md` na raiz e o **plano mais recente em `docs/plans/`** (a spec correspondente está em `docs/specs/`). O scaffold está completo e os testes de smoke passam.
8
+
9
+ Sua função é de **ORQUESTRADOR**. Você não implementa nada diretamente — você lê o plano e delega cada task para sub-agents independentes, respeitando as dependências entre fases. **Sempre relate no chat qual agent está ativo**, principalmente nos gates.
10
+
11
+ ## Regras de orquestração
12
+
13
+ 1. **LEIA O PLANO COMPLETO** — Antes de qualquer delegação, leia todas as fases, tasks, inputs, outputs e testes críticos. Monte internamente o grafo de dependências.
14
+
15
+ 2. **EXECUTE FASE POR FASE** — Nunca inicie uma fase antes que todas as tasks da fase anterior estejam concluídas e os testes passando.
16
+
17
+ 3. **DENTRO DE CADA FASE — PARALELO** — Para cada fase, dispare sub-agents simultâneos para todas as tasks marcadas como paralelas. Cada sub-agent recebe: o contexto da task (Input, Output, Testes críticos), a instrução de escrever os testes ANTES de implementar, a instrução de seguir as convenções do `CLAUDE.md` e a instrução de marcar o checkbox da task no plano ao concluir.
18
+
19
+ 4. **INSTRUÇÃO PARA CADA SUB-AGENT** — Ao delegar, passe exatamente este contexto:
20
+
21
+ > "Você é responsável pela [NOME DA TASK] do plano em `docs/plans/...`.
22
+ > Input: [INPUT DA TASK]
23
+ > Output esperado: [OUTPUT DA TASK]
24
+ > Testes críticos:
25
+ > - [TESTE 1]
26
+ > - [TESTE 2]
27
+ > Siga as convenções do `CLAUDE.md`. Escreva os testes primeiro (RED), confirme que falham, implemente o mínimo para passar (GREEN), e marque o checkbox no plano ao concluir.
28
+ > Comentários: o padrão é não comentar (bloco <= 3 linhas, docstring pública <= 5, cabeçalho de arquivo proibido). **Não** escreva no código o número da task, a fase, o plano, a data nem o que você investigou — isso vai na mensagem de commit. Ver `.claude/rules/comentarios.md`."
29
+
30
+ 5. **GATE ENTRE FASES** — Após todos os sub-agents de uma fase reportarem conclusão, execute o critério de gate da fase. Só avance se o gate passar. Se falhar, sinalize o erro e aguarde instrução — não tente corrigir automaticamente.
31
+
32
+ 6. **RELATÓRIO DE PROGRESSO** — Após cada fase, exiba: tasks concluídas e testes passando, tasks que bloquearam e o motivo, gate da fase (passou/falhou) e a próxima fase.
33
+
34
+ 7. **RESTRIÇÕES** — Não modifique `SPEC.md`, `CLAUDE.md` ou os planos. Não implemente nada fora do escopo do plano. Não avance se um gate falhar. Se uma task bloquear por mais de 2 tentativas, sinalize e aguarde — não invente solução alternativa.
35
+
36
+ Inicie lendo o plano e apresentando o plano de execução completo antes de disparar qualquer sub-agent. Aguarde minha confirmação para começar.
@@ -0,0 +1,66 @@
1
+ ---
2
+ description: Gera o CLAUDE.md (context file) na raiz a partir do SPEC.md.
3
+ ---
4
+
5
+ # Geração do CLAUDE.md
6
+
7
+ Leia o `SPEC.md` na raiz do projeto e gere o **Context File** do projeto, salvando como `CLAUDE.md` **na raiz**.
8
+
9
+ Gere o arquivo exatamente nesta estrutura, sem adicionar nem remover seções:
10
+
11
+ ```markdown
12
+ # [NOME DO PROJETO]
13
+ > [1 frase: o que o sistema faz e qual problema resolve]
14
+
15
+ ## Stack
16
+ | Camada | Tecnologia |
17
+ |--------|------------|
18
+ [preencha com a stack do SPEC]
19
+
20
+ ## Estrutura de pastas
21
+ [árvore de pastas do projeto com comentário em cada pasta]
22
+
23
+ ## Como rodar localmente
24
+ [comandos exatos de instalação e execução, separados por backend e frontend]
25
+
26
+ ## Padrões de código
27
+ - Nomenclatura de arquivos: [regra]
28
+ - Nomenclatura de variáveis e funções: [regra]
29
+ - Estrutura de endpoints: [regra]
30
+ - Estrutura de componentes: [regra]
31
+ - Tipagem: [regra]
32
+
33
+ ## Comentários em código
34
+ [Se o projeto já tiver o bloco "Comentários em código" no CLAUDE.md atual, copie-o INTEGRALMENTE aqui,
35
+ incluindo a linha `@.claude/rules/comentarios.md`. Se não tiver, escreva apenas:
36
+ "Rode `/configurar-comentarios` para instalar o padrão de comentários deste projeto."]
37
+
38
+ ## TDD
39
+ - Framework backend: [nome]
40
+ - Framework frontend: [nome]
41
+ - Onde ficam os testes: [caminho]
42
+ - Regra: [cobertura mínima exigida]
43
+ - Testes críticos deste projeto:
44
+ - [ ] [teste 1 extraído do SPEC]
45
+ - [ ] [teste 2 extraído do SPEC]
46
+ - [ ] [teste 3 extraído do SPEC]
47
+
48
+ ## Nunca fazer
49
+ - Nunca [proibição específica deste projeto]
50
+ - Nunca [proibição específica deste projeto]
51
+ - Nunca [proibição específica deste projeto]
52
+ - Nunca [proibição específica deste projeto]
53
+ - Nunca [proibição específica deste projeto]
54
+
55
+ ## Decisões em aberto
56
+ - [ ] [decisão 1 não resolvida no SPEC]
57
+ - [ ] [decisão 2 não resolvida no SPEC]
58
+ ```
59
+
60
+ Preencha apenas os campos entre colchetes. Não invente nada que não esteja no SPEC. Se uma informação não existir no SPEC, escreva "a definir".
61
+
62
+ > Preserve, se possível, a seção de filosofia/fluxo do harness já presente no `CLAUDE.md` atual (orquestração, TDD, gates, modelo de arquivos `docs/specs` e `docs/plans`).
63
+
64
+ > **Nunca descarte** o bloco "Comentários em código" nem a linha `@.claude/rules/comentarios.md` que já
65
+ > existirem no `CLAUDE.md` atual — eles são instalados por `/configurar-comentarios` e regenerar o arquivo
66
+ > sem eles desliga o padrão de comentários do projeto inteiro.
@@ -0,0 +1,16 @@
1
+ ---
2
+ description: Monta o .env.example a partir das variáveis de ambiente realmente lidas no código.
3
+ ---
4
+
5
+ # Geração de .env.example
6
+
7
+ Escopo (opcional): $ARGUMENTS
8
+
9
+ Passos:
10
+
11
+ 1. Varra o código procurando todo acesso a variáveis de ambiente (`process.env.X`, `os.environ`, `os.getenv`, `Deno.env`, `System.getenv`, libs de config, etc.).
12
+ 2. Consolide a lista única de variáveis usadas, inferindo para cada uma: finalidade, se é obrigatória ou opcional e um valor de exemplo **seguro** (placeholder).
13
+ 3. **Nunca** copie segredos reais para o `.env.example` — use placeholders como `troque-me`, `sua-chave-aqui`. Se encontrar segredos hardcoded no código, **avise** como achado de segurança.
14
+ 4. Gere/atualize `.env.example` agrupando por contexto (banco, auth, integrações, etc.) com um comentário curto por variável.
15
+ 5. Compare com o `.env` atual (se existir e não estiver no git) e aponte variáveis usadas no código mas ausentes da config, e vice-versa.
16
+ 6. Garanta que `.env` está no `.gitignore`. Mostre o resultado e as divergências encontradas.
@@ -0,0 +1,37 @@
1
+ ---
2
+ description: Gera .claudeignore e .gitignore conforme a stack do projeto.
3
+ ---
4
+
5
+ # Geração de arquivos de exclusão de contexto
6
+
7
+ Analise a estrutura do projeto e gere os arquivos de exclusão de contexto adequados para o Claude Code.
8
+
9
+ Se a stack não estiver clara, leia o `CLAUDE.md`/`SPEC.md` ou me pergunte antes.
10
+
11
+ Stack do projeto: $ARGUMENTS
12
+
13
+ Gere o arquivo `.claudeignore` com estas seções obrigatórias, nesta ordem:
14
+
15
+ ```
16
+ # Dependências
17
+ [liste os diretórios de dependências da stack]
18
+
19
+ # Build e arquivos gerados
20
+ [liste os diretórios de build e arquivos gerados]
21
+
22
+ # Segredos e variáveis de ambiente
23
+ [liste todos os padrões de arquivos com credenciais]
24
+
25
+ # Banco de dados local
26
+ [liste arquivos de banco de dados de desenvolvimento]
27
+
28
+ # Uploads e mídia
29
+ [liste diretórios de arquivos enviados pelo usuário]
30
+
31
+ # Cache e logs
32
+ [liste diretórios de cache e arquivos de log]
33
+ ```
34
+
35
+ Gere também um `.gitignore` reforçado cobrindo as mesmas categorias acima.
36
+
37
+ Regra: seja conservador. Em caso de dúvida, exclua. Nunca exclua arquivos de código fonte, testes ou documentação.
@@ -0,0 +1,33 @@
1
+ ---
2
+ description: Conduz uma entrevista de requisitos e gera o SPEC.md principal na raiz.
3
+ ---
4
+
5
+ # Geração do SPEC.md principal
6
+
7
+ Você vai me ajudar a criar o **SPEC.md principal** do projeto — a definição completa e única, gravada na **raiz** do projeto (`SPEC.md`). Vale tanto para projeto novo quanto existente. Não quero escrever o spec manualmente — conduza uma entrevista de requisitos comigo.
8
+
9
+ ## Fase 1 — Entrevista
10
+
11
+ Faça perguntas para entender o projeto a fundo. **Uma pergunta por vez.** Cubra obrigatoriamente: problema real que resolve, quem são os usuários, funcionalidades essenciais vs. nice-to-have, módulos e suas responsabilidades, stack técnica, constraints e o que está fora do escopo. Quando tiver informação suficiente, avise que está pronto para gerar o SPEC.
12
+
13
+ ## Fase 2 — Geração do SPEC.md
14
+
15
+ Quando eu confirmar, gere o arquivo `SPEC.md` **na raiz do projeto** com esta estrutura, sem adicionar nem remover seções:
16
+
17
+ ```markdown
18
+ # SPEC.md
19
+
20
+ ## Problema
21
+ ## Usuários
22
+ ## Funcionalidades
23
+ ### Essenciais
24
+ ### Fora do escopo
25
+ ## Módulos
26
+ ## Stack
27
+ ## Constraints técnicas
28
+ ## Critérios de aceitação
29
+ ```
30
+
31
+ Não invente informações que não surgiram na entrevista. Se algo ficou ambíguo, registre como decisão em aberto.
32
+
33
+ > Observação: este SPEC é a definição **principal** do projeto. O "start" inicial e cada nova tarefa geram specs **complementares** em `docs/specs/` (via `/nova-tarefa`).
@@ -0,0 +1,17 @@
1
+ ---
2
+ description: Detecta cobertura de testes faltante e escreve os testes seguindo TDD (RED→GREEN).
3
+ ---
4
+
5
+ # Geração de testes
6
+
7
+ Alvo (arquivo, módulo ou pasta): $ARGUMENTS
8
+
9
+ Se eu não informei um alvo, primeiro liste os módulos com **menor cobertura ou sem testes** e me pergunte por onde começar.
10
+
11
+ Passos:
12
+
13
+ 1. Leia o `CLAUDE.md` e o framework de testes já usado no projeto. **Não introduza um framework novo** sem me perguntar.
14
+ 2. Para o alvo, mapeie os comportamentos críticos, casos de borda e caminhos de erro que **não** estão cobertos hoje.
15
+ 3. Escreva os testes seguindo **TDD**: primeiro confirme que eles falham (**RED**) contra o estado atual quando fizer sentido; depois garanta que passam (**GREEN**). Mínimo de **2 testes críticos** por comportamento.
16
+ 4. **Não altere o código de produção** para fazer um teste passar, a menos que exista um bug evidente — nesse caso, **pare e me avise** antes.
17
+ 5. Ao final, rode a suíte e reporte: quantos testes foram criados, o que passou/falhou e qual a cobertura aproximada antes/depois.
@@ -0,0 +1,38 @@
1
+ ---
2
+ description: Gera a mensagem (PT-BR, Conventional Commits) e executa git add/commit/push sem confirmação.
3
+ ---
4
+
5
+ # /git-commit-push
6
+
7
+ No repositório atual, execute commit e push conforme o uso abaixo.
8
+
9
+ ## Uso
10
+
11
+ - **Sem texto após o comando** (`/git-commit-push` sozinho): sugira a mensagem a partir das mudanças e execute `git add`, commit e `git push` **sem pedir confirmação**.
12
+ - **Com texto após o comando** (`/git-commit-push …`): use **exatamente** o que o usuário informou como mensagem de commit completa (título e, se houver, corpo) e execute `git add`, commit e `git push` **sem pedir confirmação**.
13
+
14
+ ## Etapas
15
+
16
+ 1. Inspecione as mudanças com:
17
+ - `git status`
18
+ - `git diff`
19
+ - `git log -5 --oneline`
20
+ 2. **Mensagem de commit**
21
+ - Se o usuário **não** passou texto após o comando: sugira em português do Brasil com:
22
+ - título no formato `tipo: Descrição`
23
+ - título em uma linha
24
+ - primeira letra maiúscula após `: `
25
+ - tipos aceitos: `feat`, `fix`, `refactor`, `docs`, `chore`, `style`, `test`
26
+ - corpo detalhado com descrição completa do que foi feito no commit (itens objetivos)
27
+ - Se o usuário **passou** texto após o comando: use esse texto como mensagem do commit (multilinha permitida).
28
+ 3. Execute **imediatamente** (sem etapa de confirmação):
29
+ - `git add -A`
30
+ - `git commit` com a mensagem definida no passo 2 (título + corpo quando aplicável)
31
+ - `git push`
32
+ 4. Retorne um resumo final com branch, hash e status do push.
33
+
34
+ ## Guardrails
35
+
36
+ - Se não houver alterações, interrompa com aviso.
37
+ - Não execute push forçado.
38
+ - Em caso de erro, pare e explique o próximo passo recomendado.
@@ -0,0 +1,34 @@
1
+ ---
2
+ description: Comando-mestre — conduz a sequência de setup do harness em ordem, validando entre etapas.
3
+ ---
4
+
5
+ # /harness — setup guiado do projeto
6
+
7
+ Conduza a configuração completa do harness deste projeto executando as etapas **em ordem**, parando para validar comigo antes de avançar de uma para a outra. Em cada etapa, use o slash command correspondente como referência de instrução.
8
+
9
+ Contexto inicial (opcional): $ARGUMENTS
10
+
11
+ ## Antes de começar: novo ou existente?
12
+
13
+ Pergunte se este é um **projeto novo** ou um **projeto existente** (se eu não tiver dito).
14
+
15
+ - **Projeto novo** → execute todas as 8 etapas.
16
+ - **Projeto existente** → **pule as etapas 1, 5, 6 e 8** (validar ideia, gerar plano do start, scaffold e executar o plano). Execute apenas as etapas **2, 3, 4 e 7** — documentar o projeto (SPEC/CLAUDE/ignores) e montar o harness sobre o código que já existe. Nas etapas 2 e 3, leve em conta o código atual ao gerar o SPEC.md e o CLAUDE.md.
17
+
18
+ ## Sequência
19
+
20
+ 1. **Validar ideia** (`/validar-ideia`) — confirme que o escopo cabe em ~4h com multi-agents. Se o veredito for AJUSTAR ou REPROVAR, pare e ajuste comigo antes de seguir.
21
+ 2. **Gerar SPEC principal** (`/gerar-spec`) — entrevista de requisitos → `SPEC.md` na raiz. Valide comigo.
22
+ 3. **Gerar CLAUDE.md** (`/gerar-claude-md`) — context file na raiz a partir do SPEC.
23
+ 4. **Gerar ignores** (`/gerar-ignore`) — `.claudeignore` e `.gitignore`.
24
+ 5. **Gerar plano do start** (`/nova-tarefa`) — derive o start inicial do `SPEC.md`: spec complementar em `docs/specs/` + plano em `docs/plans/`. Valide comigo. Não dispare o orquestrador ainda — o scaffold vem antes.
25
+ 6. **Scaffold** (`/scaffold`) — estrutura inicial, rota `/health` e testes de smoke. Confirme que o servidor sobe.
26
+ 7. **Montar o harness** — nesta ordem: `/configurar-comentarios` (**primeiro**: instala o padrão de comentários, o hook e a catraca, para que os agents já nasçam com a regra no system prompt), `/criar-skill` (skills antes dos agents, que dependem delas), depois `/criar-agents`, `/criar-code-reviewer`, `/criar-rules`, `/criar-hooks` e, por fim, `/configurar-orquestrador` (configura o Claude Code como orquestrador dos agents) — sugira pular o que não fizer sentido.
27
+ 8. **Executar o plano** (`/executar-plan`) — só depois da minha confirmação, orquestre a implementação com sub-agents.
28
+
29
+ ## Regras
30
+
31
+ - **Não avance de etapa sem minha confirmação explícita.**
32
+ - Sempre relate qual etapa/agent está ativo.
33
+ - Respeite TDD e os gates entre fases.
34
+ - Se uma etapa não se aplicar a este projeto, proponha pulá-la e siga só com meu OK.
@@ -0,0 +1,60 @@
1
+ ---
2
+ description: Gera a spec complementar + o plano de implementação em docs/specs e docs/plans (start inicial ou nova tarefa) e, se confirmado, dispara o orquestrador.
3
+ ---
4
+
5
+ # Planejamento de tarefa (start inicial ou nova tarefa)
6
+
7
+ Este comando transforma um recorte de trabalho em **spec complementar + plano de implementação** prontos para a orquestração com sub-agents. Serve tanto para o **start inicial** do projeto quanto para **cada nova tarefa** do dia a dia.
8
+
9
+ Tarefa / recorte: $ARGUMENTS
10
+
11
+ ## 1. Defina o recorte
12
+
13
+ Antes de tudo, leia o `SPEC.md` principal e o `CLAUDE.md` na raiz (e a spec/plano mais recentes em `docs/`, se já existirem).
14
+
15
+ - **Start inicial** (não há nada em `docs/plans/` ainda, ou eu pedi "start" / "primeira fatia"): derive o recorte direto do `SPEC.md` — a primeira fatia vertical a construir. **Não precisa entrevista**, mas confirme comigo o recorte escolhido antes de gerar.
16
+ - **Nova tarefa**: faça de **2 a 3 perguntas** (uma por vez, mais se necessário) para entender a fundo o que deve ser feito. Ao final, resuma o que foi **entendido e planejado** e aguarde minha aprovação.
17
+
18
+ **Nunca grave `PLAN.md` na raiz.** Use sempre a convenção de pastas do projeto.
19
+
20
+ ## 2. Spec complementar
21
+
22
+ Quando eu aprovar o recorte, grave a spec em `docs/specs/AAAA-MM-DD-breve-descricao.md` (data atual + descrição curta derivada do recorte). Descreva de forma enxuta o que será implementado e os critérios de aceite. Valide comigo.
23
+
24
+ ## 3. Plano de implementação
25
+
26
+ Grave o plano em `docs/plans/AAAA-MM-DD-breve-descricao.md` (use o **mesmo nome** da spec complementar), com esta estrutura, sem adicionar nem remover seções:
27
+
28
+ ```markdown
29
+ # Plano — [breve descrição]
30
+
31
+ ## Sprint [n] — [critério de conclusão em 1 frase verificável]
32
+
33
+ ### Fase [n] — [nome]
34
+ > Dependências: [fases anteriores ou "nenhuma"]
35
+ > Paralelismo: [quais tasks desta fase rodam em paralelo]
36
+
37
+ #### Task [n.n] — [nome]
38
+ - Agent: [papel do agent responsável]
39
+ - Input: [o que precisa estar pronto para iniciar]
40
+ - Output: [entregável específico com assinatura ou estrutura]
41
+ - Testes críticos:
42
+ - [ ] [comportamento esperado — input válido]
43
+ - [ ] [caso de erro tratado]
44
+ ```
45
+
46
+ Regras obrigatórias:
47
+
48
+ 1. Toda task tem pelo menos 2 testes críticos definidos antes de qualquer código — os testes são escritos primeiro.
49
+ 2. Nenhum output pode ser vago — descreva o arquivo, função ou estrutura exata que será entregue.
50
+ 3. Tasks na mesma fase são genuinamente independentes — não tocam os mesmos arquivos nem dependem uma da outra.
51
+ 4. A ordem das fases respeita dependências reais — nenhuma task de integração antes das tasks base existirem.
52
+ 5. Use os nomes de módulos definidos no `SPEC.md` — sem criar nomenclatura nova.
53
+ 6. Cada fase tem um critério de conclusão verificável por um comando de terminal.
54
+
55
+ ## 4. Validação e execução
56
+
57
+ Ao terminar, informe o caminho dos dois arquivos gravados e liste quais tasks rodam em paralelo e quantos agents serão necessários no total. Valide comigo se é isto que desejo.
58
+
59
+ - **Start inicial (fluxo `/harness`):** o próximo passo normalmente é `/scaffold` antes de implementar — **não dispare o orquestrador automaticamente**, aguarde minha instrução.
60
+ - **Nova tarefa:** se eu confirmar, **chame o orquestrador** (`/executar-plan`) para realizar todo o plano aprovado, com sub-agents em paralelo e TDD obrigatório.
@@ -0,0 +1,21 @@
1
+ ---
2
+ description: Gera um guia de onboarding (como rodar, entender e contribuir) para um dev novo no projeto.
3
+ ---
4
+
5
+ # Guia de onboarding
6
+
7
+ Público-alvo (opcional — ex.: "dev backend júnior", "pessoa de QA"): $ARGUMENTS
8
+
9
+ Passos:
10
+
11
+ 1. Leia o `CLAUDE.md`, o `SPEC.md` (se houver), os scripts do projeto e a estrutura de pastas.
12
+ 2. Monte um guia prático em `docs/ONBOARDING.md` cobrindo:
13
+ - **Visão geral** do que o projeto faz (1–2 parágrafos).
14
+ - **Pré-requisitos** e versões (linguagem, runtime, ferramentas).
15
+ - **Setup passo a passo** até rodar localmente (instalar, variáveis de ambiente, subir o app).
16
+ - **Como rodar testes** e o que o harness espera (TDD, gates).
17
+ - **Mapa do código**: principais pastas/módulos e o que cada um faz.
18
+ - **Fluxo de trabalho**: branches, commits semânticos, slash commands do dia a dia.
19
+ - **Onde pedir ajuda / armadilhas comuns**.
20
+ 3. Baseie tudo no estado **real** do projeto — confira que os comandos descritos realmente existem e funcionam. Não invente passos.
21
+ 4. Ao final, mostre o caminho do arquivo e um resumo do que foi documentado.
@@ -0,0 +1,17 @@
1
+ ---
2
+ description: Refatora um alvo usando os testes existentes como rede de segurança, sem mudar comportamento.
3
+ ---
4
+
5
+ # Refatoração guiada por testes
6
+
7
+ Alvo da refatoração: $ARGUMENTS
8
+
9
+ Se eu não informei um alvo, me pergunte qual arquivo/módulo refatorar e qual o objetivo (legibilidade, duplicação, performance, acoplamento).
10
+
11
+ Regras:
12
+
13
+ 1. **Refatoração não muda comportamento.** A interface pública e os resultados observáveis devem permanecer idênticos.
14
+ 2. Antes de tocar no código, verifique se há **testes cobrindo o alvo**. Se a cobertura for insuficiente, **pare e me avise** — ofereça rodar `/gerar-testes` primeiro para criar a rede de segurança.
15
+ 3. Rode os testes **antes** (baseline verde), faça a refatoração em passos pequenos e rode os testes **depois** de cada passo. Se algo ficar vermelho, reverta o passo.
16
+ 4. Não misture refatoração com novas funcionalidades nem com correção de bugs na mesma passada.
17
+ 5. Ao final, reporte: o que mudou, por quê, e a confirmação de que toda a suíte continua verde.
@@ -0,0 +1,25 @@
1
+ ---
2
+ description: Investiga, planeja em docs/bugs e corrige um bug passo a passo, com aprovação.
3
+ ---
4
+
5
+ # Resolver bug
6
+
7
+ Trate o bug descrito abaixo (se eu não tiver descrito, peça os detalhes antes de começar).
8
+
9
+ Bug: $ARGUMENTS
10
+
11
+ Faça o seguinte, **sem pular nenhuma etapa** e pedindo minha confirmação nos momentos críticos:
12
+
13
+ 1. **Investigue** onde está o bug e o que ele afeta.
14
+ 2. **Monte um plano de conserto** dividido em etapas e grave-o em `docs/bugs/<yyyy-mm-dd>-<slug>.md`, onde `<yyyy-mm-dd>` é a data atual e `<slug>` é uma descrição resumida do bug.
15
+ 3. **Peça minha aprovação** antes de mexer em qualquer coisa.
16
+ 4. **Execute o conserto passo a passo**, verificando se cada etapa funcionou.
17
+ 5. **Revise a qualidade** do que foi feito ao final de cada etapa.
18
+ 6. **Sugira uma regra nova** no projeto (`.claude/rules/`) para esse bug nunca voltar.
19
+
20
+ ## Bug ou investigação?
21
+
22
+ Só use `docs/bugs/` se a apuração fechar os três: sintoma reproduzível, causa-raiz identificada e
23
+ correção a aplicar. Se concluir que não há defeito — é auditoria, paridade com legado, medição ou
24
+ levantamento — grave em `docs/investigacoes/<yyyy-mm-dd>-<slug>.md` e me avise, em vez de registrar
25
+ como bug.
@@ -0,0 +1,16 @@
1
+ ---
2
+ description: Enforça o fluxo implementação → review isolado → correção em cada task da fase.
3
+ ---
4
+
5
+ # Orquestrador com review obrigatório por task
6
+
7
+ Leia o **plano mais recente em `docs/plans/`** e execute a fase indicada (por padrão a próxima fase pendente) seguindo este fluxo **obrigatório** para cada task:
8
+
9
+ 1. Despache o agent de implementação correto (ex: `@backend-agent`) para implementar a task.
10
+ 2. Aguarde o retorno confirmando conclusão.
11
+ 3. Despache o `@code-reviewer` para revisar o que foi implementado — **em contexto isolado**.
12
+ 4. Aguarde o veredicto do reviewer.
13
+ 5. Se houver item **BLOQUEANTE**: corrija antes de avançar para a próxima task.
14
+ 6. Se não houver bloqueantes: avance.
15
+
16
+ Não pule o step de review em nenhuma task. O orquestrador despacha cada agent separadamente — o reviewer nunca vê a conversa de implementação, só o output final. É o contexto mais limpo possível. **Relate no chat qual agent está ativo a cada passo.**
@@ -0,0 +1,18 @@
1
+ ---
2
+ description: Faz o review de um PR ou do diff atual, classificando achados em BLOQUEANTE, IMPORTANTE e SUGESTÃO.
3
+ ---
4
+
5
+ # Review de PR / diff
6
+
7
+ Alvo (opcional — número do PR, branch ou nada para o diff atual): $ARGUMENTS
8
+
9
+ Passos:
10
+
11
+ 1. Determine o que revisar:
12
+ - Se eu informei um **número de PR**, use o `gh` para buscar o diff (`gh pr diff <n>`) e a descrição.
13
+ - Se informei uma **branch**, compare-a com a branch principal.
14
+ - Se **nada** foi informado, revise o diff local atual (`git diff` do que está em andamento vs. a base).
15
+ 2. Se existir o agent `@code-reviewer` em `.claude/agents/`, **delegue a ele** a análise, passando `SPEC.md`/plano como referência. Caso contrário, faça o review diretamente.
16
+ 3. Avalie: correção (bugs, casos de borda), segurança, performance, testes (existem? cobrem o crítico?), aderência ao `CLAUDE.md` e às convenções, legibilidade e simplicidade, e **comentários** (orçamento da rule `.claude/rules/comentarios.md`: bloco <= 3 linhas, docstring pública <= 5, sem cabeçalho de arquivo, sem banner/separador, sem task/plano/data/hash de commit no código) — comentário fora do padrão é **IMPORTANTE**, não SUGESTÃO.
17
+ 4. Classifique cada achado em **BLOQUEANTE** (não pode entrar assim), **IMPORTANTE** (deveria ser ajustado) e **SUGESTÃO** (melhoria opcional), com `arquivo:linha` e a correção proposta.
18
+ 5. Termine com um veredito: **aprovar**, **aprovar com ressalvas** ou **solicitar mudanças**. Não altere o código — apenas revise.
@@ -0,0 +1,25 @@
1
+ ---
2
+ description: Cria a estrutura inicial do projeto (pastas, configs, rota /health, testes de smoke).
3
+ ---
4
+
5
+ # Geração de Scaffold
6
+
7
+ Leia o `SPEC.md` e o `CLAUDE.md` na raiz do projeto, e o plano mais recente em `docs/plans/`.
8
+
9
+ Gere o scaffold completo do projeto seguindo estas regras:
10
+
11
+ 1. **ESTRUTURA DE PASTAS** — Crie todos os diretórios e subdiretórios definidos na seção de estrutura do `CLAUDE.md`. Adicione um `README.md` de uma linha em cada pasta descrevendo sua responsabilidade.
12
+
13
+ 2. **ARQUIVOS DE CONFIGURAÇÃO** — Crie todos os arquivos de configuração da stack: `requirements.txt`, `package.json`, `tsconfig.json`, `tailwind.config.js`, `.env.example`, `.gitignore` e qualquer outro necessário. Instale as dependências após criar os arquivos.
14
+
15
+ 3. **PONTO DE ENTRADA MÍNIMO** — Crie um `main.py` (ou `index.ts`, `server.js` — conforme a stack) com apenas o servidor inicializado e uma rota `/health` que retorna status 200. Nenhuma lógica de negócio.
16
+
17
+ 4. **SETUP DE TESTES** — Configure o framework de testes definido no `CLAUDE.md`: crie a pasta de testes espelhando a estrutura do projeto e um teste de smoke que verifica se o servidor sobe.
18
+
19
+ 5. **O QUE NÃO FAZER**
20
+ - Não implemente nenhuma lógica de negócio
21
+ - Não crie modelos de dados
22
+ - Não crie endpoints funcionais além de `/health`
23
+ - Não crie componentes de UI além do layout base
24
+
25
+ 6. **CRITÉRIO DE CONCLUSÃO** — Ao terminar, execute os comandos de verificação definidos no `CLAUDE.md` e confirme que o servidor sobe sem erros antes de encerrar.
@@ -0,0 +1,15 @@
1
+ ---
2
+ description: Relê o código e aponta onde o CLAUDE.md/SPEC.md divergiu da realidade — sem reescrever sozinho.
3
+ ---
4
+
5
+ # Sincronização do CLAUDE.md com o código
6
+
7
+ Foco (opcional — seção ou tema): $ARGUMENTS
8
+
9
+ Passos:
10
+
11
+ 1. Leia o `CLAUDE.md` (e o `SPEC.md`, se existir) e confronte com o estado **real** do código: stack, scripts, estrutura de pastas, comandos de build/test, convenções e fluxos descritos.
12
+ 2. Liste as **divergências** encontradas, cada uma com: o que o doc afirma, o que o código mostra e o trecho/arquivo de evidência (use links clicáveis `arquivo:linha`).
13
+ 3. Classifique cada divergência em **DESATUALIZADO** (doc ficou para trás), **FALTANDO** (existe no código, não no doc) ou **OBSOLETO** (no doc, não existe mais).
14
+ 4. **Não reescreva** `CLAUDE.md`/`SPEC.md` por conta própria — essa é uma regra do harness. Apresente as correções propostas e **pergunte quais devo aplicar**.
15
+ 5. Só depois da minha confirmação, aplique exatamente as mudanças aprovadas.