An open API service indexing awesome lists of open source software.

https://github.com/shreemanarjun/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. ๐Ÿš€
https://github.com/shreemanarjun/git_changie

changelog changelog-generator dart github gitmoji

Last synced: about 1 year ago
JSON representation

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. ๐Ÿš€

Awesome Lists containing this project

README

          

# `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 `: Generate changelog starting from a specific Git tag.
- `--to-tag `: Generate changelog up to a specific Git tag (inclusive).
- `--since `: Generate changelog starting from a specific date (format: YYYY-MM-DD).
- `--until `: Generate changelog up to a specific date (format: YYYY-MM-DD).
- `--output `: Specify the output file name (default: `CHANGELOG.md`).
- `--add-category `: 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:

```bash
git clone https://github.com/Shreemanarjun/git_changie.git
cd git_changie
dart pub get
```
## Activate Globally from `pub.dev`

Run

```bash
dart pub global activate git_changie
```

To generate `CHANGELOG.MD`
```bash
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:

```bash
git_changie
```

### Include Commit Hash, Author, and Date

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

```bash
git_changie --hash --author --date
```

### Filter by Tags

Generate a changelog starting from a specific tag:

```bash
git_changie --from-tag v1.0.0
```

Or up to a specific tag:

```bash
git_changie --to-tag v2.0.0
```

### Filter by Date

You can filter commits by date ranges:

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

### Specify Output File

To specify a custom output file for the changelog:

```bash
git_changie --output my_changelog.md
```

### Add Custom Categories

You can add custom categories for your changelog entries:

```bash
git_changie --add-category "Custom Category"
```

### Help Command

For a full list of options, run:

```bash
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.