Semantic Release Config Builder
Build semantic-release configuration visually. Select plugins, configure branches and release rules, then export in your preferred format.
About This Tool
The Semantic Release Config Builder is a free browser-based tool that helps you create semantic-release configuration files through a visual interface instead of writing JSON or YAML by hand. Configure branches, select plugins, set plugin-specific options, and define custom release rules — all from a single form.
The tool supports the full semantic-release plugin ecosystem including
@semantic-release/commit-analyzer for determining release types,
@semantic-release/release-notes-generator for creating release notes,
@semantic-release/changelog for maintaining CHANGELOG.md,
@semantic-release/npm for publishing to the npm registry,
@semantic-release/github for GitHub releases and issue comments,
@semantic-release/git for committing artifacts back to the repository, and
@semantic-release/exec for running custom shell commands during the release
lifecycle. Each plugin can be individually configured with its specific options.
You can export your configuration in three popular formats: .releaserc.json,
.releaserc.yml, and release.config.js. If you need to convert between
JSON and YAML for other configuration files, check out the
JSON to YAML converter. For formatting your JSON config
files, try the JSON Formatter. And if you want to
validate your YAML output, the YAML Formatter can help
catch syntax errors.
All processing runs entirely in your browser. No configuration data, plugin settings, or branch names are ever sent to any server. Your CI/CD configuration stays private and secure.
How to Use
- Configure your release branches by adding branch names (e.g., main, next, beta). Set optional channel and prerelease tags for non-default branches.
- Enable the plugins you need by checking the boxes next to each plugin name. The most common plugins (commit-analyzer, release-notes-generator, npm, github) are enabled by default.
- Expand each enabled plugin to configure its specific options like preset, changelog file path, npm publish settings, or GitHub release assets.
- Add release rules to override the default commit-to-release mapping. For example, map
docscommits topatchreleases orrefactorto no release. - Choose your preferred output format: .releaserc.json, .releaserc.yml, or release.config.js.
- Review the generated configuration in the output panel on the right.
- Click Copy or press Ctrl+Shift+C to copy the config to your clipboard, or click Download to save it as a file.
Popular Semantic Release Config Examples
FAQ
What is semantic-release?
Semantic-release is a fully automated version management and package publishing tool. It determines the next version number based on commit messages following the Conventional Commits specification, generates release notes, and publishes the package. It removes the human decision-making from the versioning process, ensuring that version numbers accurately reflect the changes made.
Which output format should I use?
All three formats (.releaserc.json, .releaserc.yml, release.config.js) are equally supported by semantic-release. Use .releaserc.json if your project already uses JSON for configuration. Choose .releaserc.yml if you prefer YAML's readability. Use release.config.js if you need dynamic configuration or want to add comments. The JSON format is the most common choice.
What are prerelease branches?
Prerelease branches (like beta, alpha, or next) allow you to publish prerelease versions of your package. For example, commits to a 'beta' branch with prerelease set to 'beta' will create versions like 1.2.0-beta.1. This lets users opt in to testing new features before they reach the main release channel.
How do release rules work?
Release rules override the default mapping between commit types and release types. By default, 'feat' commits trigger a minor release and 'fix' commits trigger a patch release. You can add rules to change this behavior — for example, making 'perf' commits trigger a minor release, or making 'docs' commits trigger no release at all by setting the release type to 'false'.
Do I need all the plugins?
No. The only required plugin is @semantic-release/commit-analyzer. However, most projects use at least commit-analyzer, release-notes-generator, and either npm or github. The changelog and git plugins are optional but popular for maintaining a CHANGELOG.md file and committing release artifacts back to the repository.
Is my data safe?
Yes. All configuration generation runs entirely in your browser using JavaScript. No data — including branch names, plugin settings, or any configuration values — is ever sent to any server. You can verify this by checking the Network tab in your browser's developer tools while using the tool.
Can I use this for monorepo setups?
Yes. For monorepos, you typically need a separate semantic-release configuration per package. Use the @semantic-release/npm plugin with the pkgRoot option set to each package's directory. You can also use @semantic-release/exec to run custom build scripts for each package before publishing.
Related Tools
Changelog Generator
Generate CHANGELOG.md from Conventional Commits. Group by type, add version headers, and export in Keep a Changelog format.
Conventional Commits Linter
Validate commit messages against the Conventional Commits specification. Check type, scope, description, and body format.
JSON Formatter
Format, validate, and beautify JSON with syntax highlighting and tree view.
YAML Formatter
Format, validate, and minify YAML with customizable indentation and syntax error display.
JSON ↔ YAML Converter
Convert between JSON and YAML formats instantly with syntax validation.
Docker Run Command Builder
Build docker run commands visually with ports, volumes, env vars, and generate docker-compose.yml.
GitHub Actions Workflow Builder
Build GitHub Actions workflow YAML files visually. Configure triggers, jobs, steps, matrix strategies, and secrets references.
Feature Flag Config Generator
Generate feature flag configuration templates for LaunchDarkly, Unleash, JSON, and YAML with targeting rules, rollouts, and user segments.
Release Notes Generator
Generate professional release notes from version info and change entries. Supports Keep a Changelog, GitHub Release, and Conventional Changelog formats.
Semver Calculator
Check semver range matches, compare versions, calculate increments, and batch-test version lists with semantic versioning rules.