Skip to content

v0.7.5 — respect .gitignore, full no-arg help, hooks docs

Latest

Choose a tag to compare

@galimar galimar released this 28 Jun 10:12

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/exclude and global
    excludes are all respected — no pattern parsing of our own. Veridge's built-in vendor/binary
    skips and an optional .veridgeignore still 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 add it.)
  • veridge with no command prints the full help instead of a terse argparse error; the help
    epilog documents the .gitignore/.veridgeignore exclusion behaviour.
  • Enforcement docs. docs/AGENT_PLAYBOOK.md now shows
    .claude/settings.json hooks 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 -z emits 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 and os.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.)