Skip to content

Let your AI agent ship all the way to production,without reviewing every command.

Connected to while over MCP, it deploys the app and everything it needs. You only approve sensitive actions, like deleting a production database.

To paste into your agentRead while.sh/agents, then deploy my app with while.

Claude

  1. You: I’d like to show my scheduling app. Deploy it with while.
  2. Claude: I’m deploying it, with its database and the morning import.
  3. Authorize an agentwhile · A new projectAuthorized
  4. Claude: It’s live.Visit scheduleplanning.acme.com
  5. You: Connect the import to Pennylane.
  6. Claude: I declared Pennylane, read only. Enter the key in while. I will never see it.PennylaneRead only · declared by Claude
  7. You: Add a CSV export.
  8. You: The export doesn’t work.
  9. Claude: I’m checking the app’s logs and errors.
  10. Claude: Version 2 breaks the export. I’m rolling back to version 1.
  11. Claude: It’s rolled back. I’ll fix the export before deploying it again.
  12. You: What did you do this week?
  13. Claude: It’s all in while’s activity log.

Acme/planningOverview

France automatic copy trial restore Visit schedulewebfor the other services12 requests in 15 min95% under 120 ms Visit importimport-visitesscheduled job · every day at 07:00 main databasePostgreSQL 16up to 1 GiB Backupsevery day at 03:00kept 14 days Restore test4 tables checked
France 184 in 15 min automatic copy trial restore The Acme team Visit schedulewebopen to the organization184 requests in 15 min95% under 180 ms Visit importimport-visitesscheduled job · every day at 07:00 main databasePostgreSQL 16up to 1 GiB Backupsevery day at 03:00kept 14 days Restore test4 tables checked
France 184 in 15 min 1,284 calls in 24 h automatic copy trial restore The Acme team Visit schedulewebopen to the organization184 requests in 15 min95% under 180 ms Visit importimport-visitesscheduled job · every day at 07:00 main databasePostgreSQL 16up to 1 GiB Data sourcePennylane Backupsevery day at 03:00kept 14 days Restore test4 tables checked

planning.acme.com

Visit schedule

IFMBLD
MonTueWedThuFri 9:0010:0011:0014:0015:0016:00 IF9:00MB11:00LD15:00MB15:00LD10:00IF14:00IF10:00MB16:00

Inès, Malik and Léa opened it this morning

  1. Your agent deploys the app

  2. You enter the key, not your agent

  3. Your agent rolls back to the previous version

  4. You see everything your agent does

Copy the instructions

To paste into your agent

Works with

Click your agent to copy its instructions.

Hosted in Franceby Nextmap

Your agent does the work, you stay in charge

Not one more line of server config to write

Your agent declares what the app needs, and each deployment creates the rest: database, jobs, storage, domain.

  • Node, Python and Go build without a Dockerfile, other languages with yours.
  • For Rails, Laravel, Spring, .NET or Rust, your agent gets a template Dockerfile.
  • A push to the main branch on GitHub or GitLab ships to production, and a pull request opens a preview.

A broken version doesn’t stay live

while automatically withdraws a version that fails its health check, and your agent reads the errors to fix it.

  • An error rate that climbs in the following minutes withdraws it too.
  • A scheduled job that fails warns your agent.

A failed deployment is undone in a second

For 30 minutes, a rollback switches traffic at once, and your database is restored separately, to a precise moment.

  • After 30 minutes, the previous version comes back in a few seconds.
  • Every day, one backup of each production database is restored separately and checked.
  • Backups are kept for 14 days.

You stop reviewing every command

Your agent moves forward without waiting for you, and only sensitive actions wait for your approval. Your rules say who approves what.

  • Deleting or restoring a production database always waits for a person.
  • An agent never approves.
  • The plan of a change can be read before it applies.

Your keys no longer go through your agent

The key to an external API is entered in while. Your app uses it without reading it, and your agent never sees it.

  • Every call is logged.
  • A write to the API (create, update, delete) is refused until a person has approved the rule that allows it.

A compromised app can’t reach the others

Each app runs in its own sandbox, and a serious vulnerability in its dependencies warns your agent, which can update them.

  • Each app’s outbound traffic to the internet is closed by default.
  • Each build runs in its own virtual machine.

