Karta’s north star is that shipping a harness application feels like shipping a web app to Heroku — and, like Heroku, the result of a deploy is a live URL something can talk to.Documentation Index
Fetch the complete documentation index at: https://docs.karta.sh/llms.txt
Use this file to discover all available pages before exploring further.
What “deploy” means here
A deploy does two things: it publishes a new, immutable, versioned release of your harness app — the skills, tools, sub-agents, and context files — and it runs that release in an isolated sandbox behind the project’s URL. The harness (Claude Code, OpenCode) is the runtime inside the sandbox; the release is what it loads. “Going live” is pointing the project’s active marker at the new release so the next session runs against it. That framing drives the properties you want:Immutable, versioned
Every push produces
v1, v2, … tied to a commit SHA. Never mutated in
place.Atomic activation
Going live is a
current_release pointer flip — so rollback is a flip back.Zero-interruption cutover
In-flight sessions finish on their release; the next session gets the new
one. No forced disconnects, no Karta redeploy.
Preview per PR
A pull request gets its own ephemeral, auto-expiring release — a review app
for agents.
Harness-native artifact
The package is the harness’s own layout; the only Karta-specific file is an
optional
karta.toml for build hints.Stable per-project URL
The first publish assigns a durable URL. New releases change the code behind
it — never the URL.
The end-to-end loop
Develop locally
Edit your harness app — add a skill, tweak
CLAUDE.md, define a sub-agent.
Iterate with karta dev.Push & publish
git push karta to deploy (the remote karta init
set up), or open a PR for a preview. Karta packages the repo and publishes
it with an auth token; the first publish creates the project and assigns its
URL, later publishes add versions. You can also drive this from your own
pipeline — see the CI example.Karta builds
Karta allocates the next version and materializes the artifact, classifying
it as
dockerfile, buildpack, or file_copy from your
karta.toml.Activate
On a successful production build, Karta flips
current_release atomically
and records an audit event. A PR build becomes a time-boxed preview instead.Serve & consume
The project URL speaks the session API — create a
session, send, stream — the same shape a local Claude Code / OpenCode
session uses. A frontend (e.g. an embedded chat widget) opens a session and
drives it through agent UX.
Roll back if needed
Flip
current_release back to a prior release; the next session reverts.
The URL is unaffected. See Releases & rollback.