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 standard, and uses ๐งทgitmojis Schema see ๐งทgitmoji.dev, The module allows the construction of a custimized commit message with a number of options.
๐ชถ 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.
Retrive list of available commit types
Get-CommitTypes
Retrive list of available commit types.
Get-CommitTypes -Semver patch
Get-CommitTypes -Semver minor
Get-CommitTypes -Semver major
Get-CommitTypes -Semver nosemver
Creating a new feature commit.
# 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:
# 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
# generate SemVer Version returns psobject
Get-GitAutoVersion | select version
# only string
(Get-GitAutoVersion).Version
# in string
$version = "v_$((Get-GitAutoVersion).Version)"
Types are found at`$moduleroot/libs/commitfusion.types.json