Skip to content

feat: add td changelog command for release note drafting#77

Open
marcus wants to merge 1 commit intomainfrom
release-notes/draft-command
Open

feat: add td changelog command for release note drafting#77
marcus wants to merge 1 commit intomainfrom
release-notes/draft-command

Conversation

@marcus
Copy link
Copy Markdown
Owner

@marcus marcus commented Mar 25, 2026

Summary

  • Adds td changelog CLI command that parses git commits between tags, groups by conventional-commit type (feat→Features, fix→Bug Fixes, docs→Documentation, etc.), and formats release notes matching the existing CHANGELOG.md style
  • New internal/changelog package with ParseCommit, GroupCommits, and FormatMarkdown functions
  • New git helpers: ListCommitsBetween, LatestTag, PreviousTag in internal/git
  • Supports --from/--to refs, --version heading, and --write to prepend to CHANGELOG.md

Test plan

  • Unit tests for commit parsing (conventional and non-conventional formats)
  • Unit tests for PR extraction, commit grouping, and markdown formatting
  • Integration tests for git commit listing between real tags
  • Manual verification: td changelog --from v0.42.2 --to v0.43.0 produces correct output

🤖 Generated with Claude Code


Automated by nightshift

Parses git commits between tags, groups by conventional-commit type
(feat/fix/docs/test/refactor), and formats output matching the
existing CHANGELOG.md style. Supports --from/--to refs, --version
for heading, and --write to prepend to CHANGELOG.md.

Nightshift-Task: release-notes
Nightshift-Ref: https://github.com/marcus/nightshift
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant