✓ Verified 💻 Development ✓ Enhanced Data

Deploy Agent

Multi-step deployment agent for full-stack.

Rating
4.3 (117 reviews)
Downloads
690 downloads
Version
1.0.0

Overview

Multi-step deployment agent for full-stack.

Complete Documentation

View Source →

deploy-agent

Deploy full-stack applications via a multi-step workflow with human approval at each stage.

Quick Start

bash
# Install via ClawdHub
clawdhub install deploy-agent

# Initialize a new deployment
deploy-agent init my-app

# Check status
deploy-agent status my-app

# Continue through steps
deploy-agent continue my-app

Workflow Steps

StepCommandDescriptionRequires Approval
1deploy-agent init Start deployment✅ Design phase
2deploy-agent build Build app✅ Before testing
3deploy-agent test Test locally✅ Before GitHub
4deploy-agent push Push to GitHub✅ Before Cloudflare
5deploy-agent deploy Deploy to Cloudflare✅ Final

Commands

Initialize Deployment

bash
deploy-agent init my-app
Creates a new deployment state and waits for design input.

Check Status

bash
deploy-agent status my-app
Shows current step, approvals, and deployment info.

Continue

bash
deploy-agent continue my-app
Get guidance on what to do next in the current step.

Build (Step 2)

bash
deploy-agent build my-app
After designing with C.R.A.B, run this to build the app.

Test (Step 3)

bash
deploy-agent test my-app
Verify the app is running locally before pushing.

Push to GitHub (Step 4)

bash
deploy-agent push my-app [repo-name]
Creates GitHub repo and pushes code. Default repo name = app name.

Deploy to Cloudflare (Step 5)

bash
deploy-agent deploy my-app [custom-domain]
Deploys to Cloudflare Pages. Default domain: {name}.sheraj.org

Cancel

bash
deploy-agent cancel my-app
Aborts and cleans up the deployment.

List

bash
deploy-agent list
Shows all active deployments.

Example Session

bash
# 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 Management

State stored in: ~/.clawdbot/skills/deploy-agent/state/{deployment-name}.json

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

Requirements

ToolPurpose
ghGitHub repo creation and management
wranglerCloudflare Pages deployment
gitVersion control
jqJSON parsing (for state management)

Configuration

Cloudflare token should be configured in ~/.wrangler.toml:

toml
[account]
api_token = "your-cloudflare-token"

Notes

  • Each deployment is independent
  • State persists across sessions
  • Human approval required at each major step
  • Use "cancel" to abort anytime

Next.js + Cloudflare D1 Deployment Guide

This section covers common pitfalls and fixes for deploying Next.js apps with D1 on Cloudflare Pages.

Pre-Deployment Checklist

CheckCommandFix if Failed
Next.js versionnpm list nextnpm install [email protected]
Package lock syncrm -rf node_modules package-lock.json && npm installCommit lock file
Cloudflare adapternpm list @cloudflare/next-on-pagesnpm install -D @cloudflare/next-on-pages
wrangler installednpm list wranglernpm install -D wrangler

Required Configuration

1. package.json

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

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)

typescript
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 });
}

Cloudflare Pages Build Settings

SettingValue
Build commandnpx @cloudflare/next-on-pages
Output directory.vercel/output/static
FunctionsEnable (for D1 API routes)

Common Issues & Fixes

IssueErrorFix
Lock file mismatchnpm ci can only install packages when your package.json and package-lock.json are in syncrm -rf node_modules package-lock.json && npm install && git add package-lock.json
Next.js versionpeer next@">=14.3.0 && <=15.5.2" from @cloudflare/next-on-pagesDowngrade to next: "15.5.2"
API routes not edgeThe following routes were not configured to run with the Edge RuntimeAdd export const runtime = 'edge';
D1 access patternUsing context.env.DBUse getRequestContext().env.DB
Missing typesTypeScript errors for D1 bindingsCreate env.d.ts with CloudflareEnv interface

CSS Fix (Scrollbar Flicker)

css
html {
  overflow-x: hidden;
  scrollbar-gutter: stable;
}
body {
  overflow-x: hidden;
}

Post-Deployment

  • Cloudflare Dashboard → Settings → Functions
  • Add D1 binding: Variable name DB → Select your database

Reference Documents

  • Full guide: docs/issues/nextjs-cloudflare-d1-deployment.md
  • Cloudflare docs: https://developers.cloudflare.com/pages/framework-guides/nextjs/

Installation

Terminal bash

openclaw install deploy-agent
    
Copied!

💻Code Examples

deploy-agent continue my-app

deploy-agent-continue-my-app.txt
## Workflow Steps

| Step | Command | Description | Requires Approval |
|------|---------|-------------|-------------------|
| 1 | `deploy-agent init <name>` | Start deployment | ✅ Design phase |
| 2 | `deploy-agent build <name>` | Build app | ✅ Before testing |
| 3 | `deploy-agent test <name>` | Test locally | ✅ Before GitHub |
| 4 | `deploy-agent push <name>` | Push to GitHub | ✅ Before Cloudflare |
| 5 | `deploy-agent deploy <name>` | Deploy to Cloudflare | ✅ Final |

## Commands

### Initialize Deployment

deploy-agent init my-app

deploy-agent-init-my-app.txt
Creates a new deployment state and waits for design input.

### Check Status

deploy-agent status my-app

deploy-agent-status-my-app.txt
Shows current step, approvals, and deployment info.

### Continue

deploy-agent continue my-app

deploy-agent-continue-my-app.txt
Get guidance on what to do next in the current step.

### Build (Step 2)

deploy-agent build my-app

deploy-agent-build-my-app.txt
After designing with C.R.A.B, run this to build the app.

### Test (Step 3)

deploy-agent test my-app

deploy-agent-test-my-app.txt
Verify the app is running locally before pushing.

### Push to GitHub (Step 4)

deploy-agent push my-app [repo-name]

deploy-agent-push-my-app-repo-name.txt
Creates GitHub repo and pushes code. Default repo name = app name.

### Deploy to Cloudflare (Step 5)

deploy-agent deploy my-app [custom-domain]

deploy-agent-deploy-my-app-custom-domain.txt
Deploys to Cloudflare Pages. Default domain: `{name}.sheraj.org`

### Cancel

deploy-agent cancel my-app

deploy-agent-cancel-my-app.txt
Aborts and cleans up the deployment.

### List

deploy-agent list

deploy-agent-list.txt
Shows all active deployments.

## Example Session

Tags

#git_and-github

Quick Info

Category Development
Model Claude 3.5
Complexity Multi-Agent
Author sherajdev
Last Updated 3/10/2026
🚀
Optimized for
Claude 3.5
🧠

Ready to Install?

Get started with this skill in seconds

openclaw install deploy-agent