Verify deployment configuration, environment variables, database migrations, and health check endpoints for production readiness...
Expert skill for verifying deployment configuration, environment variables, database migrations, and health check endpoints for production readiness.
Use this skill when:
# Core
DATABASE_URL # PostgreSQL connection string
INTERNAL_API_KEY # Python ↔ TypeScript authentication
# Optional (search providers)
TAVILY_API_KEY # Tavily search ($0.01/query)
PERPLEXITY_API_KEY # Perplexity search ($0.005/query)
GOOGLE_API_KEY # Google search
GOOGLE_SEARCH_ENGINE_ID
# Development
QIG_LOG_LEVEL # DEBUG (dev), INFO (prod)
QIG_LOG_TRUNCATE # false (dev), true (prod)
QIG_ENV # development/production
.env.example present in deploymentnpx drizzle-kit push)| Database | Location | Purpose |
|---|---|---|
| pantheon-replit | Neon us-east-1 | Local dev |
| pantheon-chat | Railway pgvector | Production |
| SearchSpaceCollapse | Neon us-west-2 | Wallet/blockchain |
// Must return 200 OK
GET /health // Basic liveness check
GET /health/ready // Full readiness (DB connected, services up)
GET /api/health // API health check
{
"status": "healthy",
"timestamp": "2026-01-29T12:00:00Z",
"version": "1.0.0",
"services": {
"database": "connected",
"python_backend": "connected",
"redis": "connected"
}
}
{
"build": {
"builder": "nixpacks"
},
"deploy": {
"startCommand": "npm start",
"healthcheckPath": "/api/health",
"healthcheckInterval": 30
}
}
0.0.0.0process.env.PORTnpm run build succeedsnpm run check)npm run lint)npm test)dist/railpack.json present (Railway).gitignore excludes sensitive files.env not committed# Check what's using the port
lsof -i :5000
# Kill process if needed
kill -9 <PID>
# Test connection
psql $DATABASE_URL -c "SELECT 1"
# Check pgvector
psql $DATABASE_URL -c "SELECT * FROM pg_extension WHERE extname = 'vector'"
# Clean install
rm -rf node_modules package-lock.json
npm install
# Check TypeScript
npm run check
# Full pre-deployment check
bash scripts/pre_deployment_check.sh
# Environment validation
python scripts/validate_env.py
# Database status
npx drizzle-kit check
# Health check test
curl http://localhost:5000/health
# Deployment Readiness Report
## Environment Variables
- ✅ DATABASE_URL: Set
- ❌ INTERNAL_API_KEY: Missing
- ⚠️ TAVILY_API_KEY: Optional, not set
## Database Status
- ✅ Connection: OK
- ✅ pgvector: Installed
- ❌ Migrations: 2 pending
## Health Checks
- ✅ /health: 200 OK
- ❌ /health/ready: 503 (DB not connected)
## Build Status
- ✅ TypeScript: No errors
- ✅ Lint: Passed
- ⚠️ Tests: 2 skipped
## Priority Actions
1. [CRITICAL] Set INTERNAL_API_KEY
2. [HIGH] Run pending migrations
3. [MEDIUM] Fix skipped tests