Strip the lockfiles.
Find the real review.
@prcompass/pr-triage-filter classifies every file in a
pull request as skip, skim, or review-candidate — so a reviewer (or the next LLM tier)
spends attention only on what changed.
$ npm install @prcompass/pr-triage-filterThree verdicts
skip for lockfiles, generated, binary, prettier-only; skim for tests, config, docs; review-candidate for everything else. That's the API surface.
Zero runtime deps
"dependencies": {}. No npm tree to audit.
No transitive supply chain. Deletion-friendly.
Deterministic
Pure function. No I/O, no filesystem, no network, no clock, no PRNG. Same input always produces the same verdicts in the same order.
11 rules. First-match wins.
rename-only, lockfile, generated-path, binary, generated-header, prettier-only, import-reorder, docs, config, test, plus the default fallback.
Fast
Processes a 100-file PR in well under 500 ms on a laptop.
Verified by tests/performance.test.ts in CI.
Stable rule IDs
Every verdict carries a ruleId you can match against in
your code ('lockfile', 'docs', …) — safe to
branch on across versions.
50–70 % of files removed from the budget
On real PRs, a typical run flags lockfiles, generated dirs, prettier-only whitespace churn, and docs as out of scope before any expensive analysis runs. Tier 2 / Tier 3 of a review pipeline never sees them.
See the rule table// One pure function. One result.
interface FileVerdict {
path: string;
verdict: 'skip' | 'skim' | 'review-candidate';
ruleId: string; // 'lockfile' | 'docs' | 'default' | …
reason: string; // human-readable, not UI-stable
}
Reviewer attention is the budget.
This package spends none of it on lockfiles.