Workspace tour
Thirty crates. Below is a paragraph-per-crate orientation with the file to read first. For the canonical dependency rules, see Architecture and the spec.
Core and SDK
versionx-core
The brain. Every mutating operation originates here. Produces Plans; applies Plans. Stateless intent engine. Start at src/commands/mod.rs — the entry point for every verb.
versionx-sdk
Public crate that re-exports the stable subset of versionx-core. Versioned with the tool. Start at src/lib.rs.
Frontends
versionx-cli
The versionx binary. clap-derived. Parses args, calls versionx-core, renders output. Start at src/main.rs.
versionx-tui
The interactive dashboard. ratatui + crossterm. Views: Dashboard, Repo Detail, Release Planner, Policy Inspector, Run Log. Start at src/app.rs.
versionx-daemon
The versiond long-running process. JSON-RPC 2.0 over UDS / named pipe. Handlers map 1:1 to versionx-core public functions. Start at src/server.rs.
versionx-web
Loopback-only axum HTTP surface. OpenAPI via aide. Start at src/router.rs.
versionx-mcp
MCP server on rmcp. Stdio + streamable HTTP transports. Tool count ~10, workflow-shaped. Start at src/tools.rs.
Shims and bootstrap
versionx-shim
Tiny static binary (< 200 KB). Dispatches via argv[0] lookup against an mmap'd PATH cache. Sub-ms cold dispatch. Start at src/main.rs. Built under the shim profile for minimum size.
Adapters (package managers)
versionx-adapter-trait
The PackageManagerAdapter trait + test kit. Adapters never depend on versionx-core. Start at src/lib.rs.
versionx-adapter-node
npm / pnpm / yarn. Drives them via their native CLIs. Start at src/adapter.rs.
versionx-adapter-python
pip / uv / poetry. Same pattern. Start at src/adapter.rs.
versionx-adapter-rust
cargo. Start at src/adapter.rs.
versionx-adapters
Meta-crate re-exporting every adapter for convenient consumption from the CLI and daemon. Start at src/lib.rs.
Runtimes (toolchain installers)
versionx-runtime-trait
The RuntimeInstaller trait. Start at src/lib.rs.
versionx-runtime-node
Installs Node and pins pnpm/yarn directly (no corepack). Start at src/installer.rs.
versionx-runtime-python
Installs CPython via python-build-standalone. Start at src/installer.rs.
versionx-runtime-rust
Wraps rustup. Never sets RUSTC in the env it hands out (leaves that to rustup). Start at src/installer.rs.
Configuration and state
versionx-config
TOML schema, validation, migration. Uses toml_edit so it preserves formatting on rewrites. Start at src/schema.rs.
versionx-lockfile
Read/write for versionx.lock. Blake3-hash aggregation of native lockfiles. Start at src/format.rs.
versionx-state
SQLite state DB. rusqlite + WAL. Migrations via rusqlite_migration. Start at src/db.rs.
Logic engines
versionx-policy
Declarative TOML parser + Luau evaluator (sandboxed via mlua). Start at src/evaluator.rs.
versionx-release
SemVer, CalVer, PR-title parser, Conventional Commits, changesets. Start at src/strategies/mod.rs.
versionx-tasks
Topological task runner. Local cache in 1.2; remote cache in 2.0. Start at src/runner.rs.
versionx-multirepo
Submodule / subtree / virtual-monorepo / ref handlers. Saga protocol. Start at src/topology.rs.
Git and GitHub
versionx-git
Git ops. gix for reads, git2 for writes. Start at src/repo.rs.
versionx-github
Thin octocrab wrapper. Start at src/client.rs.
Workspace glue
versionx-workspace
Workspace-layer orchestration. Discovers roots, composes members. Start at src/lib.rs.
versionx-events
Structured event bus. tracing-compatible, broadcast channel-based. Start at src/events.rs.
Meta
xtask
Internal build automation (CI chores, docs regeneration, etc.). Start at src/main.rs.
See also
- Architecture — the dependency rules between these crates.
- Dev environment setup — getting a build running.