Packages and Monorepo Layout
What each package in the monorepo holds, and why the boundaries matter.
ZYRAXON is a monorepo. Dependencies point one way and only one way: client runtime code may depend on Schema and Protocol but never on Core or Server -- which is what keeps a provider change from rippling into the UI.
Core packages
| Package | Holds |
|---|---|
| packages/schema | The data shapes everything agrees on |
| packages/core | Effects runtime, configuration, database, utilities |
| packages/protocol | The wire types |
| packages/server | HTTP API and server routes |
| packages/zyraxon | The agent: tools, session, MCP, prompts |
| packages/sdk | Generated client |
| packages/sdk-next | Next-generation Effect-TS SDK |
| packages/client | UI state and data layer |
| packages/app | The application shell |
| packages/ui | Design system |
| packages/session-ui | Chat, timeline and composer |
| packages/desktop | Electron shell, TTS, task daemon, packaging |
| packages/llm | Provider definitions and model routing |
| packages/plugin | Plugin system for custom tools |
| packages/cli | Terminal client and Node sidecar |
| packages/tui | Terminal user interface |
The agent package, in detail
| Folder | Contains |
|---|---|
| src/agent | Agent registry, prompts and mode definitions |
| src/tool | Core tools -- bash, read, write, edit, grep, glob and the rest |
| src/x | Domain tools and the control-system classes |
| src/mcp | MCP client, catalog and bundled servers |
| src/session | LLM streaming and session lifecycle |
| src/screen | Vision system |
| src/memory | Eternal memory |
| src/provider | Provider routing and model status |
| src/permission | The layered permission evaluation |
| src/skill | Skill discovery |
Why the Effect runtime
The agent is written against the Effect runtime rather than ad-hoc async control flow. Cancellation, timeouts, retries and resource lifetimes are part of the type of a function instead of something to remember at each call site -- which is why a dropped MCP connection or a timed-out fetch cannot leave a resource dangling.
ℹ
Published to npm
The public packages are published under the
@zyraxon-ai npm scope. See the SDK page for install commands.