ReleaseKit
Configuration for ReleaseKit release automation
| Type | object |
|---|---|
| File match |
releasekit.config.json
|
| Schema URL | https://catalog.lintel.tools/schemas/schemastore/releasekit/latest.json |
| Source | https://goosewobbler.github.io/releasekit/schema.json |
Validate with Lintel
npx @lintel/lintel check
Configuration schema for ReleaseKit - Automated versioning, changelog generation, and publishing
Properties
JSON schema reference URL
Git configuration
6 nested properties
Git remote name
Default branch name
Method for pushing to remote
Whether to push changes to remote
Environment variable name containing a GitHub token for HTTPS pushes
Skip Git hooks when committing
Monorepo configuration
4 nested properties
Changelog aggregation mode
Path to root changelog
Path to packages directory
Main package name for versioning
Versioning configuration
18 nested properties
Template for Git tags. Available variables: ${version} (version number), ${prefix} (versionPrefix value, e.g. 'v'), ${packageName} (sanitized package name, e.g. 'scope-pkg'). Example: "${packageName}-${prefix}${version}" produces "scope-pkg-v1.2.3".
Enable package-specific tagging
Commit convention preset
Sync versions across packages
Packages to include in versioning
[]
Package to use for version determination
How to bump internal dependencies
Packages to exclude from versioning
Template for release commit messages
Strategy for determining version bumps
Branch name patterns for version determination
Default release type when no pattern matches
How to handle version mismatches
Prefix for version tags
Identifier for prerelease versions (e.g., 'alpha', 'beta')
Base branch for versioning
Only use reachable tags
Cargo/Rust configuration
2 nested properties
Enable Cargo.toml version handling
Directories to search for Cargo.toml files
Publishing configuration
5 nested properties
Git publishing options
6 nested properties
Push tags and commits to remote
Push method override
Remote name override
Branch name override
Environment variable name containing a GitHub token for HTTPS pushes
Skip Git hooks when committing
NPM publishing configuration
7 nested properties
Enable NPM publishing
Authentication method
Enable npm provenance attestation
Package access level
NPM registry URL
Files to copy to package before publishing
[
"LICENSE"
]
NPM dist tag
Cargo publishing configuration
4 nested properties
Enable Cargo publishing
Skip verification before publish
Order in which to publish packages
[]
Clean before publishing
GitHub Release configuration
6 nested properties
Enable GitHub releases
Create as draft release
Create separate release per package
Mark as prerelease
Source for GitHub release body. 'auto': use release notes if enabled, else changelog, else GitHub auto. 'releaseNotes': use LLM-generated release notes. 'changelog': use changelog entries. 'generated': GitHub auto-generated. 'none': no body.
Template for the GitHub release title when a package name is resolved. Available variables: ${packageName} (original scoped name, e.g. '@scope/pkg'), ${version} (e.g. 'v1.0.0'). Version-only tags always use the tag string directly.
Registry verification configuration
2 nested properties
4 nested properties
Verify NPM publish
Maximum verification attempts
Initial delay in milliseconds
Exponential backoff multiplier
4 nested properties
Verify Cargo publish
Maximum verification attempts
Initial delay in milliseconds
Exponential backoff multiplier
Changelog and release notes configuration
3 nested properties
How to update existing changelog files. 'prepend' adds new entries to the top; 'regenerate' rewrites the file from scratch.
CI automation configuration for release triggers, PR previews, and label management
7 nested properties
How releases are delivered. 'direct': release on merge to main. 'manual': releases triggered manually (e.g. workflow_dispatch). 'standing-pr': changes accumulate in a release PR. 'scheduled': releases triggered on a schedule.
What triggers a release. 'label': a PR bump label (bump:patch/minor/major) is required. 'commit': conventional commits drive the bump automatically; every merge can trigger a release.
Enable PR preview comments showing what would be released if the PR is merged. Set to false to disable.
Automatically trigger a release when CI conditions are met, without manual intervention.
Commit message prefixes that suppress a release. The default matches the release commit template to prevent release loops.
[
"chore: release "
]
Minimum number of packages with releasable changes required to trigger a release.
PR label names used for release control. Override to match your repository's label conventions.
6 nested properties
Label to graduate a prerelease to stable
Label to create a prerelease
Label to suppress a release on this PR
Label to force a major bump
Label to force a minor bump
Label to force a patch bump
Release pipeline automation configuration
2 nested properties
Which steps to run by default. Omitting a step is equivalent to --skip-
CI-specific automation settings
4 nested properties
Commit message prefixes that prevent a release (e.g. 'chore(deps):', 'ci:')
Minimum number of packages with releasable changes required to trigger a release
Set to false to disable GitHub release creation in CI
Set to false to disable changelog generation in CI