Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/michaelcurrin/auto-commit-msg

A VS Code extension to generate a smart commit message based on file changes
https://github.com/michaelcurrin/auto-commit-msg

auto automation commit commit-message commit-message-formatter generate git-commit git-commit-messages nodejs typescript vscode vscode-extension

Last synced: 5 days ago
JSON representation

A VS Code extension to generate a smart commit message based on file changes

Awesome Lists containing this project

README

        

# Auto Commit Message ⚙️ 🧙‍♂️ ✉️
> A VS Code extension to generate a smart commit message based on file changes

[![Node CI](https://github.com/MichaelCurrin/auto-commit-msg/workflows/Node%20CI/badge.svg)](https://github.com/MichaelCurrin/auto-commit-msg/actions?query=workflow:"Node+CI")
[![CodeQL](https://github.com/MichaelCurrin/auto-commit-msg/workflows/CodeQL/badge.svg)](https://github.com/MichaelCurrin/auto-commit-msg/actions?query=workflow%3ACodeQL)
[![License](https://img.shields.io/badge/License-MIT-blue)](#license "Go to License section")
[![Contributions - welcome](https://img.shields.io/badge/Contributions-welcome-blue)](/CONTRIBUTING.md "View contributing doc")

Logo

![VS Code extension marketplace version](https://img.shields.io/visual-studio-marketplace/v/MichaelCurrin.auto-commit-msg)
![VS Code extension installs](https://img.shields.io/visual-studio-marketplace/i/MichaelCurrin.auto-commit-msg)
![VS Code extension rating](https://img.shields.io/visual-studio-marketplace/r/MichaelCurrin.auto-commit-msg)
![maintained - yes](https://img.shields.io/badge/maintained-yes-blue)

## Preview

Starting from an empty commit message, the extension created a recommended message and populated it inside the Git pane of VS Code:


sample screenshot of chore

## Getting started

How to install and run the extension in VS Code.

[![docs - Getting started](https://img.shields.io/badge/docs-getting_started-2ea44f?style=for-the-badge)](/docs/quickstart.md)

## Features

Just click the extension's one **button** in the Git pane.

This is what the extension can do:

- Look at any **staged** changes files, otherwise falls back to all unstaged changes.
- Generate a commit message, which you can use or edit.
- It can describe a variety of changes - when a file is added, removed, moved, renamed, etc.
- Can handle multiple files at once.
- Based on paths and extensions, infers a **Conventional Commit** prefix type e.g. `feat`, `chore`, `ci`, `build`, `build(deps)`, `docs`.

See more info on the [Features](/docs/features.md) page in the docs.

## Comparison with other extensions

Other extensions usually require some manual input, such as selecting prefix type from a droplist or writing a commit message by hand along with other form parameters.

This extension takes _zero_ parameters. Just click a button.

With the explosion of AI tools, you can find alternatives to this extension which use AI - see [AI tools](/docs/other/ai-tools.md)

## Sample usage

Here are some screenshots of what messages the extension generates based on changed files.

If you created a new file and staged it:


feat

If you updated a build-related file:


build

If updated a file in `docs/` or a `README.md` anywhere:


docs

If you renamed a file:


rename

## Documentation

Guides for installing and using the pre-built extension and for developers to build from source code.

[![view - Documentation](https://img.shields.io/badge/view-Documenation-blue?style=for-the-badge)](/docs/)

## Contributing

See the [Contributing](/CONTRIBUTING.md) guide.

## License

Released under [MIT](/LICENSE) by [@MichaelCurrin](https://github.com/MichaelCurrin).

See the [Credit](/docs/other/credit.md) doc for more info.