| name | deploy-check |
| description | Verify that a web deployment is live and healthy after deploy. Use when deploying to Vercel, Cloudflare Pages, or any hosting provider. Checks HTTP status codes, route availability, SSL certificates, DNS resolution, response times, and critical page content. Use after any deploy, when debugging production issues, or when a user reports a site is down. Do NOT use for local development servers or pre-deploy testing. |
Deploy Check
Verify production deployments are live, routes resolve, and nothing is broken.
Quick Start
Run the deploy check script against a domain:
bash scripts/deploy-check.sh <domain> [routes-file]
<domain> ā the production domain (e.g., clawdefend.com, lawnlens.com)
[routes-file] ā optional file with one route per line to check (defaults to common routes)
What It Checks
- DNS resolution ā domain resolves to an IP
- SSL certificate ā valid, not expired, correct domain
- HTTP status codes ā each route returns expected status (200, 301, etc.)
- Response time ā flags routes slower than 3s
- Critical content ā checks for expected text/elements on key pages
- Redirect chains ā follows and reports redirect hops
- Security headers ā checks for X-Frame-Options, CSP, HSTS
Routes File Format
One route per line. Optional expected status code and content check:
/ 200 "Sign up"
/login 200 "Log in"
/dashboard 302
/api/health 200 "ok"
/pricing 200 "Pro"
/nonexistent 404
If no routes file is provided, checks: /, /login, /signup, /dashboard, /pricing
Output
Prints a summary table:
ā
DNS: clawdefend.com ā 76.76.21.21
ā
SSL: Valid, expires 2026-05-15
Route Status Time Content Result
/ 200 0.4s ā
ā
/login 200 0.3s ā
ā
/dashboard 302 0.2s ā ā
/api/health 200 0.1s ā
ā
/pricing 200 0.5s ā
ā
ā /signup 500 0.8s ā FAIL
Security Headers:
ā
X-Frame-Options: SAMEORIGIN
ā ļø Content-Security-Policy: missing
ā
Strict-Transport-Security: max-age=31536000
Per-Project Route Files
Project-specific route files live in the routes/ directory:
routes/
clawdefend.routes
lawnlens.routes
resumemode.routes
Use them by passing the route file as the second argument:
bash scripts/deploy-check.sh clawdefend.com routes/clawdefend.routes
bash scripts/deploy-check.sh lawnlens.com routes/lawnlens.routes
bash scripts/deploy-check.sh resumemode.com routes/resumemode.routes
Each file defines the exact routes and expected content for that project, so checks are accurate and repeatable.
When to Run
- After every Vercel/Cloudflare deploy
- When a user reports something is broken
- During product launch (run 2-3 times over first hour)
- As part of the product-launch skill checklist (when built)