# ☕ npm-caffeine

Keep your development sessions awake by pinging a local or remote URL at regular intervals — like a shot of caffeine for your terminal!

![npm](https://img.shields.io/npm/v/npm-caffeine)
![license](https://img.shields.io/npm/l/npm-caffeine)
![downloads](https://img.shields.io/npm/dt/npm-caffeine)

## 💡 What It Does

`npm-caffeine` is a simple CLI tool that helps prevent your dev environment, tunnel, or server from going idle or sleeping by sending periodic HTTP requests to a specified URL. It also logs uptime, so you can see how long your session has been running.

## 📦 Installation

### Globally (recommended)

```bash
npm install -g npm-caffeine
```

### Or use without installing

```bash
npx npm-caffeine <url> [interval]
```

### 🚀 Usage

```bash
caffeine <url> [interval]
```

- [url]: The URL you want to ping (e.g., http://localhost:3000, https://example.com).

- [interval]: (Optional) How often to ping the URL in seconds. Default is 60.

### ✅ Examples

```bash
# Ping localhost every 30 seconds

caffeine http://localhost:3000 30
```

```bash
# Ping a remote URL every 1 minute
caffeine https://example.com

```

### 🔧 Features

- ⏱️ Logs total uptime
- ✅ Pings URLs with success/failure indicators
- 🎨 Colorful, friendly terminal output
- 🧘 Simple and lightweight

### 📁 Use Cases

- Keep your local server or port awake during long dev sessions.
- Prevent tunnel services like ngrok from sleeping.
- Use it as a "heartbeat" tool to ensure something is still running.
- Monitor endpoints during debugging.

### 📌 Notes

- Only supports GET requests for now.
- Works in Node.js environments.
- Doesn't keep the browser alive
- it's for server/dev use.

### 🛠️ Roadmap

- --headless mode for silent operation
- Log output to file
- Add custom request headers
- Optional POST request support
- Session summary on exit

### 🧑‍💻 Author

Built with ❤️ by Manindra Bollam(manindra810@gmail.com)
