Veridge 0.7.5
Indexing now respects .gitignore, the CLI is friendlier, and there's a documented way to
enforce Veridge usage in Claude Code. Engine/graph unchanged.
New
- Indexing honours
.gitignore. In a git repo, the file set comes from git itself
(git ls-files), so.gitignore(including nested ones),.git/info/excludeand global
excludes are all respected — no pattern parsing of our own. Veridge's built-in vendor/binary
skips and an optional.veridgeignorestill apply; outside git it falls back to a filesystem
walk. On a real monorepo this dropped indexed files 513→476 (coverage,*.js.map,
*.tsbuildinfo,.turbo, … no longer indexed). (Behaviour change: gitignored files are now
excluded by default. A tracked file is always indexed; to index an untracked-but-ignored file,
git addit.) veridgewith no command prints the full help instead of a terse argparse error; the help
epilog documents the.gitignore/.veridgeignoreexclusion behaviour.- Enforcement docs.
docs/AGENT_PLAYBOOK.mdnow shows
.claude/settings.jsonhooks that make the rules stick in Claude Code (the steering note is
only a nudge): rebuild on edit, remind each turn, or hard-block edits while the index is stale.
Fixed
- Non-ASCII filenames are no longer dropped.
git ls-files -zemits raw UTF-8; decoding it
with the locale codec (cp1252 on Windows) mojibaked accented names and silently excluded them
from the graph and the freshness manifest. Git output is now read as bytes andos.fsdecode-d,
round-tripping to the real on-disk name. Tracked dangling symlinks are kept too (parity with the
filesystem walk). (Both caught by an adversarial review before release.)