Sandbox by default
Docker means a misfired rm -rf or migration is contained. The blast radius is one container, not your workstation or your prod cluster.
Claude Code is the in-terminal agent half. The other half is the boring scaffolding that lets it run safely against your real repos, your real CI, and your real customers.
The stack
Updated · 2026-05-21
Claude Code is the in-terminal interface and tool runner. It's where the human developer and the agent share a context window.
Anthropic Claude with a project-pinned system prompt and a frozen tool surface. We swap the underlying model in deliberate releases, never per-run.
Glama exposes Linear, GitHub, PagerDuty, Datadog, and internal admin tools over MCP so Claude Code calls one interface for everything outside the editor.
Every non-trivial agent run goes inside a Docker container with the minimal toolchain. Mistakes can't escape the container, and runs are repeatable across machines.
Vercel ships the result. Supabase holds per-project state and learned preferences. MongoDB carries the append-only log: every shell command, file edit, and the reasoning behind it.
Docker means a misfired rm -rf or migration is contained. The blast radius is one container, not your workstation or your prod cluster.
Pin the Claude model version per project. New model releases go through a regression set before they touch a live repo — same discipline as a database upgrade.
Combine the Glama tool log and the agent reasoning log in MongoDB and you can reconstruct any change end-to-end: what the agent saw, what it decided, what it did, and what shipped.
The same agent surface that wrote the patch can open the PR, watch the checks, and stage the deploy on Vercel — gated by a human approval, not bypassed.
Repetitive engineering work (codemods, dependency bumps, lint fixes) where humans get bored and miss steps
Tier-2 production incidents where the rote investigation (read logs, check deploys, query DB) is the bottleneck
Internal tools and admin scripts that get written once and then break silently when the schema moves
Test-suite maintenance — generating and pruning tests against a known coverage target
Pros
Cons
Pros
Cons
Pros
Cons
Build per-team Docker images, not one giant image. The smaller the toolchain the agent has, the harder it is for it to make a destructive choice.
Use Glama's scoped tokens for every tool. The agent's GitHub token can open PRs but never merge to main; the deploy token can stage but never promote.
Capture the full transcript and the diff in MongoDB. "What changed and why" is the only artifact that justifies trust over time.
Run a nightly regression suite that replays last week's agent runs against the new model version. Drift catches you before it catches a customer.
Wire Datadog or Sentry into the MCP layer so the agent can read errors directly during an incident, not over Slack.
Keep a hard list of "agent never touches" paths — billing config, secrets, prod migrations — enforced at the container level, not the prompt level.
Industries it fits
Workflows it fits
Claude Code runs in your shell with your permissions. That's fine for exploration, dangerous for production. Docker is the cheap, definite boundary that means a wrong tool call costs you a container restart, not a backup restore.
Secrets never live in the prompt or the agent's memory. They're injected into the container at run time from Vercel or a vault, and the audit log records that they were requested — never the values themselves.
The log writes are async into MongoDB and add a single-digit-millisecond cost per tool call. The slowest part of any agent is the model itself, not the log.
Yes — that's the default. The agent opens the PR, runs the checks, and stops. A human (or another agent with merge authority) approves. The audit log shows every step of that approval chain.
When the workflow is high-context judgment work — system design, customer escalation calls, security postmortems. The agent helps with the boring scaffolding around those, but humans still own the call.
We don't advise on AI. We run it for you.