The open-source ADE · Apache 2.0

Vibecode on your own server.
Ship from the same tab.

Describe what you need — a shop, a booking page, an internal tool — and watch it come together in a live preview. When it looks right, put it in front of your customers with one click. It runs on your own server, with the AI subscription you already have.

$ curl -fsSL https://blunc.dev/install.sh | sh▍
Runs on your own VPS · your AI subscription · what you need
Build with agentsPoint & commentUI kitShip to ProductionDashboards
Blunc /ember-coffee feat/product-page More
Time MachineDeploy to Production
product-page 0m 42s
Product page for the new single-origin: big hero, grind options, subscribe & save.
Thinking…
Readapp/shop/[slug]/page.tsx
Writecomponents/product-hero.tsx+132
Writecomponents/grind-picker.tsx+64
Editlib/cart.ts+29
Bashnpm run build
Done. /shop/guji has the new hero, a grind picker and Subscribe & save.
Preview · /shop/guji Tell the agent what to build next…
EditOpus 5.5 31% Stop
product-page--ember-coffee.preview.example.com Pick
EMBERShopSubscribeJournal Cart1
NEW HARVEST · LOT 07
claude · product-hero.tsx
Ethiopia
Guji
Peach, jasmine and black tea. Washed, light roast — bright and clean.
Grind
Whole beanEspressoFilterFrench press
Subscribe & save 15%
Every 2 weeks · skip anytime
Add to cart$22.00$18.70
Roasted every MondayFree shipping over $404.9 · 1,240 reviews
EMBERGujiETHIOPIA · 2,100 MLOT 07 · 340 GNEWharvest
How it works

From an empty VPS to Production.
Without opening a terminal again.

01

Install once

One command sets up Docker, Caddy and TLS on a fresh server, then prints your access token.

02

Describe a task

Each task gets its own branch, dev server and database. Chat with Claude Code or Codex; every turn is a checkpoint.

03

Press deploy

Blunc merges, builds, checks, backs up, migrates and switches traffic. If anything fails, it rolls back.

What you need

Three things to start.
None of them bought from us.

01 · AI
Your own
subscription
Claude CodePro or Max plan, or an Anthropic API key
CodexChatGPT Plus or Pro, or an OpenAI API key
opencodecoming soon

Sign in once on the server and every agent runs on your plan. Blunc never resells tokens or charges for usage.

One plan, one person — that’s the providers’ rule, and Blunc keeps to it. For a team, each person signs in with their own plan, or use an API key.
02 · Server
A clean VPS,
from 4 CPU · 8 GB
CPU4 vCPU
Memory8 GB
Disk80 GB SSD
OSUbuntu 22.04+ or Debian 12 · amd64 or arm64

Start from a fresh server. Blunc takes over Docker and ports 80 and 443, so it shouldn’t share the box with anything else.

03 · Domain
One domain,
two records
blunc.example.comA203.0.113.7
*.preview.example.comA203.0.113.7

Point the domain and a wildcard for previews at the server. TLS certificates are issued automatically.

Never set up DNS? Your agent will walk you through it — which records to add at your registrar, and a check that they work.
01 / 03Builddescribe it, see it, shape it
Agents

Any agent.
Same controls.

Claude Code and Codex share one composer. Pick how much the agent may do with ⇧Tab, switch models in the same menu, and Blunc passes the right flags to each CLI.

  • Bring your own subscription. Sign in with your Claude or ChatGPT plan, or use an API key. Blunc never charges for usage
  • Ask, Edit, Plan map to each agent’s own approval modes
  • YOLO is a toggle, not a mode. A small bolt marks the chat; nothing else changes
  • Production still asks. In every mode, a person approves anything that touches Prod
inline-titleclaudecodex
UI kit · inline-title
Tell the agent what to build next…
EditPlanAskEdit Opus 5.5gpt-5-codex 31%
⇧Tab⇧Tab⇧Tab
Ask approve every editEdit edits on its ownPlan reads, never writesYOLO no approvals · Prod still asks
In the workspace

Everything the agent does,
in plain sight.

Envfeat/product-page · .env.local Copy of ProductionClean
DATABASE_URLpostgres://task-db:5432/emberthis task’s Postgres
NEXTAUTH_SECRET••••••••••••••••
NEXT_PUBLIC_APP_URLhttps://product-page--ember-coffee.preview…preview URL
STRIPE_SECRET_KEYsk_live_••••4f2ask_test_••••91c0live key → test key
Values stay on the server, hidden in the UISave & restart dev restarting dev…● dev ready · 1.8s

Env

Each task has its own environment variables, written to .env.local in its worktree. Edit a value and the dev server restarts with it.

  • Copy of Production or clean. Live payment keys are swapped for test keys on the way in
  • Values stay on the server. The UI shows them masked; Production values need a person to change
app/contacts/page.tsx+84
components/contacts-table.tsx+126
prisma/schema.prisma+12

File Radar

Every file the agent touches, live, with its diff.

turn 1restore “add search” →now

Time Machine

A checkpoint per agent turn. Step back to any of them.

Build failed
Type error: Property 'email' is missing
Resolve with AI
Fixed by claude
contacts-table.tsx · preview rebuilt

Error Interceptor

Build errors are caught and handed to the agent in one click.

