Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/agent-commit-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@ jobs:
with:
node-version: 20

# This repo isn't published to npm yet, so the workflow builds the CLI
# from source. An adopting repo using the published package would
# instead run: npx agent-commit@latest check
# Builds the CLI from source on purpose: this repo is the CLI, so the
# check should run the code that just landed, not the last release.
# An adopting repo would instead run: npx agent-commit@latest check
- name: Build agent-commit CLI from source
working-directory: cli
run: |
Expand Down
9 changes: 8 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,11 @@ All notable changes to this project are documented here. Format follows
to the format itself (see `SPEC.md` for the format's own, separately tracked
version).

## Unreleased
## [Unreleased]

## [0.1.0] - 2026-09-11

First published release.

### Added

Expand Down Expand Up @@ -170,3 +174,6 @@ version).
return value is inserted literally; added regression tests covering
this and the other special replacement sequences (`$&`, `$$`, `` $' ``,
`$9`).

[Unreleased]: https://github.com/AngelCodes95/agent-commit/compare/v0.1.0...HEAD
[0.1.0]: https://github.com/AngelCodes95/agent-commit/releases/tag/v0.1.0
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,13 +71,13 @@ Tell your agent to "agent-commit" your changes. If it already knows the format (
1. It searches for "agent-commit format."
2. It finds this page.
3. It adds the block below to this repo's `AGENTS.md`, creating one if it doesn't exist yet. Most agents (Cursor, OpenCode, Codex, and others) read `AGENTS.md` natively, so this one file and this one step covers most cases.
4. If it's Claude Code specifically: Claude Code reads `CLAUDE.md`, not `AGENTS.md`, so it also adds a single `@AGENTS.md` line to `CLAUDE.md` (creating a one-line `CLAUDE.md` if none exists yet), which is Anthropic's own documented way to point Claude Code at an existing `AGENTS.md`. A symlink (`ln -s AGENTS.md CLAUDE.md`) works too if there's no other Claude-specific content to keep separate.
4. If it's Claude Code specifically: it also adds a single `@AGENTS.md` line to `CLAUDE.md` (creating a one-line `CLAUDE.md` if none exists yet). Claude Code v2.1.277 and later reads `AGENTS.md` on its own, but by default only when there's no `CLAUDE.md` (or `CLAUDE.local.md`) in the working directory or above it; once one exists, `AGENTS.md` is ignored unless imported. The import is Anthropic's documented way to use both, and it also covers older versions and sessions that read `CLAUDE.md` only. Claude Code skips an `AGENTS.md` it has already loaded, so it's never read twice. A symlink (`ln -s AGENTS.md CLAUDE.md`) also works if there's no Claude-specific content to keep separate, except on Windows. See [Claude Code's memory docs](https://code.claude.com/docs/en/memory).
5. It commits that setup change on its own, separately from whatever the user actually asked it to commit, since it's a one-time repo setup step, not part of the requested change. If anything about the repo's commit conventions or the user's own instructions makes an unprompted commit inappropriate, it asks first instead.
6. It writes the requested commit: a normal `git commit`, nothing installed, nothing downloaded.

The block's core content never changes, only which file it ends up in; the appendix at the bottom of the block only applies if your repo squash-merges or runs commitlint, most do, but check rather than assume. Every commit after the first one in that repo is free, since the instructions are now sitting locally where the agent already looks.

If the `agent-commit` CLI is installed, steps 3 and 4 are `agent-commit init`: it writes the exact current block (the same one below, with a version marker so a later `init` or `check` can tell if a repo's copy has gone stale), links `CLAUDE.md` unless `--no-claude-code` is passed, and refuses to touch an existing, unrelated commit-message convention or clobber an already-set-up repo, both cases have to be confirmed explicitly (`--force`, `--update`). Hand-transcribing the block from this page still works and needs nothing installed; `init` just removes the chance of a transcription drifting from what's actually documented here.
If the `agent-commit` CLI is installed, steps 3 and 4 are `agent-commit init`: it writes the exact current block (the same one below, with a version marker so a later `init` can tell if a repo's copy has gone stale and `init --update` can replace it), links `CLAUDE.md` unless `--no-claude-code` is passed, and refuses to touch an existing, unrelated commit-message convention or clobber an already-set-up repo, both cases have to be confirmed explicitly (`--force`, `--update`). Hand-transcribing the block from this page still works and needs nothing installed; `init` just removes the chance of a transcription drifting from what's actually documented here.

### The block to add to `AGENTS.md`

Expand Down
Loading