Architecture
Workspace Architecture
Repo-level structure, build responsibilities, and documentation boundaries
Workspace Architecture
The repository is organized around one runtime package and multiple product surfaces around it.
Primary Workspaces
packages/downcity/: the runtime package, CLI entry, console process, agent runtime, service system, plugin system, and HTTP routesproducts/console/: the browser control surface built with Vite + Reactproducts/chrome-extension/: the browser extension for sending live page context into agentshomepage/: the marketing site plus both/docsand/devdocsdocs/: historical draft notes that have now been consolidated into/devdocs
Boundary Rules
/docsis user-facing only/devdocsis developer-facing only- Package runtime logic stays in
packages/downcity/ - Product surfaces should consume runtime APIs instead of duplicating runtime logic
Current Architecture Philosophy
consoleowns global governance, not per-agent business executionagentowns a single-project runtime, not cross-project orchestrationserviceowns lifecycle and business workflowpluginis a passive extension layer that attaches through service-defined pointsassetowns low-level dependencies, not workflow logic
Build Relationships
console-ui build -> packages/downcity/public
chrome-extension build -> products/chrome-extension/dist
homepage build -> standalone docs + marketing site
packages/downcity build -> CLI/runtime packageDocumentation Policy
- User-impacting package changes should update
/docs - Implementation, architecture, and design rationale should live in
/devdocs - Historical drafts can stay in
<root>/docs, but/devdocsis the maintained surface