Package map
What each product workspace package owns and where to start reading.
FusionKit is a pnpm + TypeScript workspace plus a uv + Python workspace. The packages below are the product surface used by the shipped fusionkit journey. Legacy governance packages live under legacy/ and are outside the public user path.
Product TypeScript packages
| Source directory | Published package | Responsibility |
|---|---|---|
packages/routekit-cli | @velum-labs/routekit | Independent routekit executable for provider/catalog/account management, gateway serving, and coding-tool launch. |
packages/routekit-config | @velum-labs/routekit-config | RouterConfig discovery, layered loading, validation, atomic writes, and live-model selection/check helpers. |
packages/routekit-router | @velum-labs/routekit-router | Reusable embedded router composition and lifecycle. |
packages/fusion-config | @fusionkit/config | Fusion-only v4 schema, namespaced-model ensembles, prompt loading, and atomic writes. |
packages/cli | @fusionkit/cli | Fusion-only command line. It composes RouteKit SDKs but never depends on @velum-labs/routekit; release tarballs also contain the staged Scope server. |
packages/model-gateway | @velum-labs/routekit-gateway | Product-neutral HTTP gateway, wire dialects, live provider catalogs, namespaced dispatch, and single-call provenance. |
packages/accounts | @velum-labs/routekit-accounts | Supported subscription credentials, multi-account pools, eligibility, and quota-aware relays, plus retained connector internals that are non-contractual RouteKit implementation details. |
packages/fusion-gateway | @fusionkit/gateway | Fusion front-door orchestration, sessions, aggregate cost accounting, trajectories, and managed local-model lifecycle. |
packages/ensemble | @fusionkit/ensemble | Panel orchestration, worktrees, runtime-kernel workflows, judge adapters, and advanced harness tooling. |
packages/runtime-utils | @velum-labs/routekit-runtime | Process/environment/URL safety, cleanup, atomic files, ports, and optional portless service lifecycle. |
packages/harness-core | @velum-labs/routekit-harness-core | Driver/session contracts, events, errors, approvals, status caching, common driver factories, and a ./testing subpath. |
packages/tools | @velum-labs/routekit-tools | Product-neutral launcher contracts, capability registry, launch contexts, and disposer lifecycle. |
packages/tool-registry | @velum-labs/routekit-tool-registry | Canonical product-neutral registry consumed by both the RouteKit and FusionKit CLIs. |
packages/tool-* | @velum-labs/routekit-tool-codex, @velum-labs/routekit-tool-claude, @velum-labs/routekit-tool-cursor, @velum-labs/routekit-tool-opencode | Canonical launcher and driver for each coding tool. |
packages/protocol | @fusionkit/protocol | Model-fusion contracts, schemas, OpenAPI bindings, trace records, and generated SDK bindings. |
packages/workspace | @fusionkit/workspace | Git capture, worktree materialization, output collection, and divergence-safe pull helpers. |
packages/adapter-ai-sdk | @fusionkit/adapter-ai-sdk | Managed MLX server and AI SDK model adapters used by local-model paths. |
packages/kernel | @fusionkit/kernel | Runtime-kernel graph, scheduling, budget, streaming, and outcome primitives. |
Python packages
| Source directory | Published package | Responsibility |
|---|---|---|
python/fusionkit-cli | fusionkit | Internal PyPI runtime that installs only fusionkit-sidecar; the Node package owns the user-facing fusionkit executable. |
python/fusionkit-core | fusionkit-core | Provider-neutral fusion engine, RouteKit client, sidecar config, judge, run manager, artifacts, and metrics. |
python/fusionkit-server | fusionkit-server | Internal FastAPI sidecar with health, trajectory-fusion, and native-run routes; it has no public chat/model front door. |
python/fusionkit-mlx | fusionkit-mlx | Optional MLX launcher utilities. |
python/fusionkit-evals | fusionkit-evals | Separately installed fusionkit-bench, public reports, prompt tuning, Pareto analysis, and hill climbing. |
python/fusionkit-testkit | fusionkit-testkit (unpublished) | RouteKit-upstream simulator and sidecar process fixtures. |
Legacy archive
The Warrant plane, runner, SDK, handoff SDK, compute adapter, and session backends are preserved under legacy/. They are not part of the normal fusionkit codex / fusionkit serve product path.
Adding a new tool
Each coding tool is its own workspace package implementing a ToolIntegration:
- Create
packages/tool-<name>/from an adjacent tool package. - Export a
ToolIntegrationwith alaunch(ctx)implementation. - Add it to
toolIntegrationsin@velum-labs/routekit-tool-registry.
That one canonical entry wires the tool into both CLIs and internal harness
composition through a neutral ToolLaunchSpec; consumers do not keep parallel
imports or lists. The existing integrations are documented under Tools.