Arquitetura¶
O agent-rules-kit é conteúdo + um compositor minúsculo. As regras vivem como packs markdown; o CLI seleciona packs, compõe-nos num documento e escreve-o no ficheiro de destino.
flowchart LR
R["rules/*.md<br/>(core, testing, security, git, refactoring)"] --> C["composeRules(ids)"]
SEL["--packs core,testing"] --> C
C --> DOC["markdown único"]
T["--target agents|claude|cursor"] --> W["escrever ficheiro"]
DOC --> W
W --> OUT["AGENTS.md / CLAUDE.md / .cursorrules"]
Mapa de módulos¶
| Módulo | Responsabilidade |
|---|---|
rules/*.md |
Os próprios packs de regras — markdown revisável |
packs.ts |
Registo de packs + loader que lê os corpos markdown |
compose.ts |
Resolver ids de packs (incl. all) e compor o documento |
targets.ts |
Mapear um destino para o seu nome de ficheiro |
cli.ts |
Parsing de argumentos, comandos init / list |
Princípios de design¶
- Conteúdo primeiro — o valor são as regras; o código é um compositor fino à volta delas.
- Revisável — os packs são markdown simples, por isso melhorias são PRs normais.
- Sem lock-in — o output é um ficheiro simples que o teu assistente já lê; regenera quando quiseres.
- Minúsculo & sem dependências — funções puras, testáveis lendo as
rules/distribuídas.