Regras de ignore, redação & orçamentos¶
Regras de ignore¶
O ctxpack combina três fontes (as posteriores podem sobrepor-se às anteriores via
negação !):
- Defaults embutidos —
node_modules/,.git/,dist/, lockfiles,.env*, extensões de assets binários comuns, etc. (verDEFAULT_IGNORES). - O teu
.gitignorena raiz do repo (a menos queuseGitignore: false). - Globs
--ignorepassados na CLI (repetível).
O matcher suporta um subconjunto comum do .gitignore: comentários (#), negação (!),
âncora (/prefixo), diretórios (trailing/) e globs * / **. É propositadamente
pragmático, não uma implementação completa do gitignore.
Redação de segredos¶
Ativa por defeito. Reconhecidos e substituídos por placeholders:
| Tipo | Exemplo → placeholder |
|---|---|
| Chaves privadas | -----BEGIN … PRIVATE KEY----- → [REDACTED PRIVATE KEY] |
| JWTs | eyJ….eyJ….sig → [REDACTED JWT] |
| Chaves AWS | AKIA… → [REDACTED AWS KEY] |
| Tokens GitHub | ghp_… → [REDACTED GITHUB TOKEN] |
| Tokens Slack | xoxb-… → [REDACTED SLACK TOKEN] |
| Chaves de API | sk-… → [REDACTED API KEY] |
| Atribuições | password = "…" → password = "[REDACTED]" |
A redação é best-effort — revê sempre o output antes de partilhar. Desliga com
--no-redact se estiveres totalmente offline e confiares no destino.
Orçamento de tokens¶
--budget <n> (ou budgetTokens) inclui ficheiros até a estimativa acumulada exceder
n; os restantes são reportados em skippedFiles. Os tokens são estimados a ~4 caracteres
cada — rápido e agnóstico do modelo, suficiente para orçamentar.
Binários & tamanho¶
Ficheiros com um byte nulo são tratados como binários e saltados. Ficheiros maiores que
maxFileBytes (default 512 KB) também são saltados. Ambos aparecem em skippedFiles.