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-repo, vrg-validate
Lint tools (installed as st-*):
vrg-repo-profile, vrg-pr-issue-linkage, validation drivers
Git hooks (.githooks/):
Env-var gate that admits vrg-commit and blocks raw git commit
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 installputsst-*on PATH; no sibling checkout required
How It Works¶
vergil-toolingis installed on the developer's host viauv tool install, placingst-*scripts in~/.local/bin/.vrg-docker-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 st-*inside the container resolves the pinned version. - Each repo checks in a
.githooks/pre-commitenv-var gate, enabled viagit config core.hooksPath .githooks. - 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