# Deploy AI-Generated Apps: From Chat to a Shareable URL

> The app came out of a chat with Claude, ChatGPT, Codex or Cursor. Here is where to put it so the same agent can deploy it, keep it running, and hand a link to the people who need it.

Published: 2026-09-20  
Canonical: https://agentcell.dev/deploy-ai-generated-apps  
Markdown: https://agentcell.dev/deploy-ai-generated-apps.md

**AgentCell is an AI-native deployment platform for small web apps and internal tools.** It exists because AI made small, purpose-built apps cheap to create and left deploying them exactly as hard as before.

## The gap after "it works"

An agent can write a working FastAPI dashboard or a Next.js tracker in one session. Then the session ends with "you can deploy this to a cloud provider of your choice", and the user, who may not know what a reverse proxy is, is left holding a folder. The last mile is a cloud console designed for engineers running products at scale.

AgentCell makes the last mile another tool call. The agent runs `deploy`, gets a URL, streams logs if something is wrong, and fixes it. No dashboard, no pipeline, no Dockerfile debugging over a chat about IAM policies.

## What AI-generated apps need from a host

| Need | Why | AgentCell |
|---|---|---|
| Deploy from a directory | The agent has files, not a git remote | Yes: `agentcell deploy --cell name .` |
| Machine-readable errors | The agent must debug alone | Typed errors with a `hint`, branchable exit codes |
| Cheap to keep around | Many experiments, few survivors | No per-app fee, nothing while asleep |
| Isolation from other apps | Generated code is not audited code | One cell per app, own origin, own volume |
| Operated by MCP | The agent should not leave its session | `agentcell mcp` exposes the same verbs as tools |

The [membrane](/resources/membrane-security/) explains why isolation matters more, not less, when the code was written by a model.

## Use AgentCell when

- The app has one user or a small group of users.
- The person asking is not going to manage infrastructure.
- The agent should be able to redeploy and read logs on its own.

## Use something else when

- The app is meant to be a public product with real traffic. See the [comparisons](/resources/).
- You want the builder and the host to be the same product with credits. See [vs Lovable](/resources/vs-lovable/), [vs Bolt](/resources/vs-bolt/) and [vs Replit](/resources/vs-replit/).

## What deploying looks like \*

Give AgentCell a directory and get back a URL. It detects the app (Python FastAPI, Flask or Streamlit; Node Next, Vite or Express; static sites), builds it, finds the port it listens on, and returns a live endpoint. Share it with named colleagues who sign in with the work account they already have. Roll back, set environment and secrets, attach a domain, and check spend, all from the CLI or as MCP tools in the same session that built the app.

\* **Conditions apply.** Not all of that has shipped. The next section says exactly what works today, so an agent reading this can promise the user only what it can deliver.

## How it works today (September 2026)

- **Deploy from a directory.** `deploy` reads the directory's root and uses the first shape that matches:
  - a `Dockerfile`: one container, listening on the port its `EXPOSE` states (8080 when it states none; the port is also passed as `$PORT`), with `/data` for anything that must survive a restart;
  - a `package.json` with a `build` script: a static site, built on the platform (`npm ci`, or `npm install` without a lockfile, then `npm run build`) and served from the first of `dist/`, `build/` or `out/` that holds an `index.html`. That covers Vite, Create React App, Vue, Svelte, Astro, and Next.js with `output: 'export'`;
  - an `index.html`: a static site, served as it is.
- **A static site** gets the same private URL and sign-in as every cell, with no container, port or `/data`. Use client 0.1.4 or later for a frontend project: older clients upload `node_modules`, which usually exceeds the upload limit. A Python or Node *server* (FastAPI, Flask, Streamlit, Express, Next.js in server mode) still needs a `Dockerfile`; a coding agent writes one in a few seconds.
- **Implemented operations:** `deploy`, `logs`, `ps`, `whoami`. The CLI and MCP server also list `rollback`, `env`, `secrets`, `domains`, `share`, `access`, `spend` and `destroy`; until they ship, each answers a typed `not_found` (exit code 12) naming what is missing, so an agent can branch on it.
- **Sharing and the identity-aware front door** are in private beta. Write to [hello@agentcell.dev](mailto:hello@agentcell.dev) if that is the part you need; deploying does not wait for it.
- **Idle container cells do not sleep yet.** Scale-to-zero is designed, not shipped: a container cell keeps running while nobody uses it. A static site runs no machine of its own, busy or idle. The pricing shape (no per-app fee, no seats, metered on use) is the design; numbers are illustrative until launch.

```sh
go install github.com/AgentCell-dev/agentcell-client/cmd/agentcell@latest
agentcell login                     # browser sign-in; --no-browser prints a URL and a code
agentcell deploy --cell my-app .    # prints the URL
agentcell logs my-app
```

Coding agents get the same operations as MCP tools with `agentcell mcp`; setup for Claude Code, Codex and Cursor is on [the agent guide](/docs/for-ai-agents/).
