semifold-core 0.1.0-beta.0

Next-generation cross-language monorepo version and release management tool
Documentation

Semifold

English | δΈ­ζ–‡

Next-generation cross-language monorepo version and release management tool.

Nowadays, cross-language monorepos are becoming more and more common. For example, a monorepo may contain a Rust library and a Node.js package, developers use napi-rs to create Rust bindings for Node.js.

semifold (CLI: smif | semifold) helps teams manage versions, changelogs, and package publishing across large cross-language monorepos with consistency, automation, and zero pain. Whether you are building libraries, apps, or services across multiple languages, Semifold keeps your release pipeline clean and predictable.

πŸ“– Documentation

For detailed usage instructions, please refer to the official documentation.

✨ Features

Feature Description
Cross-language monorepo support Manage versions for Rust / Node.js / more (extensible)
Changeset-based workflow Clear and traceable version reasoning
Automatic version bumping smif version reads changes and bumps semver
Automated changelogs Generated from commit metadata / changesets
One-command publishing Publish multiple packages reliably
CI-friendly design smif ci gives a stable pipeline for GitHub Actions or others

πŸ“Œ Status

Languages supported:

  • Rust
  • Node.js
  • Python
  • C++
  • Go
  • Java
  • Kotlin

🧠 Inspiration

Semifold was inspired by the great work from the following projects:

Changesets β€” a simple and elegant changeset-based versioning workflow, mainly focused on JavaScript and npm monorepos.

Covector β€” a flexible multi-target release manager designed to support more complex ecosystems.

🀝 Contributing

Contributions are very welcome! Please read the contributing guidelines to get started.

πŸ“„ License

Semifold is licensed under the AGPL-3.0 License.