← All Project Ideas

Changelog Generator CLI

beginner

A CLI tool that generates changelogs from git history and conventional commits with grouping, filtering, and formatting options. Supports multiple output formats, version tagging, and customizable ...

Target user

Open source maintainers and teams who need changelogs

Problem

Maintainers need to generate accurate changelogs from commit history without manually reviewing every commit, especially when using conventional commit format.

Requirements

  • Parse git log for conventional commits
  • Group changes by type (feat, fix, etc.)
  • Filter by version range or date
  • Output in Markdown or JSON format
  • Support custom section headers and ordering

Core technologies

Node.js, TypeScript, simple-git

Completion criteria

Users can generate formatted changelogs from git history with grouping, filtering, and multiple output formats.

Optional extensions

  • Add semver version bumping
  • Implement GitHub release integration
  • Add contributor listing
  • Support unreleased section

Project phases

Phase 1: Phase 1: Commit Parsing

Tasks: Set up git log retrieval, Parse conventional commit format, Extract type, scope, and message, Handle breaking changes

Phase 2: Phase 2: Grouping and Formatting

Tasks: Group commits by type, Sort within groups by scope, Build Markdown output, Add JSON output format

Phase 3: Phase 3: Filtering and Polish

Tasks: Add version range filtering, Implement date filtering, Support custom headers, Create CLI documentation