| name | setup-deploy |
| description | Configure deployment settings for land-and-deploy. Detects your deploy platform (Fly.io, Render, Vercel, Netlify, Heroku, GitHub Actions, custom), production URL, health check endpoints, and deploy commands. Use when: "setup deploy", "configure deployment", "set up land-and-deploy", "how do I deploy".
|
Setup Deploy
Configure deployment so land-and-deploy works automatically. One-time setup per project.
Step 1: Detect Platform
Check for platform indicators in the project:
[ -f vercel.json ] && echo "PLATFORM: vercel"
[ -f netlify.toml ] && echo "PLATFORM: netlify"
[ -f fly.toml ] && echo "PLATFORM: fly"
[ -f render.yaml ] && echo "PLATFORM: render"
[ -f Procfile ] && echo "PLATFORM: heroku"
[ -f Dockerfile ] && echo "PLATFORM: docker"
[ -d .github/workflows ] && ls .github/workflows/*.yml 2>/dev/null | head -3
[ -f wrangler.toml ] && echo "PLATFORM: cloudflare-workers"
[ -f railway.json ] || [ -f railway.toml ] && echo "PLATFORM: railway"
Also check package.json for deploy scripts:
cat package.json 2>/dev/null | grep -A5 '"scripts"' | grep -i "deploy\|ship\|release"
Step 2: Detect Production URL
Try to find the production URL:
cat vercel.json 2>/dev/null | grep -o '"url":[^,}]*'
grep "primary_region\|app\s*=" fly.toml 2>/dev/null
cat package.json 2>/dev/null | grep '"homepage"' | grep -o 'https://[^"]*'
grep -o 'https://[^ ]*\.vercel\.app\|https://[^ ]*\.netlify\.app\|https://[^ ]*\.onrender\.com\|https://[^ ]*\.fly.dev\|https://[^ ]*\.herokuapp\.com' README.md 2>/dev/null | head -1
Step 3: Detect Health Check
for path in /health /healthz /api/health /api/healthz /api/status /_health /ping; do
echo " $path"
done
Ask the user: "What's your health check endpoint? (e.g., /health, /api/healthz)"
Step 4: Configure
Create or update founderclaw/data/deploy-config.json in the project root:
CONFIG_FILE=".founderclaw-deploy.json"
PLATFORM=$(detect_platform)
PRODUCTION_URL=$(detect_url)
cat > "$CONFIG_FILE" << EOF
{
"platform": "$PLATFORM",
"productionUrl": "$PRODUCTION_URL",
"healthCheck": "/health",
"deployCommand": "fly deploy",
"statusCommand": "fly status",
"setupDate": "$(date -u +%Y-%m-%dT%H:%M:%SZ)"
}
EOF
echo "Deploy config written to $CONFIG_FILE"
Platform-Specific Setup
Vercel
vercel --prod
vercel ls
Fly.io
fly deploy
fly status
fly logs
Render
git push origin main
curl -X POST "$RENDER_DEPLOY_HOOK"
Netlify
netlify deploy --prod
netlify status
Heroku
git push heroku main
heroku ps
heroku logs --tail
Docker / Custom
docker build -t myapp .
docker push registry/myapp:latest
ssh server "cd /app && git pull && docker compose up -d"
GitHub Actions
gh workflow run deploy.yml
gh run list --workflow=deploy.yml --limit=1
Step 5: Verify
Test the health check:
PRODUCTION_URL=$(cat "$CONFIG_FILE" | grep -o '"productionUrl":"[^"]*"' | cut -d'"' -f4)
HEALTH_PATH=$(cat "$CONFIG_FILE" | grep -o '"healthCheck":"[^"]*"' | cut -d'"' -f4)
curl -s "$PRODUCTION_URL$HEALTH_PATH" | head -5
If the health check passes, deploy config is ready.
What This Enables
After setup, land-and-deploy can automatically:
- Run tests
- Build the project
- Deploy to your platform
- Wait for health check to pass
- Report success/failure
No more looking up deploy commands every time.
Update Config
To change settings later, edit .founderclaw-deploy.json directly or re-run this skill.