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-release, vrg-update-deps,
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.- Inside the container,
vrg-container-runuses a per-branch cached image withvergil-toolinginstalled at the release line pinned invergil.toml([dependencies].vergil), sovrg-*tools run there by bare name too. - 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.
- Lima and cloud agent VMs install the signed
vergil-toolingpackage withaptinstead ofuv. The apt/dnf install guide is thevergil-project/packagesREADME (pinned primary key fingerprintB3A1D804DC03AB036566A4E367861822166ECABE).
Quick Links¶
- Getting Started -- set up a consuming repository
- Script Reference -- documentation for each tool
- Validation Matrix -- which checks run where