QM (yc-software/qm) is a self-hosted AI agent platform that an organization deploys to its own Fly.io or AWS infrastructure, giving the team a shared assistant reachable through both a web UI and Slack. Operators drive the platform through the qm CLI (qm init, qm up, qm doctor), while end users chat via a surface (Slack or browser) and the agent executes skills inside isolated MicroVM sandboxes. Two architectural facts explain most of the rest: src/wiring.ts instantiates every service into a built object that src/index.ts consumes, and every turn flows through the Orchestrator, which routes to a pluggable Harness (claude, codex, opencode, pi, or mock) selected per org and scope. QM requires Node.js >=24.15.0 and npm >=11.10.0; the published @yc-software/qm CLI package sets a slightly looser floor of Node.js >=24.0.0.
Requirements and compatibility states the runtime floor, and Architecture and wiring is the anchor section — it covers Wiring and services, Server entry and lifecycle, Domain types, Skills and resolution, and the Model gateway. The Orchestrator section and its children (Orchestrator types and deps, Turn helpers, Sandbox provisioning, Prompt blocks, Turn behaviors and invariants) describe how a single agent turn is executed, and the Harness framework section plus its per-harness pages (Harness router, Pi harness, Pi tools, Claude harness, OpenCode harness) describe the model-execution substrates that turns dispatch into. Runs and workers covers the background execution layer (Run store, Worker loop, Turn stream), and API layer covers the HTTP surface (HTTP gate and auth, Routes and app assembly). Deployment and configuration documents the Configuration object and Sandbox backends, Deployment and CLI documents the operator-facing qm tool (qm init bootstrapping, qm commands, CLI internals, Deployment providers and layers, CLI package publishing), and Developer workflow plus its CI pipeline child cover running, testing, and shipping changes; Feature notes collects recent additions.
If you came here to understand how the system fits together, read Architecture and wiring first, then Wiring and services and Server entry and lifecycle. If you came here to deploy or operate QM, start with Requirements and compatibility, then qm init bootstrapping and qm commands under Deployment and CLI. If you came here to trace what happens during a single agent turn, read Orchestrator and then follow into Orchestrator types and deps, Turn helpers, and the relevant page under Harness framework. If you came here to contribute code or debug tests, start with Developer workflow and its CI pipeline child.