@acidop/coldstart
v1.0.0
Published
CLI tool to keep your services warm and prevent cold starts
Downloads
16
Maintainers
Readme
Coldstart
Keep your services warm and prevent cold starts before demos, interviews, and presentations.
The Problem
Serverless platforms and free-tier hosting (Render, Heroku, Railway, etc.) spin down services after inactivity. When someone visits, the service takes 30-60 seconds to cold start - loading dependencies, establishing connections, and initializing.
This causes issues during:
- Job interviews
- Client demos
- Hackathon presentations
- Live showcases
The Solution
Coldstart wakes up your services and keeps them warm by sending regular HTTP requests. Simple, effective, zero configuration needed.
Quick Start
npx coldstartThat's it. The CLI will guide you through the rest.
Features
- Interactive CLI - Answer a few questions, done
- Multi-service support - Wake up your frontend, backend, WebSocket servers, all at once
- HTTP & WebSocket detection - Automatically handles different server types
- Keep-alive mode - Continuously ping services every 5 minutes
- Parallel warmup - All services wake up simultaneously
- Beautiful output - Real-time progress with spinners and status updates
How It Works
Step 1: Configuration
? How many services? 3
? Name: Frontend
? URL: https://myapp.com
? Type: HTTP ServerStep 2: Warmup Process
The CLI runs through three stages:
- Wake - Sends initial requests to all services
- Initialize - Waits 20 seconds for dependencies to load
- Verify - Confirms services are stable with multiple checks
Step 3: Keep-Alive (Optional)
? Enable keep-alive mode? Yes
♻️ Keep-Alive Mode
Pinging every 5 minutes
Press Ctrl+C to stopYour services stay warm as long as the script runs.
Usage Examples
Basic Usage
npx coldstartMultiple Services
Perfect for microservices architecture:
- Frontend (React/Next.js)
- Backend API (Node.js/Python)
- WebSocket server
- Database proxy
Before Important Events
Run 5 minutes before your:
- Technical interviews
- Client presentations
- Demo day pitches
- Hackathon judging
Status Codes
HTTP Servers
200,301,302,304= Ready ✓
WebSocket Servers
426(Upgrade Required) = Ready ✓101(Switching Protocols) = Ready ✓
Requirements
- Node.js 14 or higher
- Services must be publicly accessible (HTTPS/HTTP)
Why This Works
Serverless and free-tier platforms shut down services to save resources. A simple HTTP request forces them to wake up. By pinging regularly, they never go back to sleep.
Technical Details:
- Uses
axiosfor HTTP requests - 30-second timeout per request
- Parallel execution with Promise.all
- Handles both HTTP and WebSocket protocols
Installation
As a one-off command (recommended):
npx coldstartGlobal installation:
npm install -g coldstart
coldstartDevelopment
# Clone repository
git clone https://github.com/Acid-OP/coldstart.git
cd coldstart
# Install dependencies
npm install
# Run in development mode
npm run dev
# Build
npm run build
# Test locally
npm link
coldstartLicense
MIT © Acid-OP
Contributing
Issues and pull requests welcome. Keep it simple.
Built for developers who need their services ready when it matters.
