# Plugins

Plugins are the heart of PSSemanticRelease, allowing you to customize and extend the release workflow. Each plugin handles a specific step in the release process, such as analyzing commits, generating release notes, or publishing to a registry.

### Official Plugins

This section provides detailed documentation for each of the official plugins bundled with PSSemanticRelease.

* [**@ps-semantic-release/CommitAnalyzer**](https://ps-semantic-release.gitbook.io/ps-semantic-release/plugins/commitanalyzer): Determines the release type from commit messages.
* [**@ps-semantic-release/ReleaseNotesGenerator**](https://ps-semantic-release.gitbook.io/ps-semantic-release/plugins/releasenotesgenerator): Generates changelog content.
* [**@ps-semantic-release/Changelog**](https://ps-semantic-release.gitbook.io/ps-semantic-release/plugins/changelog): Updates the `CHANGELOG.md` file.
* [**@ps-semantic-release/Git**](https://ps-semantic-release.gitbook.io/ps-semantic-release/plugins/git): Commits and pushes changes to your repository.
* [**@ps-semantic-release/GitHub**](https://ps-semantic-release.gitbook.io/ps-semantic-release/plugins/github): Creates a GitHub release.
* [**@ps-semantic-release/GitLab**](https://ps-semantic-release.gitbook.io/ps-semantic-release/plugins/gitlab): Creates a GitLab release.
* [**@ps-semantic-release/NuGet**](https://github.com/rhahao/powershell-semantic-release/blob/main/docs/plugins/NuGet.md): Publishes your module to a NuGet repository.
* [**@ps-semantic-release/Exec**](https://ps-semantic-release.gitbook.io/ps-semantic-release/plugins/exec): Executes custom scripts during the release process.