idnamestatus
1Maya OkaforCustomer
2Jonas LindLead
3Priya RamanCustomer

Database

Browse tables and run SQL against the task’s own Postgres.

Tasks

A task is a branch.
With everything attached.

Start a task and Blunc creates the branch, a git worktree, a dev server with its own URL and a database to match. Chats in the task share all of it.

  • Its own preview URL at branch--project.preview.your-domain
  • Its own database: a copy of main, or a masked sample of Prod
  • One writing agent per task. Other chats read and plan; their edits wait in line
  • main is Production. It only moves after a healthy deploy
  • Your code, your repo. Connect GitHub or GitLab per project: branches are pushed as the agent works, pull or merge requests open from the task
Productionmainfeat/contactsdeploy
worktreedev readydb · copy of main
GitHubGitLabgithub.com/ember/shop
→ feat/product-page → origin
pushed 3 commits · after each agent turn
opened PR #48 · “Product page for Guji”
checks passed · ready to deploy from main
Power tools

Bigger jobs.
Your own tools.

3 sub-agents running in parallelfinished · 41s
ExploreWhere .light / .app-theme is applied Grep "app-theme" components/**preview-bar.tsx:41, kit/page.tsx:3887 tools
ExploreTailwind v4 custom-variant setup Read app/globals.cssno @custom-variant for .light4 tools
generalScreenshot /kit in both themes Bash npx playwright screenshot…light: tokens not applied3 tools

Sub-agents

When the agent fans out, each sub-agent gets a row with its task, its current step and the result. Open one to read its full log; the main chat stays readable.

Skilldesign-reviewin repoloaded automatically · matched “compare with the design”
githubsearch_issues"theme resets on reload"0.8s
postgresqueryselect * from user_prefs limit 50.1s
githubcreate_pull_requestFix theme persistence · closes #1421.4s
Opened PR #143 · Fix theme persistencegithub ↗
in repo.claude/skills · .mcp.jsonBlunc coreyour library · sign-ins in the vault

Skills & MCP

Install Agent Skills from a marketplace or a git repo, connect MCP servers with a sign-in, and turn them on per project. The agent picks them up on its own; you see every call in the chat.

  • Your library lives in Blunc core, projects pick what they use
  • Secrets stay in the server vault. .mcp.json in the repo holds none
  • Allow, Ask or Off for every tool of every server
02 / 03Shipone button, a person presses it
Deploy

One button
to Production.

Deploy to Production runs seven steps and stops at the first failure. Only a person can press it: the agent can ask for a deploy, never start one.

Fails before migrations

Prod and main are untouched. The log goes to the agent with Resolve with AI.

Health check fails

Traffic goes back to the old image automatically. Additive migrations keep your data.

Deploy to Production
feat/contacts → main → Prod · acme-crm.com
Deploy to ProductionDeploying · 1/7Deploying · 2/7Deploying · 3/7Deploying · 4/7Deploying · 5/7Deploying · 6/7Deploying · 7/7Live
1Merge into maintrial merge in a sandbox1s
2Build production imagenext build · docker image41s
3Checkstypecheck · lint · tests27s
4Smoke testkey routes, no 5xx8s
5Back up Prod databasepg_dump4s
6Apply migrations1 migration · additive2s
7Switch traffic, update mainhealth check 60 shealthy
Live on acme-crm.com. main now points at 9f2c41e. Task resources cleaned up.
03 / 03Runlive data and a server you own
Active boards1,284+38 this weekpostgres
API p95212 msvictoria
Page views184K+12% vs last weekclickhouse
claude · writing
Card moves per dayadded
Production only · read-only role · personal data masked for the agent
Dashboards

Ask for a chart.
The agent builds it.

Each project has a dashboard over live Production data. Describe what you want to see; the agent writes the SQL or MetricsQL and the chart, and you add it with one click.

  • Several sources: the project’s Postgres, VictoriaMetrics and remote databases
  • Read-only by construction. The runner runs queries with a SELECT-only role, with time and row limits
  • Personal data masked for the agent and in shared views
Self-hosted

Your server.
Down to the socket.

Blunc is one Docker stack on one Linux VPS, and 4 vCPU with 8 GB of RAM is enough to start. Use a clean server: Blunc takes over Docker and ports 80 and 443, so it shouldn’t share the box with anything else. Agents and dev servers are treated as untrusted from day one.

Token auth, always onOnly a SHA-256 of the token is stored. Previews sit behind the same login.
Only the runner touches DockerAgents and dev envs get no socket and no host mounts outside their worktree.
A policy on every containerNo privileged mode, host network, extra capabilities or foreign mounts.
A human for ProductionAnything that changes Prod waits for a click in the UI.
root@vps — ssh
$ curl -fsSL https://blunc.dev/install.sh | sh
→ host Ubuntu 24.04 · arm64 · 4 vCPU · 8 GB ✓
→ docker engine + compose plugin ✓
→ ports 80 and 443 are free ✓
→ dns *.preview.example.com → 203.0.113.7 ✓
→ caddy on-demand TLS ready ✓
→ stack caddy · web · runner up ✓
Blunc is running at https://blunc.example.com
Access token blunc_7Qm2… shown once, keep it safe
▍

Your agents. Your app, live.
On a server you own.

$ curl -fsSL https://blunc.dev/install.sh | sh▍