Everything an app needs, ready for your agent

Your agent declares what it needs in while.yaml, and the rest is there by default.

Applications

Web service
Your code runs as is, in Node, Python, Go or with your Dockerfile.
Worker
Your background jobs run all the time, and never run twice during a deployment.
Scheduled job
Your scripts start on time, in your time zone.
Static site
Your site loads fast, served with an HTTP cache.
Prebuilt image
Your CI builds, and your agent deploys the image as is.
Sleep
An app that is rarely used can go to sleep, and wakes up on the first request.

Data

PostgreSQL
Your database is backed up continuously, with a standby instance on request.
Valkey
Your pages get faster with a Redis-compatible cache, protected by a password.
Object storage
Your files go into encrypted S3 buckets, with their versions.
Another project’s database
An app reads another app’s data, in production, read only, after approval.

Network

Domain
Your app has its HTTPS address, or your own domain, verified by DNS.
Private network
Your services talk to each other without going through the internet.
External APIs
Your app uses your other tools without a key in the code, and every call is logged.
Cloud access
Your production apps reach Google Cloud or Azure without any key to keep.
Outbound traffic
The internet stays closed to your app, except where you open it.

Observability

Logs
What each service writes is kept and searchable, by you and by your agent.
Metrics
You see the requests, errors and response times of each version.
Errors
Plug in any Sentry SDK, and errors arrive grouped.
OpenTelemetry
Your code’s traces arrive with its logs and metrics.

Security

Variables and secrets
Your secrets stay in an encrypted vault, never in the code.
Internal access
An internal app opens with the company account.
Roles
Everyone has their own permissions, down to a table, and so do your agents.
Isolation
Each app runs without privileges, never as root.
Known vulnerabilities
Your app’s known vulnerabilities are spotted at every deployment, then every day.

Versions

Plan
You see what will change before it changes.
Rollback
The previous version comes back in a few seconds.
Previews
Each branch has its preview, which disappears on its own.
Git repository
Each project has its repository at while, where your agent pushes the code.

Questions

Getting started

Which agents does it work with?

Every agent that connects over MCP: Claude Code, Codex, Cursor or Gemini CLI in a terminal, Claude, ChatGPT or Mistral Vibe in their app.

How does my agent deploy on its own?

You paste the instructions into it. It connects to while over MCP, with OAuth, then deploys and reads the app’s state.

Next.js, FastAPI, PostgreSQL: does it work?

Yes, Node, Python and Go are detected by default, and your agent declares the PostgreSQL database. Each case has its guide: the guides.

What about a Docker container, or a bot that runs all the time?

Yes, a Dockerfile is enough, and a worker runs all the time without a public address.

Rails, Laravel, Spring or .NET: does it work?

Yes, your agent starts from the template Dockerfile provided for each, as in the guide Ruby on Rails and PostgreSQL.

Can I start from my GitHub repository?

Yes, with GitHub or GitLab: every push to the main branch deploys, and every pull request opens a preview.

Control

Why while rather than another PaaS?

Your agent does everything there over MCP, and sensitive actions wait for a person before they run, not after. Your keys stay out of its reach.

Can my agent delete my production database?

No: on while, replacing or destroying a production database always waits for a person’s approval.

How do I know what my agent changed?

Everything goes to the activity log, signed and exportable.

Can my agent read my database?

Yes, it reads it in SQL, read only, with your permissions on the data.

Can several of us work on it, with contractors?

Yes, everyone has their role, and your rules say who approves what.

Your data

Where does my app run?

On while, your app is hosted in France, by Nextmap, a French company.

I’m on Heroku, Render or Railway: how do I move?

Your agent takes over the code, restores the database from a pg_dump export with a job, and carries over your environment variables.

Can I leave with my code and my data?

Yes, your code stays in your repository, your agent exports your tables as CSV, and the rest is handed over to you on request.

Connect your agent, it takes care of the rest

To paste into your agent

Read while.sh/agents, then deploy my app with while.

Copy the instructions

No account needed to try: your app is live right away. To keep it, sign in.

A project for your company? Talk to the team: hello@while.sh