CLI Reference
Dieser Inhalt ist noch nicht in deiner Sprache verfügbar.
semrel release
Section titled “semrel release”Runs the full release pipeline for the current repository.
semrel release [--dry-run] [--config .semrel.yaml] [--force-bump-patch-version] [--edit]What happens during release
Section titled “What happens during release”- semrel loads
.semrel.yaml. - Configured plugins are resolved from
path:,~/.semrel/plugins/, or$PATH. - semrel builds the release context for the current branch, version, tag, bump, changelog, and dry-run state.
- Condition plugins validate whether the current environment is allowed to publish.
- semrel determines the current version, analyzes commits, and calculates the next version.
- Updater plugins can modify tracked files before the release is finalized.
- semrel creates the release artifacts unless
--dry-runis enabled. - Hook plugins run with the same release context after success or failure.
| Flag | Description |
|---|---|
--dry-run | Simulate the release without creating tags, releases, or other persistent changes |
--config | Read configuration from a non-default file |
--force-bump-patch-version | Force at least a patch bump even when the analyzer would not bump the version |
--edit | Let you edit generated release content before the release is finalized |
--github-output | Write release metadata to $GITHUB_OUTPUT for use in downstream GitHub Actions steps |
--gitlab-dotenv <file> | Write release metadata as a dotenv artifact file for GitLab CI downstream jobs |
--output-file <file> | Write release metadata to a file (.json for JSON, any other extension for dotenv format) |
Examples
Section titled “Examples”# Preview a release without making changessemrel release --dry-run
# Use a non-default config filesemrel release --config .github/semrel.yaml
# Force a patch bumpsemrel release --force-bump-patch-version
# Export outputs for GitHub Actions downstream stepssemrel release --github-output
# Export dotenv artifact for GitLab CIsemrel release --gitlab-dotenv semrel.env
# Export as JSON filesemrel release --output-file release.jsonsemrel lint
Section titled “semrel lint”Validates the semrel configuration file.
semrel lint [--config .semrel.yaml]Examples
Section titled “Examples”# Validate the default configsemrel lint
# Validate a specific config filesemrel lint --config ./config/semrel.yamlsemrel commitlint
Section titled “semrel commitlint”Validates commit messages and can emit either text or JSON output.
semrel commitlint [--output text|json]Examples
Section titled “Examples”# Human-readable outputsemrel commitlint
# Machine-readable outputsemrel commitlint --output jsonsemrel plugin list
Section titled “semrel plugin list”Lists installed plugins.
semrel plugin list [--no-header]Examples
Section titled “Examples”# List installed pluginssemrel plugin list
# List installed plugins without the table headersemrel plugin list --no-headersemrel plugin search
Section titled “semrel plugin search”Searches the registry for plugins.
semrel plugin search <query>Example
Section titled “Example”semrel plugin search githubsemrel plugin install
Section titled “semrel plugin install”Downloads a plugin into the default plugin directory or a custom directory.
semrel plugin install <name[@version]> [--plugin-dir <dir>]Examples
Section titled “Examples”# Install the latest GitHub provider pluginsemrel plugin install github
# Install a specific plugin versionsemrel plugin install github@v0.1.0
# Install into a custom directorysemrel plugin install github --plugin-dir ./tools/pluginsInstalled plugins use the semrel-plugin-<name> naming convention. By default, semrel stores them in ~/.semrel/plugins/.