replit-prod-checklist
Provides a comprehensive checklist for Replit production deployments, including configuration, secrets management, and health monitoring.
Install
mkdir -p .claude/skills/replit-prod-checklist && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/6896" && unzip -o skill.zip -d .claude/skills/replit-prod-checklist && rm skill.zipInstalls to .claude/skills/replit-prod-checklist
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Execute Replit production deployment checklist with rollback and healthKey capabilities
- →Configure the .replit deployment section
- →Set up secrets in the Replit Secrets tab
- →Implement a /health endpoint to check dependencies
- →Add a global error handler for uncaught exceptions
- →Deploy Replit apps via UI or .replit config
- →Set up custom domains for deployed applications
How it works
This skill guides developers through a multi-phase checklist for moving Replit projects to production environments. It covers environment configuration, secret synchronization, health checks, and essential rollback procedures.
Inputs & outputs
When to use replit-prod-checklist
- →Deploy Replit apps to production
- →Verify production configuration settings
- →Implement rollback and monitoring procedures
- →Validate secrets and environment variables
About this skill
Replit Production Checklist
Overview
Complete checklist for deploying Replit apps to production using Autoscale or Reserved VM deployments. Covers configuration, secrets, health checks, custom domains, rollback procedures, and monitoring.
Prerequisites
- Replit Core, Pro, or Teams plan (deployment access)
- App tested and working in Workspace
- PostgreSQL database provisioned (if needed)
- Custom domain (optional) with DNS access
Production Deployment Checklist
Phase 1: Configuration
-
.replitdeployment section configured:
[deployment]
run = ["sh", "-c", "npm start"]
build = ["sh", "-c", "npm ci --production && npm run build"]
deploymentTarget = "autoscale" # or "cloudrun" for Reserved VM
-
replit.nixincludes only required system packages (trim dev-only deps) -
NODE_ENVset to"production"in.replitenv section - Port reads from
process.env.PORT
Phase 2: Secrets
- All secrets configured in Replit Secrets tab
- Secrets sync enabled (Workspace <-> Deployment)
- No hardcoded credentials in source code
- Startup validates all required secrets:
const REQUIRED = ['DATABASE_URL', 'JWT_SECRET'];
const missing = REQUIRED.filter(k => !process.env[k]);
if (missing.length) {
console.error(`FATAL: Missing secrets: ${missing.join(', ')}`);
process.exit(1);
}
Phase 3: Health Check
-
/healthendpoint exists and checks dependencies:
app.get('/health', async (req, res) => {
const checks = {
db: false,
uptime: process.uptime(),
memory: Math.round(process.memoryUsage().heapUsed / 1024 / 1024),
};
try {
await pool.query('SELECT 1');
checks.db = true;
} catch {}
const status = checks.db ? 200 : 503;
res.status(status).json({ status: status === 200 ? 'healthy' : 'degraded', ...checks });
});
- Health endpoint does NOT expose secrets or internal paths
- Health endpoint responds within 5 seconds
Phase 4: Error Handling
- Global error handler catches uncaught exceptions:
// Never expose stack traces in production
app.use((err: Error, req: Request, res: Response, next: NextFunction) => {
console.error('Unhandled error:', err.message);
res.status(500).json({
error: process.env.NODE_ENV === 'production'
? 'Internal server error'
: err.message,
});
});
process.on('uncaughtException', (err) => {
console.error('Uncaught exception:', err.message);
process.exit(1);
});
process.on('unhandledRejection', (reason) => {
console.error('Unhandled rejection:', reason);
});
- Rate limiting on public endpoints
- Input validation on all user data (Zod, Joi, or manual)
Phase 5: Deploy
Via Replit UI:
- Click "Deploy" button in top bar
- Choose type:
- Static: Frontend-only (HTML/CSS/JS), free
- Autoscale: Scales to zero, pay per request (best for variable traffic)
- Reserved VM: Always-on, fixed cost (best for consistent traffic)
- Select machine size (0.25-8 vCPU)
- Click "Deploy"
Via .replit config (automatic on push):
[deployment]
run = ["sh", "-c", "node dist/index.js"]
build = ["sh", "-c", "npm ci --production && npm run build"]
deploymentTarget = "autoscale"
Phase 6: Custom Domain
1. Deployment Settings > Custom Domain
2. Enter domain: app.example.com
3. Add DNS record at your registrar:
CNAME: app -> your-repl-slug.replit.app
4. Wait 1-5 minutes for SSL auto-provisioning
5. Verify: curl -I https://app.example.com
For Replit-purchased domains: manage DNS directly in Replit dashboard.
Phase 7: Post-Deploy Verification
set -euo pipefail
DEPLOY_URL="https://your-app.replit.app"
# Health check
curl -sf "$DEPLOY_URL/health" | jq .
# Response time
curl -s -o /dev/null -w "HTTP %{http_code}, %{time_total}s\n" "$DEPLOY_URL/"
# Headers check
curl -sI "$DEPLOY_URL" | grep -iE "(server|content-type|x-)"
Phase 8: Rollback Plan
Replit Deployments support one-click rollback to any previous successful deployment:
- Go to Deployment Settings > History
- Find the last known-good deployment
- Click "Rollback to this version"
- Verify health endpoint after rollback
Monitoring Recommendations
| Signal | Warning | Critical |
|---|---|---|
| Health check | 1 failure | 3 consecutive failures |
| Response time (p95) | > 2s | > 5s |
| Error rate | > 1% | > 5% |
| Memory usage | > 75% of limit | > 90% |
| Cold start (Autoscale) | > 5s | > 15s |
Error Handling
| Issue | Cause | Solution |
|---|---|---|
| Deploy fails at build | Missing dependency | Check build logs, ensure npm ci works |
| 503 after deploy | App crashing on start | Check deployment logs, verify secrets |
| Cold start too slow | Heavy imports | Lazy-load non-critical modules |
| Custom domain not working | DNS not propagated | Wait or verify CNAME record |
Resources
- Replit Deployments
- Deployment Rollbacks
- Custom Domains
- Replit Status
Next Steps
For version upgrades, see replit-upgrade-migration.
When not to use it
- →When a deploy fails at build due to missing dependencies
- →When a 503 error occurs after deploy because the app is crashing on start
- →When a custom domain is not working due to DNS not propagated
Prerequisites
Limitations
- →Cold starts can be slow if heavy imports are used in Autoscale deployments
- →Stack traces should not be exposed in production error messages
How it compares
This skill provides a structured checklist for Replit-specific deployments, including .replit configuration, Replit Secrets, and Replit's deployment types, unlike general deployment guides.
Compared to similar skills
replit-prod-checklist side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| replit-prod-checklist (this skill) | 1 | 27d | Caution | Intermediate |
| gcp-cloud-run | 5 | 5mo | Review | Intermediate |
| flow-nexus-platform | 6 | 4mo | Review | Beginner |
| smithery-mcp-deployment | 8 | 8mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by jeremylongshore
View all by jeremylongshore →You might also like
gcp-cloud-run
aj-geddes
Deploy containerized applications on Google Cloud Run with automatic scaling, traffic management, and service mesh integration. Use for container-based serverless computing.
flow-nexus-platform
ruvnet
Comprehensive Flow Nexus platform management - authentication, sandboxes, app deployment, payments, and challenges
smithery-mcp-deployment
CaullenOmdahl
Best practices for creating, optimizing, and deploying MCP servers to Smithery. Use this skill when:(1) Creating new MCP servers for Smithery deployment(2) Optimizing quality scores (achieving 90/100)(3) Troubleshooting deployment issues (0/0 tools, missing annotations, low scores)(4) Migrating existing MCP servers to Smithery format(5) Understanding Smithery's schema format requirements(6) Adding workflow prompts, tool annotations, or documentation resources(7) Configuring smithery.yaml and package.json for deployment
deployment-pipeline-design
wshobson
Design multi-stage CI/CD pipelines with approval gates, security checks, and deployment orchestration. Use when architecting deployment workflows, setting up continuous delivery, or implementing GitOps practices.
vercel-deployment
davila7
Expert knowledge for deploying to Vercel with Next.js Use when: vercel, deploy, deployment, hosting, production.
netlify-deploy
openai
Deploy web projects to Netlify using the Netlify CLI (`npx netlify`). Use when the user asks to deploy, host, publish, or link a site/repo on Netlify, including preview and production deploys.