cd /news/ai-agents/agentic-commits Β· home β€Ί topics β€Ί ai-agents β€Ί article
[ARTICLE Β· art-168608] src=github.com β†— pub= topic=ai-agents verified=true sentiment=Β· neutral

Agentic Commits

A new specification called Agentic Commits v0.1 defines a single `Assisted-by:` footer that records which agent and model produced a git commit, extending Conventional Commits rather than replacing it. The convention is enforced by a git `commit-msg` hook that reads four environment variables β€” `AGENT_NAME`, `AGENT_VERSION`, `AGENT_MODEL_PROVIDER_SLUG` and `AGENT_MODEL_SLUG` β€” and writes a trailer such as `Assisted-by: omp 18.18.0 (opencode-go/deepseek-v4.1-flash)`; all four variables must be set or the commit fails, and `ASSISTED_BY=0` opts a single commit out. The project argues `Co-authored-by:` is unsuitable because it is a human authorship trailer requiring a real `Name <email>`, citing anthropics/claude-code issue #1653 where an invented agent address was registered by an unrelated person and mis-attributed commits.

read3 min views3 publishedNov 12, 2026
Agentic Commits
Image: Michielbdejong (auto-discovered)

Conventions for commits made with AI agents.

v0.1 defines attribution: a small, enforceable convention for recording the agent and model that produced a commit β€” without an agent-specific extension and without abusing Co-authored-by:.

Conventional Commits defines the message shape: <type>[optional scope]: <description>, an optional body, and footers that follow git trailer syntax. Agentic Commits is an extension of that specification, not a replacement. It keeps every Conventional Commits rule and adds agent-specific requirements:

  • one Assisted-by: footer identifying the agent and model;
  • an environment contract (AGENT_* ) that fills that footer.

Assisted-by is a valid Conventional Commits footer token β€” footer tokens use - in place of whitespace β€” so an Agentic Commits message is still a valid Conventional Commits message. Enforcing the Conventional Commits shape stays with existing tooling; this project only adds the attribution layer.

Original project: conventionalcommits.org Β· conventional-commits/conventionalcommits.org

feat: reject duplicate idempotency keys

Body as usual.

Assisted-by: omp 18.18.0 (opencode-go/deepseek-v4.1-flash)

The trailer is written by a git commit-msg hook, so it works for any agent that exports four environment variables before running git commit. The normative contract is in SPEC.md.

  • Co-authored-by: is a human authorship trailer. It needs a realName <email> , and GitHub links it to an account. Agents invent addresses for it; at least one such address was registered by an unrelated person and mis-attributed commits (claude-code#1653 ).
  • Existing Assisted-by: uses incompatible values:<tool> ,<tool>:<model> ,<agent>/<model> ,Name <email> .
  • Agent extensions only cover their own agent. A git hook covers all of them, including agents that do not exist yet.
Assisted-by: <AGENT_NAME> <AGENT_VERSION> (<AGENT_MODEL_PROVIDER_SLUG>/<AGENT_MODEL_SLUG>)
Variable Example Grammar
AGENT_NAME omp lowercase dash-case
AGENT_VERSION 18.18.0 [0-9A-Za-z][0-9A-Za-z.+-]*
AGENT_MODEL_PROVIDER_SLUG opencode-go lowercase dash-case
AGENT_MODEL_SLUG deepseek-v4.1-flash lowercase dash-case; dots allowed in version segments

Rules that matter:

  • All four variables or none. None means "human commit" and produces no trailer. A partial set is a broken integration and fails the commit.
  • Values are verified runtime metadata. Do not ask the model to name itself.
  • One Assisted-by: trailer per commit. Merges, cherry-picks, reverts, and rebases are skipped.
  • The hook is idempotent: if the message already has an Assisted-by: trailer, it does nothing.
  • ASSISTED_BY=0 opts a single commit out.
git clone <this repo> agentic-commits
cd agentic-commits
mise install            # hk 2.11.1
hk install              # register the commit-msg hook

To adopt it in an existing repository, copy hk.pkl and hooks/ into it (or merge the commit-msg hook into your hk.pkl) and run hk install.

Prefer plain git? The script is a normal commit-msg hook:

ln -s ../../hooks/assisted-by-commit-msg .git/hooks/commit-msg

Or, with Git β‰₯ 2.54, install it globally without touching repositories:

git config --global hook.assisted-by.event commit-msg
git config --global hook.assisted-by.command ~/path/to/assisted-by-commit-msg

Export the four variables into the environment of every tool subprocess that can run git, and update them when the model changes:

export AGENT_NAME=omp
export AGENT_VERSION=18.18.0
export AGENT_MODEL_PROVIDER_SLUG=opencode-go
export AGENT_MODEL_SLUG=deepseek-v4.1-flash
git commit -m "feat: ..."

Agents that do not set these variables can still be attributed by an adapter, but the standard itself is the environment contract. Do not add Co-authored-by: for the agent; do not fabricate values the runtime cannot provide.

git log -1 --format=%B
git log -1 --format='%(trailers:key=Assisted-by,valueonly)'
SPEC.md                          normative specification
hk.pkl                           hk commit-msg hook
hooks/assisted-by-commit-msg     reference hook (also usable as a git hook)
examples/hk-config.pkl           user-level hk configuration
tests/run.sh                     hook and hk integration tests

Run the tests with ./tests/run.sh.

Draft 0.1.0. The trailer key and variable names are stable; the value grammar may still change before 1.0.0. Changes are versioned with SemVer.

Prior art and the disagreements between projects (Fedora, LLVM, OpenInfra, HyperSpy, the Linux kernel, Kubernetes, Apache) are summarized in SPEC.md Β§12.

── more in #ai-agents 4 stories Β· sorted by recency
── more on @agentic commits 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain β€” perfect for shipping the agent you just read about.

$git push zahid main
β†’ Live at https://your-agent.zahid.host βœ“
Get free account β†’ Pricing
from €0/mo Β· no card required
LIVE [news/agentic-commits] indexed:0 read:3min 2026-11-12 Β· β€”