Path Rules complementam o sistema de bootstrap (RULES.md). Enquanto RULES.md define regras globais, Path Rules define regras especÃficas para partes do codebase.
Conceito
A ideia e simples: diferentes partes do codebase tem diferentes convencoes. Código Go segue regras diferentes de templates HTML. Testes tem padroes diferentes de código de produção. Path Rules permite definir tudo isso de forma granular.Estrutura de Arquivos
As regras ficam no diretório.chatcli/rules/ (workspace) ou ~/.chatcli/rules/ (global):
Formato do Arquivo
Cada arquivo de regra e um Markdown com frontmatter YAML contendo o campopaths:
Precedencia
- Workspace vs Global
- Multiplas regras
Regras existem em dois nÃveis com workspace tendo prioridade:
Se um arquivo de regra com o mesmo nome existir em ambos os nÃveis, a versão do workspace prevalece.
Glob Matching
O campopaths usa padroes glob para corresponder caminhos de arquivos:
Lazy Loading
Path Rules usa lazy loading baseado em dicas da conversa:1
Detecção de contexto
O ChatCLI analisa as mensagens recentes e tool calls para identificar quais arquivos estão em contexto (lidos, editados, mencionados).
2
Match de padroes
Os caminhos detectados são comparados contra os padroes
paths de cada arquivo de regra.3
Injecao seletiva
Apenas as regras que correspondem a arquivos em contexto são injetadas no system prompt.
4
Atualizacao dinamica
A cada turno, os padroes são re-avaliados. Novas regras podem ser injetadas e regras irrelevantes podem ser removidas.
Lazy loading garante que o system prompt não fique sobrecarregado com regras irrelevantes. Apenas as regras necessarias para os arquivos em discussao são carregadas, economizando tokens.
Exemplos de Regras
- Go
- Testes
- Segurança
- Migrations
.chatcli/rules/go-rules.md:Visualizando Regras Ativas
Você pode verificar quais regras estão ativas no momento:Boas Praticas
Regras especÃficas
Defina padroes de path precisos. Regras muito amplas (
**/*) desperdicam tokens em contextos irrelevantes.Regras concisas
Mantenha cada arquivo de regra curto e focado. Regras longas consomem mais tokens.
Versione no Git
Coloque
.chatcli/rules/ no repositório para compartilhar com a equipe.Combine com RULES.md
Use RULES.md para regras globais e Path Rules para regras especÃficas por area do código.
Próximos Passos
Bootstrap e Memória
Configure RULES.md para regras globais que complementam as Path Rules.
Agentes Customizaveis
Combine Path Rules com agents especializados para máximo de contexto.