A real dev environment,
in your cluster, in two seconds.
Threaded ships as a Helm chart you install on your own Kubernetes — EKS, GKE, AKS, OpenShift, or self-managed. Each thread runs in an isolated pod inside that cluster, with your repo cloned, dependencies cached, and a long-lived terminal session. Builds, tests, and previews execute against the same workspace the agent is editing. No simulation, no shared multi-tenant plane.
Production-grade isolation per thread.
Every thread is a pod. Every pod is a sandbox. The agent's filesystem, the test runner, the dev server, and the preview all live inside it. Workspaces hibernate when idle and wake on the next message.
Your Kubernetes
One pod per thread, scheduled on your cluster. Region, node pool, and sizing are your call. 2 vCPU / 4 GB is a sensible default; configurable per repo.
Your persistent volumes
Dependencies cached on a per-repo PV in your cluster's storage class. Cold starts only fetch the diff. Average warm boot: 1.2 seconds.
Stable preview URLs
Each thread gets a named subdomain on your ingress — internal-only, VPN-gated, or public, your call. TLS via your cert manager.
GitHub bidirectional
Threads commit via your GitHub App installation. Branches named for the thread ID. The PR opens, updates, and merges from inside the thread.
Bring your own model
Anthropic Claude, OpenAI, or any provider behind an AI Gateway via OpenCode. Your API key, your terms, your training opt-out. Threaded routes; we don't see the prompt.
CRDT sync
The doc, the whiteboard, and the chat are CRDTs. Edits merge offline. Presence shows who is reading and writing.
Read the thread. Run. Post the diff.
The agent is not a one-shot prompt. It reads the brief, the chat history, the doc, and the most recent diffs every time it's called. It plans, executes, runs your tests, and posts results back into the thread.
Comments left on a preview URL or a diff line become inputs on the next run. The agent doesn't need to be re-briefed. It picks up where the team left it.
Each run produces an artifact: run_id, files touched, tests passed, time elapsed. Replayable. Auditable. Permanent.
It plugs into what you ship with already.
GitHub
One PR per thread. Branches named for the thread ID. Required checks gate the merge.
Your CI
Threaded runs your existing pipeline against the workspace. Failures show up inline in the thread.
Vault, 1Password, Doppler
Secrets are mounted into the pod, never read by the agent. Rotated per session.
Figma
Frame links resolve inside chat. Drop a frame on the whiteboard and the agent reads its layers.
Linear, Jira
Threads link bidirectionally to issues. Status updates flow both ways.
Slack
Post a thread to a channel. Replies in Slack post back into the thread, attributed.