Comprehensive's internal monorepo for Compadre: agents your team drives from Slack, the browser, or an HTTP API, executing in isolated per-thread Modal environments with one shared, durable conversation.
This repository contains two layers:
- Repo root — the hosted UI/server stack: a divergent fork of
T3 Code serving the Compadre web app
(
compadre.comprehensive.io) and central conversation store. pnpm +vptoolchain. Deploys as Render servicecompadre-web. hosted/compadre/— the Compadre controller: Slack/API ingress, durable run orchestration (Temporal), the Postgres control plane, and per-thread Modal worker fanout (compadre-api.comprehensive.io). Independent npm toolchain. Deploys as Render servicecompadre-api.
- Agent and contributor guidance starts at
AGENTS.md; the controller has its ownhosted/compadre/AGENTS.md. - Cross-stack changes are routed by
.agents/skills/change-compadre-stack/SKILL.md. - Root stack: install
vp(curl -fsSL https://vite.plus | bash), thenvp iandvp run dev. Internals docs start at docs/internals/overview.md. - Controller:
npm installand the npm scripts inhosted/compadre/package.json; docs underhosted/compadre/docs/. - CI: the root stack's
ci.ymlpluscompadre-ci.yml(path-filtered tohosted/compadre/**) andcompadre-monitor-hosted-stack.yml(production probes), all in.github/workflows/. - Deploys: merging
mainauto-deploys the touched services on Render;render.yamlat the root describes the stack.
The root stack forks pingdotgg/t3code (kept as the upstream remote).
Upstream is a merge source only — sync with a plain git merge upstream/main;
hosted/ is never touched by upstream. Our divergence from upstream is
deliberate; see docs/internals/compadre-fork.md
for the fork seams and merge discipline. History before the monorepo merge
lives across the original T3 Code fork history and the imported
hosted/compadre history (formerly comprehensiveio/compadre, now archived
as compadre-archive).