Versioning and releases across languages and ecosystems

One repository. Many ecosystems. One release workflow.

Semifold connects package discovery, changesets, version propagation, changelogs, and dependency-ordered publishing across every language in your repository.

01 / ONE REPOSITORY

Treat the repository as one product system

Each ecosystem keeps its own manifest and registry rules. Semifold handles the relationships between them.

01

Discover the whole repository

Turn Cargo, npm, Python, C++, and plugin-defined packages into one dependency-aware workspace.

02

Version related packages together

Record a change once, then update affected versions, internal requirements, and changelogs consistently.

03

Publish in dependency order

Use the right command and registry checks for each ecosystem while keeping one recoverable release run.

02 / ECOSYSTEMS & PLUGINS

Built in for common ecosystems. Extensible for yours.

Use the maintained adapters for familiar package formats, or add a repository-local JavaScript plugin without giving it unrestricted access to your machine.

Rust logo

Rust

Node.js logo

Node.js

Python logo

Python

C++ logo

C++

</>

Custom ecosystem plugins

Since v0.3.0

Define package discovery, inspection, and version edits with the typed SDK and capability-scoped runtime.

Explore the plugin system

Start with the repository you already have. Semifold will help you make its version and release rules explicit.

Make your first release