delimit_changelog
Generates changelogs from git commits with ledger items or from OpenAPI spec comparisons. Supports markdown, JSON, keepachangelog, and GitHub release formats.
Instructions
Generate a changelog from git commits + ledger, or from API spec changes.
Two modes:
Git mode (pass repo_path): reads git log since last tag, categorizes commits (feat/fix/refactor/docs/test/ci), pulls completed ledger items, and formats as clean Markdown. Works for ANY repo.
Spec mode (pass old_spec + new_spec): compares two OpenAPI specs and produces a changelog of API changes. Original behavior.
Formats: markdown, json, keepachangelog, github-release.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| old_spec | No | Path to old OpenAPI spec (spec mode only). | |
| new_spec | No | Path to new OpenAPI spec (spec mode only). | |
| format | No | Output format (markdown, json, keepachangelog, github-release). | markdown |
| version | No | Version label for the changelog entry (e.g. "4.1.0"). | |
| repo_path | No | Path to a git repository (git mode). When set, uses git log. | |
| since_tag | No | Git tag to diff from (default: auto-detect latest tag). | |
| include_ledger | No | Pull completed ledger items into changelog (git mode, default true). | |
| output_file | No | Write changelog to this file path. If CHANGELOG.md, prepends entry. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||