xiaohongshu
xiaohongshu
adynato-cloudflare
Cloudflare Workers and Pages deployment for Adynato projects. Covers wrangler CLI, reading logs for debugging, KV/D1/R2 storage, environment variables, and common errors. Use when deploying to Cloudflare, debugging workers, or configuring edge functions.
Full skill instructions
Use this skill when deploying Adynato projects to Cloudflare Workers or Pages.
npm install -g wrangler
# Or use npx
npx wrangler <command>
# Interactive login (opens browser)
wrangler login
# Check auth status
wrangler whoami
# Use API token (CI/CD)
export CLOUDFLARE_API_TOKEN="your-token"
# Stream logs from production
wrangler tail
# Stream logs from specific environment
wrangler tail --env staging
# Filter by status
wrangler tail --status error
# Filter by search term
wrangler tail --search "user-123"
# Filter by IP
wrangler tail --ip 192.168.1.1
# JSON output for parsing
wrangler tail --format json
GET https://example.com/api/users - Ok @ 1/17/2026, 10:30:00 AM
(log) Processing request for user-123
(error) Database connection failed
// Workers log to wrangler tail
export default {
async fetch(request: Request, env: Env): Promise<Response> {
console.log('Request received:', request.url)
console.log('Headers:', Object.fromEntries(request.headers))
try {
const result = await doSomething()
console.log('Result:', JSON.stringify(result))
return Response.json(result)
} catch (error) {
console.error('Error:', error.message, error.stack)
return Response.json({ error: 'Internal error' }, { status: 500 })
}
}
}
Always log request context first
console.log(`[${request.method}] ${new URL(request.url).pathname}`)
Log before and after async operations
console.log('Fetching from KV...')
const value = await env.MY_KV.get(key)
console.log('KV result:', value ? 'found' : 'not found')
Use structured logging
console.log(JSON.stringify({
type: 'request',
path: url.pathname,
method: request.method,
timestamp: Date.now()
}))
# Deploy to production
wrangler deploy
# Deploy to specific environment
wrangler deploy --env staging
# Dry run (see what would be deployed)
wrangler deploy --dry-run
# Deploy specific script
wrangler deploy src/worker.ts
# Deploy to Pages
wrangler pages deploy ./dist
# Deploy with specific project
wrangler pages deploy ./dist --project-name=my-site
# Deploy to specific branch
wrangler pages deploy ./dist --branch=preview
name = "my-worker"
main = "src/index.ts"
compatibility_date = "2026-01-17"
# Environment variables (non-secret)
[vars]
API_URL = "https://api.example.com"
NODE_ENV = "production"
# KV Namespaces
[[kv_namespaces]]
binding = "MY_KV"
id = "abc123"
# D1 Databases
[[d1_databases]]
binding = "DB"
database_name = "my-database"
database_id = "def456"
# R2 Buckets
[[r2_buckets]]
binding = "BUCKET"
bucket_name = "my-bucket"
# Durable Objects
[[durable_objects.bindings]]
name = "MY_DO"
class_name = "MyDurableObject"
# Staging environment
[env.staging]
name = "my-worker-staging"
vars = { API_URL = "https://staging-api.example.com" }
[[env.staging.kv_namespaces]]
binding = "MY_KV"
id = "staging-kv-id"
# Add secret (interactive)
wrangler secret put MY_SECRET
# Add secret from stdin
echo "secret-value" | wrangler secret put MY_SECRET
# Add to specific environment
wrangler secret put MY_SECRET --env staging
# List secrets
wrangler secret list
# Delete secret
wrangler secret delete MY_SECRET
Error: No account id found, quitting...
Fix: Add account_id to wrangler.toml or login:
wrangler login
# or
wrangler whoami # to verify auth
# wrangler.toml
account_id = "your-account-id"
Error: worker not found
Fix: Check worker name matches wrangler.toml:
# List all workers
wrangler deployments list
# Check wrangler.toml name field
Error: namespace not found
Fix: Create the namespace first:
# Create KV namespace
wrangler kv:namespace create MY_KV
# Use the returned id in wrangler.toml
Error: Script startup exceeded CPU time limit
Fix:
# Check bundle size
wrangler deploy --dry-run --outdir=./dist
ls -la ./dist
Error: Cannot find binding "MY_KV"
Fix: Ensure binding is in wrangler.toml and matches code:
// Code expects env.MY_KV
interface Env {
MY_KV: KVNamespace // Must match wrangler.toml binding
}
# Create namespace
wrangler kv:namespace create MY_KV
# List namespaces
wrangler kv:namespace list
# Put value
wrangler kv:key put --binding=MY_KV "my-key" "my-value"
# Get value
wrangler kv:key get --binding=MY_KV "my-key"
# List keys
wrangler kv:key list --binding=MY_KV
# Delete key
wrangler kv:key delete --binding=MY_KV "my-key"
# Bulk upload
wrangler kv:bulk put --binding=MY_KV data.json
# Create database
wrangler d1 create my-database
# Execute SQL
wrangler d1 execute my-database --command="SELECT * FROM users"
# Execute SQL file
wrangler d1 execute my-database --file=./schema.sql
# Export database
wrangler d1 export my-database --output=backup.sql
# List databases
wrangler d1 list
# Create bucket
wrangler r2 bucket create my-bucket
# List buckets
wrangler r2 bucket list
# Upload file
wrangler r2 object put my-bucket/path/file.txt --file=./local-file.txt
# Download file
wrangler r2 object get my-bucket/path/file.txt
# Delete file
wrangler r2 object delete my-bucket/path/file.txt
# Start local dev server
wrangler dev
# Dev with specific port
wrangler dev --port 8787
# Dev with local mode (no network to Cloudflare)
wrangler dev --local
# Dev with specific environment
wrangler dev --env staging
# Dev with live reload
wrangler dev --live-reload
name: Deploy to Cloudflare
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install dependencies
run: npm ci
- name: Deploy Worker
run: npx wrangler deploy
env:
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
| Secret | Description |
|---|---|
CLOUDFLARE_API_TOKEN | API token with Workers edit permission |
CLOUDFLARE_ACCOUNT_ID | Optional, can be in wrangler.toml |
When a worker fails:
Check live logs
wrangler tail --status error
Check recent deployments
wrangler deployments list
Rollback if needed
wrangler rollback
Test locally
wrangler dev
Check bindings
wrangler kv:namespace list
wrangler d1 list
wrangler r2 bucket list
Verify secrets
wrangler secret list
xiaohongshu
technical spec
product ux expert
database patterns
Conduct multi-agent task orchestration and workflow coordination.
Initialize project with Conductor artifacts (product definition,
Expert in web animations, transitions, and motion design using Framer Motion and CSS
Creates Mermaid and ASCII diagrams for flowcharts, architecture, ERDs, state machines, mindmaps, and more. Use when user mentions diagram, flowchart, mermaid, ASCII diagram, text diagram, terminal diagram, visualize, C4, mindmap, architecture diagram, sequence diagram, ERD, or needs visual docume...
PostgreSQL bindings for H3 hexagonal grid system. Use when working with H3 cells in Postgres, including spatial indexing, geometry/geography integration, and raster analysis.
Context-Driven Development skill for projects using Conductor. Use this skill when you detect a `conductor/` directory in the project, when working on tasks defined in a `plan.md` file, or when the user asks about tracks, specs, or plans. Automatically applies TDD workflow, tracks task completion...
Display project status, active tracks, and next actions
Official Stakpak application containerization standard operating procedure, a step-by-step guidline to properly dockerize applications. This is a rule book curated by the Stakpak Team.
Generate, edit, and beat-sync AI video with leading models in one workspace.
The world's fastest calendar for remote work
Transform Your Design with AI Designer by ImgCreator.ai
Revolutionizing Video Production with AI-Powered Creativity
Extend an image past the frame and let AI fill the new aspect ratio.
Discover your celebrity doppelgänger with StarByFace!
ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.
Opus.ai: Revolutionize Your Web Experience