-
Notifications
You must be signed in to change notification settings - Fork 0
packages
Prime Agent is a two-workspace monorepo: the npm workspace at the root holds the four agent packages under packages/ (@earendil-works/pi-*), and the pnpm workspace under web/ holds the four Qredence web packages (@prime-agent/web-*). The Python kernel shim prime-agent-runtime installs the rlm package separately. The root README's repository-layout table is the canonical package map.
| Package | Purpose |
|---|---|
| AI | LLM provider abstraction, streaming, model registry, OAuth, MCP client |
| Agent core | Small standalone agent runtime: Agent class and turn loop |
| Coding agent | The full harness: CLI, SDK, session runtime, daemon, tools, skills, extensions |
| TUI | Terminal UI engine: differential rendering, components, editor |
| Package | Purpose |
|---|---|
| Web protocol | Wire contract: ChatStreamEvent, zod schemas, provider catalog |
| Web server | HTTP adapter: PrimeBridge, event mapper, ring buffer, handlers |
| Web design | UI kit: agent-elements, fleet-pi chrome, OpenUI renderer |
| Web app | TanStack Start frontend: routes, chat client, hooks |
| Package | Purpose |
|---|---|
| Python runtime | IPython kernel shim: the rlm harness, skills, MCP base |
The web workspace links the in-tree agent packages via pnpm link: overrides (web/pnpm-workspace.yaml), so nested agent deps resolve through the root npm tree. web/server is the only web package that imports @earendil-works/*; browser code in web/app and web/design talks HTTP only. Never add packages/{ai,agent,tui,coding-agent} to web/pnpm-workspace.yaml packages:, they stay npm-only. All agent packages share one lockstep version (0.7.1 at this writing); the web packages are private and versioned separately.
Capabilities that span packages are documented under Features; shared types are under Primitives.