Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/sgkens/commitfusion

CommitFusion - Conventional Commit Message Generator
https://github.com/sgkens/commitfusion

commits conventional-commits generator git gitmojis powershell-module

Last synced: 4 days ago
JSON representation

CommitFusion - Conventional Commit Message Generator

Awesome Lists containing this project

README

        

# **CommitFusion**






***CommitFusion*** is a **PowerShell** module designed to streamline the process of generating *Conventional Commits Messages* in `git`. Commit messages are constructed using the ๐Ÿงท[Conventional Commits specification](https://www.onventionalcommits.org/en/v1.0.0/) standard, and uses ๐Ÿงท[gitmojis Schema](https://github.com/carloscuesta/gitmoji/blob/master/packages/gitmojis/src/gitmojis.json) see ๐Ÿงท[gitmoji.dev](https://gitmoji.dev), The module allows the construction of a custimized commit message with a number of options.

## ๐Ÿ“’ Documentaiton

#### ๐Ÿ”—[https://sgkens.github.io/commitfusion](https://sgkens.github.io/commitfusion/)



## ๐Ÿš€ Module Features
๐Ÿชถ Conventional Commits Standard - Streamlined commit messages for better collaboration. \
๐Ÿชถ Customizable Commit Message - Tailor your messages to fit your project's unique needs. \
๐Ÿชถ Semver Versioning Generator - Automate versioning with semantic versioning for clear releases. \
๐Ÿชถ Changelog Auto-update with Markdown Auto-format - Maintain an organized and formatted changelog.\
๐Ÿชถ Gitmoji Custom Schema - Add a touch of personality with custom Gitmoji schemes.

## ๐ŸŽพ Using Commitfusion

Retrive list of available commit types

```powershell
Get-CommitTypes
```

Retrive list of available commit types.

```powershell
Get-CommitTypes -Semver patch
Get-CommitTypes -Semver minor
Get-CommitTypes -Semver major
Get-CommitTypes -Semver nosemver
```

Creating a new `feature` commit.

```powershell
# Default Returns ]string]
New-Commit -Type feat -Body "Updated module logic", "updated readme" -FeatureAddtions "Provided new module gunctionally via new cmdlet"
```

Assuming you have staged files, you can use the following to commit the changes:

```powershell
# Apply Commit
New-Commit @params | Set-Commit -Confirm
# Apply Commit and write to changelog file
New-Commit @params | Format-FusionMD | Update-Changelog -logfile path\to\file | Set-Commit -Confirm
```

Generate Semver version base on you commits

```powershell
# generate SemVer Version returns psobject
Get-GitAutoVersion | select version
# only string
(Get-GitAutoVersion).Version
# in string
$version = "v_$((Get-GitAutoVersion).Version)"
```

### Default avaliable commit types

> Types are found at`$moduleroot/libs/commitfusion.types.json