@mohitkumawat/warmup-cli 1.2.0 → 1.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +75 -65
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -1,11 +1,20 @@
1
- # ☕ warmup
1
+ <div align="center">
2
+ <img src="https://raw.githubusercontent.com/Tarikul-Islam-Anik/Animated-Fluent-Emojis/master/Emojis/Food/Hot%20Beverage.png" alt="WarmUp Logo" width="100" />
2
3
 
3
- [![npm version](https://badge.fury.io/js/warmup-cli.svg)](https://badge.fury.io/js/warmup-cli)
4
- [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
4
+ # ☕ WarmUp
5
5
 
6
- **Pre-warm your Claude rate limits while you sleep.**
6
+ **Pre-warm your Claude rate limits while you sleep.**
7
+
8
+ *One command. Zero daily effort. Full Claude capacity precisely when you need it.*
7
9
 
8
- One command. Zero daily effort. Full Claude capacity when you need it.
10
+ <br />
11
+
12
+ [![npm version](https://img.shields.io/npm/v/@mohitkumawat/warmup-cli?style=for-the-badge&color=FF4F00&logo=npm)](https://www.npmjs.com/package/@mohitkumawat/warmup-cli)
13
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=for-the-badge&color=00B894)](https://opensource.org/licenses/MIT)
14
+ [![Downloads](https://img.shields.io/npm/dt/@mohitkumawat/warmup-cli?style=for-the-badge&color=6C5CE7)](https://www.npmjs.com/package/@mohitkumawat/warmup-cli)
15
+
16
+ <br />
17
+ </div>
9
18
 
10
19
  ---
11
20
 
@@ -15,92 +24,88 @@ Claude Pro and Max subscribers share a **5-hour rolling rate limit window** acro
15
24
 
16
25
  ## 🟢 The Solution
17
26
 
18
- **warmup** starts your rate limit window _before_ you wake up by scheduling one tiny Claude Code ping (~10 tokens) at the right time.
27
+ **`warmup`** starts your rate limit window *before* you wake up by scheduling one tiny Claude Code ping (~10 tokens) at the exact right time.
19
28
 
20
29
  By the time you sit down to work, the window is perfectly timed to expire exactly when you need it, granting you a **100% fresh allocation** right in the middle of your workday.
21
30
 
22
- ```
23
- ✖ Without warmup:
24
- 10:00 AM You start working, window starts
25
- 12:00 PM Rate limited! Must wait until 3:00 PM
26
-
27
- With Smart warmup (2-hour exhaustion):
28
- 7:00 AMwarmup sends one tiny Claude Code ping
29
- 10:00 AMYou start working using the active window.
30
- 12:00 PM → You exhaust your limits. BUT the 7:00 AM window ends right now!
31
- 12:00 PM Window resets instantly! Full capacity continues.
32
- ```
33
- *You just saved 3 hours of waiting.*
31
+ ### ⏱️ Side-by-Side Comparison
32
+
33
+ | Without `warmup` | With `warmup` (2-hour exhaustion) |
34
+ | :--- | :--- |
35
+ | **10:00 AM** → You start working, window starts. | **7:00 AM** → `warmup` sends one tiny ping (window starts). |
36
+ | **12:00 PM** **Rate limited!** 🛑 Must wait until 3:00 PM. | **10:00 AM** → You start working using the active window. |
37
+ | **1:00 PM**Still waiting... | **12:00 PM** → You exhaust your limits, BUT the 7:00 AM window ends right now! |
38
+ | **2:00 PM**Still waiting... | **12:01 PM** → **Window resets instantly.** 🚀 Full capacity continues. |
39
+
40
+ > ***You just saved over 3 hours of waiting.***
34
41
 
35
42
  ---
36
43
 
37
- ## ⚡ Install
44
+ ## ⚡ Installation
38
45
 
39
46
  ```bash
40
47
  npm install -g @mohitkumawat/warmup-cli
41
48
  ```
42
49
 
43
- **Prerequisites:** [Claude Code](https://code.claude.com) must be installed and authenticated.
50
+ > **Note:** *Prerequisites: [Claude Code](https://code.claude.com) must be installed and authenticated.*
51
+
52
+ ---
44
53
 
45
54
  ## 🚀 Quick Start
46
55
 
56
+ Run the following command anywhere in your terminal:
57
+
47
58
  ```bash
48
59
  warmup
49
60
  ```
50
61
 
51
- Fresh installs now open a **guided onboarding wizard**. If you want to skip straight to the wizard later, `warmup setup` still works too.
52
-
53
- ## What happens
62
+ *Fresh installs open a **guided onboarding wizard**.*
54
63
 
55
- - `warmup` shows the exact scheduled Claude command before it installs anything:
64
+ ### 🔍 What happens behind the scenes?
56
65
 
57
- ```bash
58
- claude -p ping --max-turns 1
59
- ```
66
+ - 📜 Shows the exact background command (`claude -p ping --max-turns 1`) transparently.
67
+ - 🕒 Asks about your typical work schedule.
68
+ - 📊 Shows a detailed geometric preview of the scheduled timeline before explicitly asking for confirmation.
69
+ - 💾 Stores config and logs purely locally in `~/.warmup/`.
60
70
 
61
- - Setup checks Claude Code install + auth, asks about your work start time and how fast you hit limits, then shows an install preview before saving anything.
62
- - Config and logs stay local in `~/.warmup/`.
63
- - The scheduler runs locally through native OS tooling.
71
+ ### 🛡 What DOES NOT happen?
64
72
 
65
- ## What does not happen
73
+ - Setup does **not** send a live Claude request or burn any limits.
74
+ - ❌ `warmup` does **not** proxy your session, extract tokens, or phone home to any backend API. Privacy first.
66
75
 
67
- - Setup does **not** send a live Claude request or start your 5-hour window.
68
- - `warmup` does **not** extract tokens, proxy your session, or depend on a backend service.
69
- - Nothing is installed until you confirm the schedule preview.
76
+ ---
70
77
 
71
78
  ## 🧠 Smart Setup
72
79
 
73
- We don't ask you to do modulo-math to figure out your 5-hour window. `warmup` uses a **Smart Scheduler**.
80
+ We don't ask you to do modulo-math to figure out your 5-hour window. `warmup` simply asks you two plain-English questions:
74
81
 
75
- ```bash
76
- warmup setup
77
- ```
78
-
79
- Just tell it:
80
- 1. **When you start working** (e.g., 9:00 AM)
81
- 2. **How quickly you exhaust your limits** (e.g., 1-2 hours)
82
+ 1. **When do you start working?** *(e.g., 9:00 AM)*
83
+ 2. **How quickly do you exhaust limits?** *(e.g., 1-2 hours)*
82
84
 
83
- `warmup` automatically calculates the **exact optimal pre-warm time** to ensure your rate limit resets exactly the minute you run out of messages.
85
+ It then automatically calculates the **exact optimal pre-warm time** to ensure your rate limit resets exactly the minute you run out of messages.
84
86
 
85
- Then it shows an install preview with your schedule, expected reset time, local file paths, and scheduler backend before installing the OS-native task.
87
+ ---
86
88
 
87
89
  ## 🛡️ Bulletproof Boot-Recovery
88
90
 
89
91
  **What if my computer is off or asleep at the scheduled pre-warm time?**
90
92
 
91
- `warmup` handles this automatically using native OS features. If your laptop was closed at your 5:00 AM pre-warm time, the pre-warm fires **immediately upon waking your machine** (e.g., at 8:00 AM).
93
+ `warmup` handles this automatically using native OS features. If your laptop was closed at your 5:00 AM pre-warm time, the pre-warm fires **immediately upon waking your machine** (e.g., at 8:00 AM).
94
+
95
+ It has built-in deduplication guards: it will *never* double-fire or accidentally consume a second rate-limit window, even if you restart your computer 10 times a day.
92
96
 
93
- It has built-in deduplication guards, so it will *never* double-fire or accidentally consume a second rate-limit window, even if you restart your computer 10 times a day.
97
+ | OS | Background Mechanism |
98
+ | :--- | :--- |
99
+ | 🍎 **macOS** | `launchd` via `RunAtLoad` |
100
+ | 🐧 **Linux** | `systemd` timers via `Persistent=true` |
101
+ | 🪟 **Windows** | `schtasks` via `StartWhenAvailable` |
94
102
 
95
- Supported universally:
96
- - **macOS:** `launchd` with `RunAtLoad`
97
- - **Linux:** `systemd` user timers with `Persistent=true`
98
- - **Windows:** Task Scheduler with `StartWhenAvailable`
103
+ ---
99
104
 
100
- ## 🛠️ Commands
105
+ ## 🛠️ Commands Reference
101
106
 
102
107
  | Command | Description |
103
- |---------|-------------|
108
+ | :--- | :--- |
104
109
  | `warmup setup` | Smart interactive setup wizard |
105
110
  | `warmup status` | Show schedule and live window progress bar |
106
111
  | `warmup test` | Fire a pre-warm right now |
@@ -109,25 +114,30 @@ Supported universally:
109
114
  | `warmup resume` | Resume the daily schedule |
110
115
  | `warmup uninstall` | Remove the background task |
111
116
 
117
+ ---
112
118
 
113
119
  ## ❓ FAQ
114
120
 
115
- **Is this ToS-compliant?**
116
- Yes. The request goes strictly through the official Claude Code CLI using your local authenticated session. We never extract, store, or proxy your OAuth token. This is functionally identical to you typing a message into the CLI.
121
+ <details>
122
+ <summary><b>Is this ToS-compliant?</b></summary>
123
+ <br>
124
+ Yes. The request goes strictly through the official Claude Code CLI using your local authenticated session. We never extract, store, or proxy your OAuth token. This is functionally identical to you typing a message into the CLI yourself.
125
+ </details>
117
126
 
118
- **Does this work for claude.ai web chat?**
127
+ <details>
128
+ <summary><b>Does this work for claude.ai web chat?</b></summary>
129
+ <br>
119
130
  Yes! The subscription rate limit pool is shared across claude.ai, Claude Code, and Cowork. Pre-warming through the CLI grants you limits on the web interface too.
131
+ </details>
120
132
 
121
- **What if I travel to a different timezone?**
133
+ <details>
134
+ <summary><b>What if I travel to a different timezone?</b></summary>
135
+ <br>
122
136
  Run `warmup update`. Your new timezone is auto-detected.
123
-
124
- ## 🗑️ Uninstall
125
-
126
- ```bash
127
- warmup uninstall # removes the OS background task
128
- npm uninstall -g warmup-cli # removes the package
129
- ```
137
+ </details>
130
138
 
131
139
  ---
132
- **License:** MIT
133
- **Author:** Mohit
140
+
141
+ <div align="center">
142
+ <sub>Built with ❤️ by Mohit. MIT License.</sub>
143
+ </div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mohitkumawat/warmup-cli",
3
- "version": "1.2.0",
3
+ "version": "1.2.3",
4
4
  "description": "Pre-warm your Claude rate limits while you sleep. One command, zero daily effort.",
5
5
  "main": "dist/index.js",
6
6
  "bin": {