| Crates.io | mono |
| lib.rs | mono |
| version | 0.0.5 |
| created_at | 2025-12-16 09:38:10.899684+00 |
| updated_at | 2025-12-21 06:19:41.347204+00 |
| description | Mono repository automation toolkit |
| homepage | https://github.com/zensical/mono |
| repository | https://github.com/zensical/mono |
| max_upload_size | |
| id | 1987443 |
| size | 88,563 |
Mono repository automation toolkit
mono is a release management tool built specifically for monorepos. It validates commits, determines versions, generates changelogs, and orchestrates publishing – all with zero configuration needed for standard workflows. Rust and Node workspaces are supported out of the box, with more languages coming soon.
cargo install mono
Or use our GitHub Action:
- uses: zensical/mono@v0
# Create a new version and update all packages
mono version create
# Generate the changelog of a version in Markdown format
mono version changelog
# List the names of changed packages in topological order
mono version changed
# List versions in reverse chronological order
mono version list
# List the names of all packages in topological order
mono list
# Validate a commit message summary
mono validate commit "feature: add authentication"
# Validate a commit message in a file
mono validate commit --file .git/COMMIT_EDITMSG
# Validate a commit by identifier
mono validate commit --id 7b5e433
Cargo.toml workspaces or package.json workspaces0.0.z (patch-only) and 0.y.z (breaking changes = minor) rangescargo publish, npm publish, or custom scripts| Tool | Focus | Why mono |
|---|---|---|
| Lerna | JavaScript monorepos, publishing | Language-agnostic, opinionated defaults, no Node.js required |
| changesets | Developer-written changelogs | Fully automated from git history, no manual changeset files |
| cocogitto | Git Conventional Commits | Monorepo-first with automatic scopes and multi-package releases |
| git-cliff | Changelog generation | Interactive version selection, package-aware changelogs, topological publishing |
| cargo-release | Single Rust crate releases | Multi-package workspaces with dependency ordering |
| semantic-release | Automated releases | Simpler, faster, designed for monorepo batch operations |