Opinionated preferences for branching, commits, pull requests and releases in a trunk-based Git workflow.
# Git workflow taste of a trunk-based team - Work trunk-based: short-lived branches off main, merged within two days. Confidence: 0.90 - Name branches as <type>/<short-topic>, for example fix/login-redirect. Confidence: 0.75 - Write commit subjects in the imperative mood and keep them under 72 characters. Confidence: 0.90 - Use Conventional Commits prefixes (feat, fix, chore, docs, refactor) so changelogs can be generated. Confidence: 0.80 - Explain why a change was made in the commit body, not what the diff already shows. Confidence: 0.85 - Keep each commit buildable and focused on one logical change. Confidence: 0.85 - Rebase your branch onto main instead of merging main into it. Confidence: 0.80 - Squash-merge pull requests so main has one commit per change. Confidence: 0.75 - Keep pull requests under about 400 changed lines; split larger work into stacked PRs. Confidence: 0.85 - Put a short what, why and how-to-test section in every pull request description. Confidence: 0.85 - Require one approving review and green CI before merging to main. Confidence: 0.90 - Protect main: no direct pushes and no force pushes. Confidence: 0.95 - Only force push your own branch, and always with --force-with-lease. Confidence: 0.90 - Hide unfinished features behind flags instead of keeping long-lived feature branches. Confidence: 0.85 - Tag releases with semantic version tags such as v1.4.2 on main. Confidence: 0.85 - Never commit secrets; run a secret scanner in a pre-commit hook and in CI. Confidence: 0.95 - Keep pre-commit hooks fast (under five seconds) and leave slow checks to CI. Confidence: 0.80 - Use a .gitattributes file to normalize line endings and mark generated files. Confidence: 0.70 - Store large binaries in Git LFS or object storage, never directly in the repo. Confidence: 0.85 - Use git bisect with a scripted test to hunt down regressions. Confidence: 0.70 - Revert a bad commit on main first and investigate afterwards. Confidence: 0.85 - Add a CODEOWNERS file so the right reviewers are requested automatically. Confidence: 0.75 - Delete branches automatically after they are merged. Confidence: 0.90
Reviews and rewrites Git commit messages to Conventional Commits quality — clear type/scope, imperative subject, useful body explaining why — and trains the author with concrete before/after feedback.
Reads Conventional Commits or a changelog snippet, classifies fix/feat/breaking changes, and recommends the next SemVer bump (patch, minor, or major) with a clear rationale and a preview of the resulting version. Use when a user asks "what version should I ship?", "is this a breaking change?", or "bump SemVer from these commits". Includes a tested stdlib Python advisor.
A disciplined implementation workflow for coding agents. Guides agents to inspect repository state before editing, preserve unrelated changes, plan substantial work before implementation, keep changes narrowly scoped, run relevant verification, and create concern-scoped commits only when authorized. Designed for implementation, bug fixing, refactoring, and remediation tasks across software projects.
Explains every line of a .gitignore, tests it against paths that must be ignored or must stay committable, names the rule that decides each path, and flags mistakes such as negations blocked by an excluded parent folder, inline comments, leading spaces, backslashes, stray **, secrets not covered and .env.example ignored. Returns a fixed file. Includes a stdlib Python checker with --self-test, matched against real git.