Creek
/install creek
Creek CLI — Agent Skill
Creek deploys web apps to Cloudflare Workers with a single command. Auto-detects framework, determines render mode (SPA/SSR/Worker), provisions infrastructure.
Agent Rules
- Always use
--jsonfor structured output. Auto-enabled in non-TTY / CI. - Follow
breadcrumbsin JSON responses — they suggest the next command. - Use
--yesto skip confirmation prompts (auto-enabled in non-TTY). - Check
okfield —true= success,false= error witherrorandmessagefields.
Command Reference
| Task | Command |
|---|---|
| Authenticate | creek login |
| Authenticate (CI) | creek login --token \x3CKEY> |
| Check auth | creek whoami --json |
| Init project | creek init --json |
| Deploy | creek deploy --json |
| Deploy directory | creek deploy ./dist --json |
| Deploy from GitHub | creek deploy https://github.com/user/repo --json |
| Deploy monorepo subdir | creek deploy https://github.com/user/repo --path packages/app --json |
| Deploy demo | creek deploy --demo --json |
| Deploy template | creek deploy --template vite-react |
| Skip build | creek deploy --skip-build --json |
| Check status | creek status --json |
| Check sandbox | creek status \x3CSANDBOX_ID> --json |
| Claim sandbox | creek claim \x3CSANDBOX_ID> --json |
| List projects | creek projects --json |
| List deployments | creek deployments --json |
| List deployments (other) | creek deployments --project \x3CSLUG> --json |
| Rollback | creek rollback --json |
| Rollback to specific | creek rollback \x3CDEPLOYMENT_ID> --json |
| Set env var | creek env set \x3CKEY> \x3CVALUE> --json |
| List env vars | creek env ls --json |
| Show env values | creek env ls --show --json |
| Remove env var | creek env rm \x3CKEY> --json |
| Add domain | creek domains add \x3CHOSTNAME> --json |
| List domains | creek domains ls --json |
| Activate domain | creek domains activate \x3CHOSTNAME> --json |
| Remove domain | creek domains rm \x3CHOSTNAME> --json |
| Dev server | creek dev |
Deployment Modes
Authenticated (permanent)
Requires creek login. Deploys persist under the user's account.
creek deploy --json
Sandbox (60-min preview)
No auth required. Temporary preview with claimable URL.
creek deploy --json # auto-sandbox when not logged in
creek claim \x3CSANDBOX_ID> # convert to permanent project
CI/CD
CREEK_TOKEN=ck_... creek deploy --yes --json
JSON Output Format
Every command returns structured JSON with breadcrumbs:
{
"ok": true,
"url": "https://my-app-team.bycreek.com",
"project": "my-app",
"breadcrumbs": [
{ "command": "creek status", "description": "Check deployment status" },
{ "command": "creek deployments --project my-app", "description": "View deployment history" }
]
}
On error:
{
"ok": false,
"error": "not_authenticated",
"message": "Not authenticated. Run `creek login` first.",
"breadcrumbs": [
{ "command": "creek login", "description": "Authenticate interactively" }
]
}
Workflow: First Deploy
creek login --json # 1. Authenticate
creek init --json # 2. Create creek.toml (optional)
creek deploy --json # 3. Deploy
Workflow: Update & Rollback
creek deploy --json # Deploy new version
creek deployments --json # View history
creek rollback --json # Rollback to previous
creek rollback \x3CID> --json # Rollback to specific deployment
Workflow: Custom Domain
creek domains add app.example.com --json # Add domain
# User sets DNS: CNAME app.example.com → cname.creek.dev
creek domains activate app.example.com --json # Activate after DNS
creek domains ls --json # Verify status
creek.toml Reference
[project]
name = "my-app" # Required. Lowercase alphanumeric + hyphens.
framework = "nextjs" # Optional. Auto-detected from package.json.
[build]
command = "npm run build" # Build command (default: npm run build)
output = "dist" # Build output directory
worker = "worker/index.ts" # Optional: custom Worker entry point
[resources]
d1 = true # Cloudflare D1 database → env.DB
kv = true # Cloudflare KV namespace → env.KV
r2 = true # Cloudflare R2 storage → env.BUCKET
ai = true # Cloudflare Workers AI → env.AI
Supported Frameworks
SPA: vite-react, vite-vue, vite-svelte, vite-solid, static HTML SSR: nextjs, react-router, sveltekit, nuxt, solidstart, tanstack-start
Config Detection Order
creek.toml— explicit Creek configwrangler.jsonc/wrangler.json/wrangler.toml— existing CF configpackage.json— framework auto-detectionindex.html— static site
Troubleshooting
| Error | Fix |
|---|---|
| "Not authenticated" | creek login or set CREEK_TOKEN |
| "Invalid API key" | creek login to re-authenticate |
| "No creek.toml found" | creek init or cd to project root |
| "No project found" | Deploy from a dir with package.json or index.html |
| "No supported project found in repo" | Use --path for monorepos |
| Sandbox expired | Redeploy — sandboxes last 60 minutes |
| Domain stuck "pending" | Set CNAME to cname.creek.dev, then creek domains activate |
| Build fails | Check [build] command in creek.toml |
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install creek - After installation, invoke the skill by name or use
/creek - Provide required inputs per the skill's parameter spec and get structured output
What is Creek?
Deploy and manage applications on Creek via the Creek CLI. Covers init, deploy, status, projects, deployments, rollback, env vars, custom domains, and dev se... It is an AI Agent Skill for Claude Code / OpenClaw, with 104 downloads so far.
How do I install Creek?
Run "/install creek" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Creek free?
Yes, Creek is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does Creek support?
Creek is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Creek?
It is built and maintained by Lawrence Lin (@linyiru); the current version is v2.1.0.