Vergil Tooling¶
Vergil-tooling is a Python package and script collection providing shared development tooling for all managed repositories. It delivers CLI tools for commits, PRs, releases, and validation alongside bash validators and git hooks -- all consumed via PATH.
Components¶
Python CLI tools (src/vergil_tooling/):
vrg-commit, vrg-submit-pr, vrg-prepare-release,
vrg-finalize-pr, vrg-validate
Lint tools (installed as vrg-*):
vrg-repo-profile, validation drivers
Claude Code hook guard (.claude/hooks/):
PreToolUse hook that blocks raw git and gh, routing through vrg-* wrappers
Design Principles¶
- Portability -- scripts run on both macOS and Linux
- shellcheck clean -- all shell scripts pass shellcheck
- No repo-specific logic -- every script works in any consuming repository
- Host-level install --
uv tool installputsvrg-*on PATH; no sibling checkout required
How It Works¶
vergil-toolingis installed on the developer's host viauv tool install, placingvrg-*scripts in~/.local/bin/.vrg-container-runbridges host commands into dev container images where language runtimes and validators live.- Python consumers also declare
vergil-toolingas a dev dep via[tool.uv.sources]souv run vrg-*inside the container resolves the pinned version. - Each repo ships a
.claude/hooks/guard.shshim wired via.claude/settings.json, blocking rawgit/ghin agent sessions. - Consuming repos call tools by bare name -- no file copying or syncing.
Quick Links¶
- Getting Started -- set up a consuming repository
- Script Reference -- documentation for each tool
- Validation Matrix -- which checks run where