Maintainer product map¶
One page for contributors. Users see product nouns; maintainers need paths.
Decision tree — where does new code go?¶
Is it durable Initiatives/Issues/Mission Control for OpenCode?
→ products/gateway (cowork-gateway) — NOT apps/channel-gateway
Is it git-backed Wiki CLI/web/MCP?
→ products/wiki — NOT in-app Knowledge (runtime-host + mcps/knowledge)
Is it chat providers → Cloud (no OpenCode spawn)?
→ apps/channel-gateway + packages/gateway-provider-*
Is it private OpenCode appliance with Gateway Postgres?
→ apps/standalone-gateway
Is it Desktop/Cloud Studio UI or shared renderer?
→ packages/app (+ packages/ui)
Is it Cloud control plane / workers?
→ packages/cloud-server
Is it local OpenCode supervision for Desktop?
→ packages/runtime-host + apps/desktop
Naming matrix (never confuse)¶
| Public name | Path | Bin / image |
|---|---|---|
| Open Cowork Desktop | apps/desktop | installers |
| Open Cowork Cloud | packages/cloud-server + packages/app browser | open-cowork-cloud |
| Channel Gateway | apps/channel-gateway | open-cowork-channel-gateway |
| Standalone Gateway | apps/standalone-gateway | open-cowork-gateway-standalone |
| Gateway (durable) | products/gateway | cowork-gateway |
| Wiki | products/wiki | cowork-wiki |
| Knowledge (in-app) | runtime-host + mcps/knowledge | bundled MCP |
Dependency rules¶
@open-cowork/*libs may be used by apps/products; not the reverse.- No product-to-product implementation imports.
- Compose via MCP / HTTP / config only.
- OpenCode remains execution authority.
Related¶
- ADR product partitions
- Product partitions README (repo root
products/README.md) - Packaging and product modes