monochange is a free, open-source toolkit for managing versions and releases in monorepos. It brings changesets, dependency updates, and release notes into one plan, even when your packages use different languages and registries.
A Rust library, a TypeScript SDK, and a Flutter app can share a repository without sharing a version. Keep versions independent or group packages that release together.
- Describe a change in a changeset: which packages changed, how their versions should move, and what belongs in the release notes.
- Preview version changes, dependency updates, and changelogs before applying them.
- Plan releases for Cargo, npm, Dart and Flutter, Python, Go, and Deno/JSR packages.
- Run the CLI locally or use it in CI, with GitHub Actions for changeset checks, release previews, and release pull requests.
npm install -g @monochange/cli
monochange --helpThe installation guide also covers Cargo and Nix. Follow the book to configure your workspace and preview your first release. The walkthrough stays local and does not publish packages.
The GitHub App is being prepared for hosted release commits and pull requests. Installation is still being finalized; the CLI is available now.
- monochange — the Rust CLI, libraries, documentation, and website.
- actions — GitHub Actions for monochange release workflows.
Found a bug or have an idea? Open an issue. To contribute code or docs, start with the contribution guide.