Git Commit Assistant
Create general-purpose Commit, PR, and release notes text.
Workflow
- •Read any project-specific rules (if provided).
- •Collect change context:
git status -sb,git diff --stat,git diff. - •Determine the primary change type.
- •Ask only for missing inputs:
- •What changed and why
- •Breaking change status
- •Release notes need, audience, and category
- •Issue/Epic/Tracking reference (if the project uses them)
- •Produce Commit/PR/Release notes and validate.
Commit rules
- •Format:
type: Subject - •Suggested
type:featfixdocsstylerefactortestchorerevert - •Subject rules (seven rules):
- •Separate subject from body with a blank line
- •Limit subject line to 50 characters
- •Capitalize the subject line
- •Do not end the subject line with a period
- •Use imperative mood
- •Body rules:
- •Explain what and why, not how
- •Wrap at 72 characters per line (hard max 100)
- •Use English, imperative
- •Breaking changes:
- •Use
type!: Subjector - •Add footer
BREAKING CHANGE: ...
- •Use
- •Add issue references only if the project uses them (e.g.,
Refs: #123) - •🔒 Never include secrets or credentials
PR rules
- •Title: short imperative phrase, no period
- •Description must answer:
- •What changed?
- •Why?
- •Breaking changes?
- •Reuse Commit Subject when appropriate
Release notes rules
- •Include only user-facing changes
- •Use
Release notes: Nonefor internal refactors/tests/infra - •Prefer categories when useful: Added / Changed / Fixed / Breaking / Security / Performance
- •Describe what changed, why it matters, and how users notice it
- •🔒 Never include secrets or private data
Output templates
Commit:
code
<type>: <Subject> <What changed.> <Why it changed.> BREAKING CHANGE: <Impact> # only if needed
PR:
code
<Title> What changed - ... Why - ... Breaking changes - None | ...
Release notes:
code
Release notes: None # or Release notes (Added): ... Release notes (Fixed): ... Release notes (Breaking): ...
Validation checklist
- •Subject length <= 50, imperative, capitalized, no period
- •Blank line between subject and body
- •Body lines wrap at 72 (<= 100)
- •Body explains what/why only
- •No secrets or private data 🔒