git_changie ๐ŸŽ‰

git_changie is a powerful Dart command-line tool designed to simplify the generation of changelogs from Git commit messages while promoting a standardized commit message format. ๐Ÿš€

Features ๐Ÿš€

General Features ๐ŸŒŸ

  • Changelog Generation: Automatically generates a changelog from Git commit messages.
  • Output File Customization: Specify the output file name (default: CHANGELOG.md).
  • Backup Existing Changelog: Automatically creates a backup of the existing changelog file before overwriting it.

Command-Line Options ๐Ÿ“œ

  • --hash: Include commit hash in the changelog.
  • --author: Include commit author in the changelog.
  • --date: Include commit date in the changelog.
  • --from-tag <tag>: Generate changelog starting from a specific Git tag.
  • --to-tag <tag>: Generate changelog up to a specific Git tag (inclusive).
  • --since <date>: Generate changelog starting from a specific date (format: YYYY-MM-DD).
  • --until <date>: Generate changelog up to a specific date (format: YYYY-MM-DD).
  • --output <file>: Specify the output file name (default: CHANGELOG.md).
  • --add-category <name>: Add a custom category for commit messages if needed.
  • --help: Show help message with usage instructions.

Emoji Categorization ๐Ÿ˜Š

  • Supports a variety of emoji categories for better organization of commit messages, including:
    • ๐ŸŽจ Style
    • โšก๏ธ Performance
    • ๐Ÿ”ฅ Remove
    • ๐Ÿ› Fixes
    • ๐Ÿš‘ Critical Hotfix
    • โœจ Features
    • ๐Ÿ“ Documentation
    • ๐Ÿš€ Deployment
    • ๐Ÿ’„ UI Changes
    • ๐ŸŽ‰ Initial Commit
    • โœ… Tests
    • ๐Ÿ”’๏ธ Security
    • ๐Ÿ” Secrets
    • ๐Ÿ”– Release Tags
    • ๐Ÿšจ Warnings
    • ๐Ÿšง Work In Progress
    • ๐Ÿ’š CI Build
    • โฌ‡๏ธ Downgrade
    • โฌ†๏ธ Upgrade
    • ๐Ÿ“Œ Pin Dependencies
    • ๐Ÿ‘ท CI System
    • ๐Ÿ“ˆ Analytics
    • โ™ป๏ธ Refactor
    • โž• Add Dependency
    • โž– Remove Dependency
    • ๐Ÿ”ง Configuration
    • ๐Ÿ”จ Development Scripts
    • ๐ŸŒ Internationalization
    • โœ๏ธ Typos
    • ๐Ÿ’ฉ Bad Code
    • โช Revert
    • ๐Ÿ”€ Merge
    • ๐Ÿ“ฆ Compiled Files
    • ๐Ÿ‘ฝ๏ธ API Changes
    • ๐Ÿšš Move/Rename Resources
    • ๐Ÿ“„ License
    • ๐Ÿ’ฅ Breaking Changes
    • ๐Ÿฑ Assets
    • โ™ฟ๏ธ Accessibility
    • ๐Ÿ’ก Comments
    • ๐Ÿป Drunken Code
    • ๐Ÿ’ฌ Text Changes
    • ๐Ÿ—ƒ๏ธ Database Changes
    • ๐Ÿ”Š Logs
    • ๐Ÿ”‡ Remove Logs
    • ๐Ÿ‘ฅ Contributors
    • ๐Ÿšธ User Experience
    • ๐Ÿ—๏ธ Architectural Changes
    • ๐Ÿ“ฑ Responsive Design
    • ๐Ÿคก Mocking
    • ๐Ÿฅš Easter Eggs
    • ๐Ÿ™ˆ .gitignore
    • ๐Ÿ“ธ Snapshots
    • โš—๏ธ Experiments
    • ๐Ÿ” SEO
    • ๐Ÿท๏ธ Types
    • ๐ŸŒฑ Seed Files
    • ๐Ÿšฉ Feature Flags
    • ๐Ÿฅ… Catch Errors
    • ๐Ÿ’ซ Animations
    • ๐Ÿ—‘๏ธ Deprecate Code
    • ๐Ÿ›‚ Authorization
    • ๐Ÿฉน Minor Fixes
    • ๐Ÿง Data Inspection
    • โšฐ๏ธ Remove Dead Code
    • ๐Ÿงช Failing Test
    • ๐Ÿ‘” Business Logic
    • ๐Ÿฉบ Healthcheck
    • ๐Ÿงฑ Infrastructure
    • ๐Ÿง‘โ€๐Ÿ’ป Dev Experience
    • ๐Ÿ’ธ Sponsorships
    • ๐Ÿงต Multithreading
    • ๐Ÿฆบ Validation

With git_changie, you can effortlessly track and categorize changes in your project, making collaboration smoother and more organized! ๐ŸŒˆ

Installation

From GitHub

You can clone the repository and build it locally:

git clone https://github.com/Shreemanarjun/git_changie.git
cd git_changie
dart pub get

Activate Globally from pub.dev

Run

dart pub global activate git_changie 

To generate CHANGELOG.MD

git_changie

First-Class Support with Gitmoji Plugin for VS Code

For a more visually appealing commit message experience, you can integrate the Gitmoji plugin for Visual Studio Code. This plugin provides a list of emojis to choose from, helping you maintain consistency in your commit messages.

To install the Gitmoji extension:

  1. Open VS Code.
  2. Go to Extensions (Ctrl+Shift+X).
  3. Search for "Gitmoji" and install it.
  4. Follow the extension's instructions to start using Gitmoji in your commit messages.

Usage

Run the git_changie command in your terminal with various options to customize the output. Here are some common usages:

Basic Command

To generate a changelog from your Git commits:

git_changie

Include Commit Hash, Author, and Date

You can include the commit hash, author, and date in your changelog:

git_changie --hash --author --date

Filter by Tags

Generate a changelog starting from a specific tag:

git_changie --from-tag v1.0.0

Or up to a specific tag:

git_changie --to-tag v2.0.0

Filter by Date

You can filter commits by date ranges:

git_changie --since 2024-01-01 --until 2024-09-30

Specify Output File

To specify a custom output file for the changelog:

git_changie --output my_changelog.md

Add Custom Categories

You can add custom categories for your changelog entries:

git_changie --add-category "Custom Category"

Help Command

For a full list of options, run:

git_changie --help

Contributing

Feel free to submit issues, pull requests, or suggestions.

License

This project is licensed under the MIT License. See the LICENSE file for more details.

Libraries