From replit-pack
Executes Replit production deployment checklist for Autoscale/Reserved VM, covering config, secrets, health checks, error handling, rollback, and monitoring.
How this skill is triggered — by the user, by Claude, or both
Slash command
/replit-pack:replit-prod-checklistThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
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.
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.
.replit deployment 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.nix includes only required system packages (trim dev-only deps)NODE_ENV set to "production" in .replit env sectionprocess.env.PORTconst 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);
}
/health endpoint 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 });
});
// 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);
});
Via Replit UI:
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"
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.
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-)"
Replit Deployments support one-click rollback to any previous successful deployment:
| 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 |
| 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 |
For version upgrades, see replit-upgrade-migration.
npx claudepluginhub jeremylongshore/claude-code-plugins-plus-skills --plugin replit-packDeploys Replit apps via Static, Autoscale, or Reserved VM. Configures .replit, secrets, custom domains, health checks for production.
Guides deploying apps to Vercel, Railway, Netlify, and others; covers hosting selection, custom domains, env vars, production DBs, DNS, and going live.
Provides deployment strategies (rolling, blue-green, canary), multi-stage Dockerfiles for Node.js, health checks, rollback plans, and production checklists for web apps.