Archlint
Hook para Claude Code contra drift arquitetural. Lê regras de camada do CLAUDE.md e barra violações de import dentro do loop do agente.
// overview
Analisadores estáticos rodam depois do fato. Linters rodam no commit. O Archlint roda dentro do loop do agente. Quando o Claude edita um arquivo, ele confere os imports contra as regras de camada escritas no CLAUDE.md e revela o drift antes que ele acumule. Um único arquivo Python, sem dependências, agnóstico de linguagem para as quatro stacks mainstream. O blueprint é prosa mais um bloco de código — o mesmo documento que o agente já lê.
// how it works
Single-file Python
~630 linhas, só stdlib. Sem virtualenv, sem framework, sem dependência. Solta em .claude/hooks/ e funciona.
Arquitetura como prosa
As regras de camada vivem dentro do CLAUDE.md do projeto, num bloco de código archlint. Sem um segundo arquivo de config para esquecer.
Hook-native, não só CI
Roda em PostToolUse + Stop. Revela drift enquanto o agente ainda está no loop.
Multi-linguagem
Python (AST), TypeScript, JavaScript, Go, Rust. Imports externos ignorados — sem falsos positivos.
Leniente por padrão
Modo padrão mostra drift como contexto; modo estrito bloqueia o turno. As mesmas regras no CI via archlint check.