ai-changelog
AI-Driven Changelog
Set up a changelog system AI agents maintain during development. Two shapes, chosen by project type:
- Software projects: agents write entries under
## [Unreleased]; automation stamps version numbers at release time (CalVer or SemVer). No agent ever writes version numbers; the build process handles that. - Non-code projects (no build system): agents add terse bullets under a date heading (
## YYYY-MM-DD) by hand. No script, no version numbers. Seereferences/dated.md.
Setup workflow
-
Detect the build system: Check for Makefile, Justfile, package.json, Cargo.toml, pyproject.toml, go.mod. Note which config files contain a
"version"field. -
Check whether this is a software project at all. If there's no build system from step 1 and no version convention (a docs repo, writing or notes vault, content site, research or config collection), use Dated mode: date-based changelog headings, no version script, no build integration. Skip straight to
references/dated.mdand ignore the script/build steps below. Otherwise, detect the versioning scheme by inspecting (highest confidence first):CHANGELOG.mdheading style:## [YYYY.M.N]headings → CalVer;## [X.Y.Z]headings or prose mentioning "SemVer" → SemVer- Git tags from
git tag --list | head:vX.Y.Z→ SemVer;YYYY.M.N→ CalVer VERSIONfile with content matching^[0-9]+\.[0-9]+\.[0-9]+→ SemVer- Manifest version field (
package.json,Cargo.toml,pyproject.toml) matchingX.Y.Z→ SemVer
If signals are absent or contradictory, ask the user. Suggest SemVer for projects with established version history (existing tags, manifest versions, prior changelog entries) and CalVer for greenfield projects where automatic versioning is preferable. Each scheme has trade-offs documented in its reference file.