Skip to content

justfinethanku/cc-changelog-plugin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Git Changelog Plugin

Automatically creates structured, searchable changelog entries when committing code to git. Unlike traditional single-file changelogs that become unwieldy merge-conflict nightmares and lose context over time, this plugin creates individual timestamped entries that never conflict during merges, preserve complete context for each coding session, and build a rich searchable knowledge base of your project's evolution. Each entry captures not just what changed but WHY decisions were made, problems encountered, and lessons learned - creating a development journal that's infinitely more useful than a chronological list of bullet points. Plus, it's way cooler than anything Mike Dion proposed because it actually solves the real problems developers face: merge conflicts, lost context, and the inability to quickly find that one weird fix you did six months ago at 2am.

Features

  • Auto-documentation: Every commit creates a detailed changelog entry
  • Structured format: Captures what changed, why, issues encountered, testing notes, and next steps
  • Searchable: Auto-generated index with keyword search
  • Smart keywords: Suggests keywords based on file paths modified
  • Merge-friendly: Timestamps prevent filename collisions across branches
  • Universal: Works with any tech stack (JavaScript, Python, Rust, etc.)

Installation

Option 1: Via Plugin Manager (Recommended)

  1. Open your terminal
  2. Start Claude Code:
    claude
  3. Add the marketplace to Claude Code:
    /plugin marketplace add https://github.com/justfinethanku/cc-changelog-plugin
    
  4. Install the plugin:
    /plugin install changelog
    
  5. Done! The plugin is now installed and ready to use

Option 2: Manual Installation

  1. Clone the repository:

    git clone https://github.com/justfinethanku/cc-changelog-plugin
  2. Choose where to install:

    For all projects (personal skills directory):

    cp -r cc-changelog-plugin/skills/commit ~/.claude/skills/

    For current project only (project-specific):

    cp -r cc-changelog-plugin/skills/commit .claude/skills/

Usage

The skill activates automatically when you ask Claude Code to commit changes:

"Commit these changes"
"Let's commit this work"
"Create a git commit with changelog"

You can also provide a commit message:

"Commit with message: Add user authentication"

Skip Changelog (for trivial changes)

"Commit without changelog: Fix typo in README"

Amend Last Entry

"Amend the last changelog entry with these changes"

What Gets Created

First Time Setup

When you first commit with the plugin, it creates:

changelog/
├── .changelog-keywords.txt    # Predefined and project-specific keywords
└── README.md                  # Auto-generated searchable index

After Each Commit

changelog/
└── 2025-01-15-1430-feature-name.md   # Timestamped entry

Changelog Entry Format

Each entry includes:

  • What Changed: Files modified with descriptions
  • Why: Decision rationale
  • Issues Encountered: Problems and workarounds
  • Dependencies: NPM/pip/cargo packages added
  • Testing Notes: What was tested, what wasn't, edge cases
  • Next Steps: Remaining tasks

Searching Your Changelog

The auto-generated changelog/README.md includes:

  • Keyword Index: All keywords with entry counts
  • Monthly Groups: Entries organized by month
  • One-line Summaries: Quick overview of each session

Use Cmd+F to search for keywords like [DATABASE], [BUG_FIX], etc.

Merge-Friendly Design

  • Timestamps in filenames prevent collisions across branches
  • Individual changelog entries never conflict during merge
  • If README.md conflicts, ask Claude to regenerate it

Example Keywords

Common keywords automatically suggested:

  • [FRONTEND], [BACKEND], [DATABASE]
  • [API], [UI], [COMPONENTS]
  • [TESTING], [BUG_FIX], [FEATURE]
  • [REFACTOR], [PERFORMANCE], [SECURITY]
  • [DEPLOYMENT], [DOCUMENTATION], [MIGRATION]

Add project-specific keywords as needed - they're automatically added to the vocabulary.

Best Practices

DO:

  • ✅ Create entry for every feature, bug fix, or meaningful change
  • ✅ Be specific in "What Changed" (file paths, function names)
  • ✅ Explain "Why" decisions were made (most valuable for future you!)
  • ✅ Document failed experiments (valuable context)

DON'T:

  • ❌ Use for typo fixes (say "commit without changelog")
  • ❌ Use generic descriptions ("made changes")
  • ❌ Skip "Why" section
  • ❌ Forget to test before committing

How It Works

  1. Analyzes changes: Runs git diff --stat to see what changed
  2. Suggests keywords: Based on file paths modified
  3. Prompts for context: What, why, issues, testing notes
  4. Creates entry: Timestamped markdown file in changelog/
  5. Updates index: Regenerates README with all entries
  6. Commits everything: Code + changelog together
  7. Optional push: Prompts to push to remote

Contributing

Issues and PRs welcome at: https://github.com/justfinethanku/cc-changelog-plugin

License

MIT License - See LICENSE file for details

Author

Jonathan Edwards

About

Claude Code plugin for automatic git changelog generation

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors