diff options
| author | Craig Jennings <c@cjennings.net> | 2026-04-26 19:22:50 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-04-26 19:22:50 -0500 |
| commit | 2eff127c1dbf2bc09175f929d581f1dde12cb2e3 (patch) | |
| tree | c993c103c0de666e036fbd569c459e4a2727b092 /scripts/diff-lang.sh | |
| parent | 68c4690cbcb0bd5e8bf6a44f1c07b25d2141c5a4 (diff) | |
| download | rulesets-2eff127c1dbf2bc09175f929d581f1dde12cb2e3.tar.gz rulesets-2eff127c1dbf2bc09175f929d581f1dde12cb2e3.zip | |
docs(commits): Conventional Commits spec + terminal-first review
I reworked commits.md with two structural shifts and five smaller rule changes.
Structural:
- Drafts print inline in the terminal. `emacsclient` only opens when asked. Was: editor by default, humanize after.
- Adopted the full Conventional Commits spec. New sections: Structure, Types, Scope, Breaking changes (`!` and `BREAKING CHANGE:` footer), Subject line, Body, Footers, How to write, Examples.
Smaller:
- Personal-tooling files (`claude-rules/*.md`, any `CLAUDE.md`, `.claude/`, `.ai/`, `SKILL.md`) aren't cited as authority in shared messages. State the reason, not the rule. Carve-out for when one of these files IS the change.
- Voice and Focus opens with a colleague-tone framing. Four anti-patterns called out below it: no felt-experience narration, no verb-as-noun ("the ask", "a learn"), no sentence fragments in prose, and no first-person "I" for software behavior — all caught real drafting tics today. "Brief. Terse is fine." also tightened to "Brief. Terse is preferred."
- Future-debugger framing added to message-writing guidance. Imperative summaries beat diary notes, and the body becomes a lightweight decision log of the constraint or tradeoff.
- PR titles end with the ticket ID in parens, e.g. `refactor: drop dead check (SE-289)`.
- Multi-pass gate tightened to match the new mandatory ordering.
Diffstat (limited to 'scripts/diff-lang.sh')
0 files changed, 0 insertions, 0 deletions
