๐lazy-release
Automate versioning, publishing, and creating changelogs for Node.js projects
Using conventional commits and supports multi-package repos
pnpm i @lazy-release/cli -Dโจ Features
Automated Changelogs
Generate nice looking changelogs from conventional commits
Version Management
Automatic semantic versioning based on commit messages
Git Tag Management
Automatically creates and publishes git version tags
Package Manager Agnostic
Works with npm, pnpm, yarn, and bun
GitHub Integration
Automatic PR creation and GitHub releases
Snapshot Releases
Create preview versions for testing
Monorepo Support
Manage multiple packages in a single repository
Fast & Reliable
Built for speed and consistency in CI/CD environments
๐ How It Works
A simple three-step automated release process
Merge Pull Request
A dev merges a Pull Request into the main branch using squash merge. The PR should be prefixed with conventional commit prefix (fix, feat, chore, etc.)
feat: add new featureRelease PR Created
A Release PR gets automatically created with:
- โ Bumped version in package.json files
- โ Updated lock files
- โ Created or updated changelogs
Release Published
Once the Release PR is merged:
- ๐ฆ Packages published to npm (if NPM_TOKEN provided)
- ๐ท๏ธ GitHub release created (if GITHUB_TOKEN provided)
- ๐ Version tags pushed to repository
๐ Quick Start
It's recommended to run lazy-release in a CI/CD environment (like GitHub Actions) for automated and consistent release workflows.
1. Install the CLI
pnpm i @lazy-release/cli -D2. Add a script to your package.json
{
"scripts": {
"lazy-release": "lazy-release"
}
}3. Run the CLI
pnpm lazy-release \
--npm-token $NPM_TOKEN \
--github-token $GITHUB_TOKEN \
--access publicโ๏ธ Prerequisites
1. Use squash merge for pull requests
In your repo settings:
- Go to Settings โ General โ Pull Requests
- Uncheck "Allow merge commits"
- Check "Allow squash merges"
- Choose "Pull request title" for default commit message
2. Update workflow permissions
- Go to Settings โ Actions โ General
- Set "Workflow permissions" to "Read and write permissions"
- Check "Allow GitHub Actions to create and approve pull requests"
๐ Projects Using lazy-release
Using lazy-release in your project? Add it to this list!