C.R.A.B Deploy Agent
Multi-step deployment agent for full-stack apps. Build → Test → GitHub → Cloudflare Pages with human approval at each step.
Multi-step deployment agent for full-stack apps. Build → Test → GitHub → Cloudflare Pages with human approval at each step.
Real data. Real impact.
Emerging
Developers
Per week
Open source
Skills give you superpowers. Install in 30 seconds.
Deploy full-stack applications via a multi-step workflow with human approval at each stage.
# Install via ClawdHub clawdhub install deploy-agentInitialize a new deployment
deploy-agent init my-app
Check status
deploy-agent status my-app
Continue through steps
deploy-agent continue my-app
| Step | Command | Description | Requires Approval |
|---|---|---|---|
| 1 | | Start deployment | ✅ Design phase |
| 2 | | Build app | ✅ Before testing |
| 3 | | Test locally | ✅ Before GitHub |
| 4 | | Push to GitHub | ✅ Before Cloudflare |
| 5 | | Deploy to Cloudflare | ✅ Final |
deploy-agent init my-app
Creates a new deployment state and waits for design input.
deploy-agent status my-app
Shows current step, approvals, and deployment info.
deploy-agent continue my-app
Get guidance on what to do next in the current step.
deploy-agent build my-app
After designing with C.R.A.B, run this to build the app.
deploy-agent test my-app
Verify the app is running locally before pushing.
deploy-agent push my-app [repo-name]
Creates GitHub repo and pushes code. Default repo name = app name.
deploy-agent deploy my-app [custom-domain]
Deploys to Cloudflare Pages. Default domain:
{name}.sheraj.org
deploy-agent cancel my-app
Aborts and cleans up the deployment.
deploy-agent list
Shows all active deployments.
# Start new deployment $ deploy-agent init my-blog 🚀 Deployment initialized: my-blog Step 1: Design your app with C.R.A.B... design phase with C.R.A.B ...
$ deploy-agent build my-blog 🚀 Build complete! Step 2: Local Testing Start dev server: cd my-blog && npm run dev
... test locally ...
$ deploy-agent push my-blog 🚀 GitHub repository ready! Say 'deploy-agent deploy my-blog' to deploy to Cloudflare
$ deploy-agent deploy my-blog my-blog.sheraj.org 🎉 Deployment complete! App live at: https://my-blog.sheraj.org
State stored in:
~/.clawdbot/skills/deploy-agent/state/{deployment-name}.json
{ "name": "my-blog", "step": 5, "status": "deployed", "created_at": "2026-01-18T08:00:00Z", "repo_url": "https://github.com/user/my-blog", "domain": "https://my-blog.sheraj.org" }
| Tool | Purpose |
|---|---|
| GitHub repo creation and management |
| Cloudflare Pages deployment |
| Version control |
| JSON parsing (for state management) |
Cloudflare token should be configured in
~/.wrangler.toml:
[account] api_token = "your-cloudflare-token"
This section covers common pitfalls and fixes for deploying Next.js apps with D1 on Cloudflare Pages.
| Check | Command | Fix if Failed |
|---|---|---|
| Next.js version | | |
| Package lock sync | | Commit lock file |
| Cloudflare adapter | | |
| wrangler installed | | |
1. package.json
{ "dependencies": { "next": "15.5.2", "react": "^18.3.1", "react-dom": "^18.3.1" }, "devDependencies": { "@cloudflare/next-on-pages": "^1.13.16", "wrangler": "^4.x" } }
2. wrangler.toml
name = "my-app" compatibility_date = "2026-01-18" compatibility_flags = ["nodejs_compat"][[d1_databases]] binding = "DB" database_name = "my-db" database_id = "your-db-id"
3. API Routes (each file)
import { getRequestContext } from '@cloudflare/next-on-pages';export const runtime = 'edge';
export async function GET() { const { env } = getRequestContext(); const { results } = await env.DB.prepare("SELECT * FROM tasks").all(); return Response.json({ data: results }); }
| Setting | Value |
|---|---|
| Build command | |
| Output directory | |
| Functions | Enable (for D1 API routes) |
| Issue | Error | Fix |
|---|---|---|
| Lock file mismatch | | |
| Next.js version | from @cloudflare/next-on-pages | Downgrade to |
| API routes not edge | | Add |
| D1 access pattern | Using | Use |
| Missing types | TypeScript errors for D1 bindings | Create with CloudflareEnv interface |
html { overflow-x: hidden; scrollbar-gutter: stable; } body { overflow-x: hidden; }
DB → Select your databasedocs/issues/nextjs-cloudflare-d1-deployment.mdNo automatic installation available. Please visit the source repository for installation instructions.
View Installation Instructions1,500+ AI skills, agents & workflows. Install in 30 seconds. Part of the Torly.ai family.
© 2026 Torly.ai. All rights reserved.