Repo hygiene scan
The hygiene scan is a quick, read-only look at a repository's tree. Open it from the Hygiene scan tab on the Repo cleaner page, or go straight to /{owner}/{repo}/bnlgit/hygiene.
What it is, and what it is not
- Deterministic and git-native. Every finding comes from the Git tree itself: file paths, sizes and blob IDs. There is no LLM call, so it needs no provider key and costs nothing to run.
- No pairing needed. It works on any repository you can read, paired or not.
- It reads no file content. It looks at the tree, not inside the files.
- No writes. It creates no branch, commit or pull request, and stores nothing: each visit computes a fresh report.
It scans the repository's default branch. Add ?ref= with a branch, tag or commit to scan something else, for example /{owner}/{repo}/bnlgit/hygiene?ref=release-2.
The two checks
1. Tracked files that match a skip-policy pattern. Files in the tree that the shipped skip presets would exclude from summaries — secrets and key material, build output, vendored dependency trees and the like. A file like that in Git is commonly an accidental commit rather than a deliberate one, so this finding is marked medium risk. The scan applies the shipped presets described under Repo scope; because it works without a pairing, a repository's own deny and allow patterns are not part of this check.
2. Byte-identical duplicate files. Files whose content is exactly the same, found by their Git blob ID. Git's content addressing proves the content is identical, so there is no similarity threshold and no guess. Empty files are left out, since every empty file has the same blob ID. This finding is marked low risk: deduplicating changes how the repository is organised, not how it behaves.
Each finding lists its evidence and the affected files, the first 25 of each, with a count of the rest, and a rollback note. For duplicates, each evidence entry is a whole group of identical files, so the count is of the remaining duplicate groups; the finding itself states the total number of groups and of files.
What to do with a finding
Nothing happens unless you do it. Review each finding and make the change yourself — for an accidental commit, typically removing the file from Git and adding it to .gitignore — or leave it if the file belongs there.
For a paired repository, the AI repo cleaner goes further, with model-backed analysis types and proposals you review before anything changes.
The capabilities endpoint reports this feature as repo_hygiene_scan; see Editions and capabilities.
Something here wrong or missing? Mail hello@proofgit.com — these pages are the single public source of truth for ProofGit and we would rather fix them than leave you guessing.