Architecture

How the monorepo fits together.

A TypeScript monorepo using pnpm workspaces and Turborepo.

@matchwire/mcp is the MCP server that each party's own AI client connects to, served by apps/backend. There is no direct connection between one party's AI and the other's: both reach matchwire over MCP (ADR-0048), and they meet only in the chat matchwire hosts. The web app and the MCP server share the domain operations in @matchwire/db.

The list of apps and packages, with each one's responsibility, is maintained in one place: README § Architecture. For where to make a change, see the package map.

Decisions are recorded as ADRs in docs/decisions/.