One command, zero config. Creek provisions the database, cron, queues, and WebSockets — use any ORM, or bring your own DB. Free to start.
no signup · live in seconds · Claude + Codex + Cursor ready
or import from GitHub →
01
WebSocket sync, optimistic updates, multi-user rooms. Zero boilerplate.
import { db } from "creek";
import { room } from "creek/hono";
app.use("/api/*", room());
app.get("/api/todos", async (c) => {
return c.json(
await db.query("SELECT * FROM todos WHERE room_id = ?", c.var.room)
);
});
app.post("/api/todos", async (c) => {
const { text } = await c.req.json();
await db.mutate(
"INSERT INTO todos (room_id, text) VALUES (?, ?)",
c.var.room, text
);
return c.json({ ok: true });
});db.mutate() auto-broadcasts to all connected clients. No WebSocket code.
02
creek.toml is optional. Creek reads your framework config, package.json, wrangler files — or just an index.html — and works it out. Framework, bindings, build command, output dir: inferred from what's already in your repo. Add a creek.toml only when you need triggers or explicit overrides.
React (Vite)
$ creek deploy
Detected: vite-react
Building...
Output: dist/
Live in 8.3s →
Vue (Vite)
$ creek deploy
Detected: vite-vue
Building...
Output: dist/
Live in 7.9s →
Svelte (Vite)
$ creek deploy
Detected: vite-svelte
Building...
Output: dist/
Live in 6.4s →
Astro
$ creek deploy
Detected: astro
Building...
Output: dist/
Live in 6.7s →
03
We grew up on those platforms. They taught us what great deploy DX looks like — git push, PR previews, framework detection, env vars in the dashboard. Creek keeps all of it. The bill is different. The license is different. Everything else should feel familiar.
git push deploys.Nothing new to learn. Your muscle memory transfers.
See the Frameworks section below for the full maturity tiers.
The point of Creek. The cost shape is structurally different, not marginally different.
04
Vite, React, Vue, Svelte, Astro, TanStack Start, React Router, Hono, static sites — zero config. Next.js via our adapter (WIP). Every framework written up honestly below.
Detected from package.json + vite.config. Deploy with no flags.
Works today. Server build for SvelteKit / Nuxt is experimental.
Routed through @solcreek/adapter-creek, currently via an OpenNextJS workaround.
05
Remote MCP server, JSON output on every command, installable agent skills, and the Agent Challenge protocol so verified agents skip CAPTCHAs. All shipping today.
{
"mcpServers": {
"creek": {
"url": "https://mcp.creek.dev/mcp"
}
}
}Add one line. Any AI agent can deploy. No CAPTCHAs — verified via Agent Challenge.
{
"ok": true,
"url": "https://a1b2.creeksandbox.com",
"deployDurationMs": 9234,
"mode": "sandbox"
}Structured output. No parsing needed.
$ npx skills add solcreek/skills
# Installs the "creek" skill into # Claude Code, Cursor, Copilot, # Gemini CLI, OpenCode, …
Agents get the full CLI reference, deployment modes, trigger schema, and troubleshooting tree — loaded on demand via the open Agent Skills standard.
Apache 2.0 · maintained at solcreek/skills
06
Your app runs on 300+ edge locations. Millisecond cold starts, global TTFB.
07
Apache 2.0. Self-host on your own Cloudflare account. We're honest: Creek is built on Cloudflare Workers, so you're ultimately locked to Cloudflare. The point is you're not locked to us — your code keeps working if you eject to raw wrangler, because Creek deploys standard CF primitives, not proprietary ones.
Use it, modify it, self-host it. Full source on GitHub.
Run Creek on your own Cloudflare account with a single command.
Creek deploys standard Cloudflare primitives. Your code runs on raw wrangler too.
Three modes: use Creek's built-in db, layer Drizzle or Prisma on Creek's auto-provisioned D1, or connect Neon / Supabase / any external database. Your data, your ORM, your choice.
From CLI to live URL on the global edge.
Push to main. Preview URLs on every pull request. Commit status in the diff.
db.mutate() auto-broadcasts. useLiveQuery() auto-refetches.
Schedule background jobs in creek.toml. No extra services.
Per-project queue, auto-provisioned. Producer + consumer wired up.
Requests, errors, p50/p99 latency. Cron execution log.
Automatic SSL. One CLI command to set up.
Encrypted at rest, injected at runtime.
React, Vue, Svelte, Astro, Solid — auto-detected.