A simple tool to automate version bumps, changelogs, and releases using Conventional Commits.
- 📄 Uses conventional-changelog to parse commits, determine the next version, and generate a changelog.
- 🗂️ Supports monorepos and can release multiple packages in a single run.
- 🧩 Flexible and extensible with custom addons for different project types.
- 🚀 Has GitHub Action to automate releases in CI/CD pipelines.
New to Conventional Commits? Check out The Complete Guide.
# pnpm
pnpm add @simple-release/core
# yarn
yarn add @simple-release/core
# npm
npm i @simple-release/coreimport { Releaser } from '@simple-release/core'
import { PnpmProject } from '@simple-release/pnpm'
import { GithubHosting } from '@simple-release/github'
await new Releaser({
project: new PnpmProject(),
hosting: new GithubHosting({
token: process.env.GITHUB_TOKEN
})
})
.bump()
.commit()
.tag()
.push()
.release()
.publish()
.run()Monorepo example:
import { Releaser } from '@simple-release/core'
import { PnpmWorkspacesProject } from '@simple-release/pnpm'
import { GithubHosting } from '@simple-release/github'
await new Releaser({
project: new PnpmWorkspacesProject({
mode: 'independent'
}),
hosting: new GithubHosting({
token: process.env.GITHUB_TOKEN
})
})
.bump()
.commit()
.tag()
.push()
.release()
.publish()
.run()- npm - for projects using
npmas a package manager. - pnpm - for projects using
pnpmas a package manager. - node-gha - for Node.js GitHub Action projects published through git refs.
- github - for projects hosted on GitHub.
For comprehensive guides and API reference, visit the documentation website.