360 Secure SkillHub
360 安全技能中心

Creek

该 Skill 提供 Creek CLI 的命令参考与工作流:登录鉴权、项目初始化、部署到 Cloudflare Workers、沙箱预览、查看项目与部署历史、回滚、管理环境变量与自定义域名,并约定 --json 结构化输出和错误排查表。

linyiru
linyiru
热度 42.53
最近更新 2026-05-11 17:38:25
分类:开发依赖:代码执行 / 第三方 API应用场景:DevOps / 工作流

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add creek
Metadata
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 <KEY>
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 <SANDBOX_ID> --json
Claim sandbox creek claim <SANDBOX_ID> --json
List projects creek projects --json
List deployments creek deployments --json
List deployments (other) creek deployments --project <SLUG> --json
Rollback creek rollback --json
Rollback to specific creek rollback <DEPLOYMENT_ID> --json
Set env var creek env set <KEY> <VALUE> --json
List env vars creek env ls --json
Show env values creek env ls --show --json
Remove env var creek env rm <KEY> --json
Add domain creek domains add <HOSTNAME> --json
List domains creek domains ls --json
Activate domain creek domains activate <HOSTNAME> --json
Remove domain creek domains rm <HOSTNAME> --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 <SANDBOX_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 <ID> --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