Architecture
Cadence is a Bun + TypeScript monorepo. Linux desktop is the 0.1 ship target. Three domains work together: the assistant runtime, native clients, and the gateway.
Assistant runtime
assistant/ owns conversation history, attachments, and channel delivery in local SQLite. It exposes a Unix domain socket for the CLI and desktop, plus HTTP that the gateway consumes. Users and CLI help call this the assistant.
Clients
clients/linux/ is the Electron shell for 0.1 (AppImage + deb). clients/web/ is the shared UI. Windows, Android, and Apple come after Linux. macOS computer-use (Accessibility + CGEvent) is not the Linux path.
Gateway
gateway/ is the public ingress for webhooks and callbacks (Telegram, Twilio, OAuth). It can reverse-proxy the assistant HTTP API. Trust rules in Docker mode live here, not on the assistant disk.
Credentials
CES (credential execution service) holds keys. The assistant and gateway call CES over HTTP or the local socket. They do not read keys.enc from disk.
Tree (short)
assistant/ runtime + CLI socket + HTTP
gateway/ channel ingress
cli/ multi-assistant CLI
clients/linux Electron 0.1
clients/web shared UI
skills/ portable first-party skills
packages/ shared contracts
Maintainer detail stays in-repo (ARCHITECTURE.md, assistant/docs/). This page is the public map.