Steers his mighty boat in safety, Through the perils of the whirlpool, Through the watery deeps and dangers.
Automate changelogs, versioning, and publishing—even for monorepos across multiple package registries. Currently supported ecosystems: Rust (Crates), JavaScript/TypeScript (npm), Elixir/Gleam/Erlang (Hex), Python (PyPI), PHP (Packagist), Java (Maven Central)... And more coming soon!
Don't know where to start? Check out Sampo's documentation or join us on Discord!
Sampo is deeply inspired by Changesets and Lerna, but made with Rust and designed for multi-ecosystem monorepos. Read more about Sampo's alternatives.
Sampo also builds on the work of these open-source projects:
- Knope's changesets crate, which parses changeset files. Knope is another Rust project inspired by Changesets, well worth a look
- Semantic Versioning, whose
MAJOR.MINOR.PATCHformat and version bumps Sampo uses and enforces
Thank you to everyone who contributes, or would like to. CONTRIBUTING.md is the place to start.
Sampo's name and quote honour the importance Finland took in my recent life.
Sampo is an open-source project born from Bruits, a Rust-focused collective đź’›