Architecture
Rounds is a TypeScript monorepo with distinct package boundaries between UI, API, agents, data access, and adapters.
Package layout
text
common
server-utils
adapters
llm-gateway
data-layer
agent-core
api-gateway
web
cliLayer model
commonis the shared foundation and depends on no other packageserver-utilsadds Node-only primitives (logging, crypto, event bus) on top ofcommonadapters,llm-gateway, anddata-layersit abovecommon+server-utils(llm-gatewayalso uses theadapterserror taxonomy)agent-corecomposesllm-gatewayandadaptersinto the orchestrator, its tool handlers, and the ReAct loopapi-gatewayorchestrates everything server-sidewebconsumes the API and shared types onlycliis packaging: it bundles the server and the built web assets into the published@syntropize/roundsnpm package
For the package-by-package explanation, see ARCHITECTURE.md in the repository root.