Long echo strings broke the same eighty-column rule the hook enforces on log
messages. Error output is split so the hook file itself stays readable.
- Wrap rejection messages to eighty columns or fewer
- Keep wording aligned with subject, summary, and bullet layout rules
The commit-msg hook parses messages in bash only so contributors get the same
shape every time without Python or other helpers in the hook path.
- Enforce eighty-column lines plus subject, blank, summary, blank, then bullets
- Reject bullet-looking lines inside the summary block and blanks among bullets
- Skip all checks while .git/MERGE_HEAD exists for merge commits
Long commit subjects and bullets are hard to read in narrow terminals and
mailed logs. Contributors using `.githooks` via core.hooksPath now get an
automatic guard in addition to the two-file pre-commit cap.
- Add `.githooks/commit-msg` to fail when any message line exceeds 80 chars
- Skip length checks while `.git/MERGE_HEAD` exists for merge commits
- Sync AGENTS.md, README.md, CONTRIBUTING.md, and commit.prompt.md
Ship a tracked hook that rejects more than two staged paths so commits stay
small while still allowing tightly coupled pairs.
- Activate with: git config core.hooksPath .githooks (from repo root)