Agents md commit section
Commit message format¶
Headers follow Conventional Commits:
<type>(<scope>): <subject>. Allowed types: feat, fix, docs, refactor,
test, chore, ci, build, perf, style, revert. Scope is freeform â
name the area touched (skills, library-maintenance, agents, repo, âĻ).
The subject (header) is capped at 72 characters â keep it as the
bottom-line summary of the change. Body and footer lines are intentionally
length-unrestricted so big messages, tables/URLs, and the Co-Authored-By
trailer below are never flagged.
đ for big messages¶
When a change warrants a long message, lead with the bottom line up front. The
72-char subject is the headline; if the body runs long, open it with a one-line
or one-paragraph summary of the what and why prefixed with đ, then put
the detail below it. A blank line between subject and body is required
(commitlint enforces body-leading-blank), which is what makes the đ summary
stand on its own.
feat(skills): add git-hygiene enforcement
đ block direct commits to main; require a feature branch.
The commit-msg hook now refuses commits made on main and prompts for a
feature branch. Rationale, edge cases, and rollout notes follow here â
this section has no line-length limit.
Co-Authored-By: Cursor (Composer 2.5), Driven by Alex Example đšī¸
Enforcement: commitlint runs locally via husky (after npm install + the
prepare script, which wires the commit-msg hook). On GitHub-hosted repos,
CI also lints PR commits as a backstop.
Commit message trailers¶
Use one Co-Authored-By: line per distinct agent session that contributed
to the change, with the model(s) and the human driver packed inside that
line. Preserves grep-ability for tools that look for Co-Authored-By,
keeps attribution unambiguous across multi-agent / multi-IDE work, and
overrides any agent's built-in default trailer (e.g. Claude Code's default
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>).
Format¶
Bad¶
Co-Authored-By: Alex Example <alex@example.com>
Co-Authored-By: Claude Code (Opus 4.7, 1M context) <noreply@anthropic.com>
Two lines for one session. The first duplicates git's author/committer. The second hides who was driving and embeds context-window detail that isn't useful in attribution.
Good¶
Co-Authored-By: Claude Code (Opus 4.7), Driven by Alex Example đšī¸
Co-Authored-By: Cursor (Composer 2.5, Opus 4.7), Driven by Alex Example đšī¸
Co-Authored-By: GitHub Copilot (Codex 5.0), Driven by Alex Example đšī¸
One line per agent that touched the work, each naming its model(s) and the human at the controls. Works across Claude Code, Cursor, Copilot, and any other agent or IDE.
Rules¶
- One trailer per distinct agent session, not per file or per turn.
- Pack model(s) inside parentheses immediately after the agent name.
- Use "Driven by
<Full Name>" â not a separateCo-Authored-Byfor the human. - The đšī¸ emoji is part of the convention; keep it.
- Drop context-window or runtime tags (e.g. "1M context") from the agent label.