Receitas
Empacotar para um chat, dentro de um orçamento
npx ctxpack . --budget 120000 --out context.md
# anexa o context.md ao chat do teu modelo
Focar num subdiretório (code review)
npx ctxpack src/feature --out feature.md
Enviar diretamente para o clipboard
npx ctxpack . --budget 100000 | pbcopy # macOS
npx ctxpack . --budget 100000 | xclip -sel c # Linux
Ingestão RAG (XML + ignores personalizados)
npx ctxpack . --format xml --budget 8000 --ignore "tests/**" --ignore "*.snap" --out chunk.xml
Programático
import { pack } from 'ctxpack';
const { output, includedFiles, tokenCount, redactions } = pack('.', {
budgetTokens: 120_000,
format: 'md',
extraIgnore: ['docs/**'],
});
console.log(`${includedFiles.length} ficheiros, ~${tokenCount} tokens, ${redactions} redações`);
Confirmar que nada sensível escapa
npx ctxpack . --out ctx.md
grep -i "api_key\|secret\|BEGIN .*PRIVATE KEY" ctx.md # deve mostrar só [REDACTED …]