🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

Creek

by @linyiru

Deploy and manage applications on Creek via the Creek CLI. Covers init, deploy, status, projects, deployments, rollback, env vars, custom domains, and dev se...

Versionv2.1.0
Downloads284
TERMINAL
clawhub install creek

πŸ“– About This Skill


name: creek description: | Deploy and manage applications on Creek via the Creek CLI. Covers init, deploy, status, projects, deployments, rollback, env vars, custom domains, and dev server. Use when the user mentions creek, creek deploy, creek init, or wants to deploy, configure, or troubleshoot a Creek project. license: Apache-2.0 compatibility: Requires Creek CLI (npm install -g creek) metadata: author: solcreek version: "2.1" required-binaries: creek required-env: CREEK_TOKEN

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

1. Always use --json for structured output. Auto-enabled in non-TTY / CI. 2. Follow breadcrumbs in JSON responses β€” they suggest the next command. 3. Use --yes to skip confirmation prompts (auto-enabled in non-TTY). 4. Check ok field β€” true = success, false = error with error and message fields.

Command Reference

| Task | Command | |------|---------| | Authenticate | creek login | | Authenticate (CI) | creek login --token | | 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 --json | | Claim sandbox | creek claim --json | | List projects | creek projects --json | | List deployments | creek deployments --json | | List deployments (other) | creek deployments --project --json | | Rollback | creek rollback --json | | Rollback to specific | creek rollback --json | | Set env var | creek env set --json | | List env vars | creek env ls --json | | Show env values | creek env ls --show --json | | Remove env var | creek env rm --json | | Add domain | creek domains add --json | | List domains | creek domains ls --json | | Activate domain | creek domains activate --json | | Remove domain | creek domains rm --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      # 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  --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

1. creek.toml β€” explicit Creek config 2. wrangler.jsonc / wrangler.json / wrangler.toml β€” existing CF config 3. package.json β€” framework auto-detection 4. index.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 |

πŸ“‹ Tips & Best Practices

| 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 |