01
/arch-doctorSetup verificável em um comando
Schema, jar do hook, hooks registrados, regras de fronteira e proveniência, conferidos antes de gerar qualquer coisa. Os hooks saem com 0 quando não conseguem verificar algo; o doctor transforma esse verde silencioso numa linha com nome.
02
/init-projectGerado pelo Initializr, com o harness dentro
O projeto base vem do start.spring.io na hora, nunca da memória do modelo, e o CI falha se uma versão aparece escrita como fato. O projeto leva o próprio .claude/ e não precisa mais deste repositório.
Guia →
03
/new-featureSpec com uma dona por camada
use-case-design → domain-modeling → rest-api-architect ou graphql-api-architect → segurança, HTTP de saída, IA, busca, mensageria e jobs quando cabem → persistence-architect → cache quando cabe → test-architect. Pergunta só o que muda o desenho.
SÓ AQUI spec aprovado congelado por hook
04
/new-feature-implementExecutor restrito, em grupos
Depois do /clear, o spec aprovado vai para o agente executor. No UC-005: domain 2m29s · adapters 14m22s · tests 17m29s · compose 4m05s · publish 3m55s.
05
/audit-usageCada run medido, a custo zero de token
Um relatório por invocação de skill ou agente: tokens faturáveis e modelo por peça, árvore de chamadas com duração, arquivos tocados, ferramentas que falharam, HEAD antes e depois. Prompts saem ocultos.
SÓ AQUI trilha determinística por run
06
/arch-adoptAtualizar sem perder edição à mão
Instala o harness num projeto que nasceu fora daqui, ou atualiza um atrasado. Recusa worktree sujo, carimba o hash de cada arquivo que escreve e imprime as notas de migração sem executá-las.
Guia →
SÓ AQUI edição local detectada por hash
// bank-app/.claude/.arch-provenance.json
{ "ref": "v0.40.0", "commit": "e5ed817",
"files": { … 322 hashes } }08
skills × 7 classesTerritório de escrita por classe
design, orchestrator, build, observer, report, ops, meta. A classe diz onde a skill pode escrever; o guard recusa o resto, negando por padrão.
SÓ AQUI território como dado
design docs/use-cases/UC-*/**
orchestrator docs/use-cases/** · lessons-learned
build por skill: compose, .claude/**
observer nada
report docs/lessons-learned/**
ops nada
meta .claude/** · CLAUDE.md
09
agents × 4 classesAgentes com escopo por regra, não por boa vontade
driver, executor, installer, verifier. Um subagente é julgado pela própria classe, seja qual for a fase que quem o chamou deixou aberta.
driver project-initializer
executor java-spring-boot-developer
installer archunit · commons-logging · mapstruct · compose-service
verifier issue-verifier
10
guard · checkRecusado antes de o arquivo mudar
Por Write e Edit, pelas escritas de shell que ele consegue ler (>, tee, sed -i, sh -c) e de novo no Stop, contra o que o git viu mudar no turno.
✗ import jakarta.persistence.Entity (domain/)
✗ Edit docs/use-cases/UC-001-…/UC-001-spec.md
✗ sed -i 's/18/16/' UC-001-spec.md
✗ git push --force origin main
exit 2
11
e maisO resto do harness
docker-architect para a infraestrutura decidida no desenho, sonar-lessons → report-issue para fechar o ciclo em público, AGENTS.md em todo projeto, ArchHook.java com onze modos e sem shell, e um CI que valida o próprio harness.