Workspace and Repositories¶
Unison uses a multi-repo layout under the project-unisonOS organization, with a recommended workspace for local development.
Workspace Layout¶
The workspace typically contains these repos side-by-side:
- Core control plane services (orchestrator, policy, consent, auth, inference, intent-graph, context-graph).
- Context and storage services.
- Experience and IO services (renderer, shell, agent-vdi, io-core, io-speech, io-vision).
- Devstack, shared docs, common library, base OS images, and optional services such as payments.
See the internal repository map in unison-docs/dev/unison-repo-map.md for a detailed table.
Recommended: Meta-Repo Workflow¶
The meta-repo workflow provides a single entry point:
- Clone the workspace that brings the core repos in as submodules.
- Use workspace scripts to:
- Initialize submodules.
- Start the devstack.
- Run end-to-end smoke tests.
In the current workspace (unison-workspace):
./scripts/bootstrap.sh— initializes and updates all submodules../scripts/up.sh— brings up the devstack viaunison-devstack/docker-compose.yml../scripts/smoke.sh— runs the devstack end-to-end smoke test (HTTP health checks and a basic voice/vision flow).
This keeps versions aligned and makes it easy to run the full stack locally.
Alternative: Side-by-Side Clones¶
Alternatively, you can clone the individual repos side-by-side under a common parent directory:
- Clone the devstack repo and the core services you intend to work on.
- Keep a shared
constraints.txtat the workspace root and point Python services to it. - For each Python service, create a virtual environment, install dependencies, and copy or create
.envfiles.
Use the approach that best fits your workflow; both are supported by the documentation and tools in the workspace.
Repository Directory (links to repo + README)¶
Below is the current workspace directory with direct links to each repo and its README for deep dives.
- unison-workspace — meta repo with submodules and helper scripts (README)
- unison-devstack — Docker Compose for local edge-first stack (README)
- unison-orchestrator — central intent orchestrator + companion manager (README)
- unison-context — encrypted profiles + dashboard state (README)
- unison-context-graph — context traces/recall graph (README)
- unison-intent-graph — intent routing/cache (README)
- unison-experience-renderer — Operating Surface UI (dashboard, shared space) (README)
- unison-shell — lightweight Electron shell UI (README)
- unison-io-core — generic IO ingress/egress (README)
- unison-io-speech — speech IO (STT/TTS) (README)
- unison-io-vision — vision capture/describe (README)
- unison-io-bci — BCI ingest/decoder service (LSL/BLE/serial stubs, decoders, HID, raw snapshots, export) (README)
- unison-io-braille — Braille IO service (device discovery, translators, HID/BT drivers, focus feed, profiles) (README)
- unison-auth — auth service (README)
- unison-consent — consent service (README)
- unison-policy — policy enforcement service (README)
- unison-storage — durable KV/files (README)
- unison-inference — inference gateway (local-first) (README)
- unison-common — shared Python library (README)
- unison-payments — optional payments service (README)
- unison-agent-vdi — VDI agent / renderer proxy (README)
- unison-os — base OS image definitions (README)
- unison-platform — deployment/config/meta platform assets (README)
- unison-comms — communications service (email/unison channels) (README)
- project-unisonos.github.io — public docs site (README)
(If a repo is missing from this list, add it here and ensure its README links to the public docs.)