Standard Tooling¶
Standard-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/standard_tooling/):
st-commit, st-submit-pr, st-prepare-release,
st-finalize-repo, st-validate-local
Bash validators (scripts/bin/):
commit-message, repo-profile, markdown-standards,
pr-issue-linkage, validation drivers
Git hooks (scripts/lib/git-hooks/):
Branch naming enforcement, commit message validation
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
- PATH-based consumption -- consuming repos add standard-tooling to PATH rather than copying files
How It Works¶
- Standard-tooling is cloned as a sibling directory (local development) or checked out in CI (GitHub Actions).
- The Python package is installed via
uv sync, makingst-*CLI tools available in.venv/bin/. - Both
.venv/bin/andscripts/bin/are added to PATH. - Git hooks are configured to point at
scripts/lib/git-hooks/. - 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