@mohitkumawat/warmup-cli 1.2.0 → 1.2.1
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.
- package/README.md +57 -64
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
1
3
|
# ☕ warmup
|
|
2
4
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
+
**Pre-warm your Claude rate limits while you sleep.**<br>
|
|
6
|
+
*One command. Zero daily effort. Full Claude capacity when you need it.*
|
|
5
7
|
|
|
6
|
-
|
|
8
|
+
[](https://www.npmjs.com/package/@mohitkumawat/warmup-cli)
|
|
9
|
+
[](https://opensource.org/licenses/MIT)
|
|
7
10
|
|
|
8
|
-
|
|
11
|
+
</div>
|
|
9
12
|
|
|
10
13
|
---
|
|
11
14
|
|
|
@@ -15,21 +18,20 @@ Claude Pro and Max subscribers share a **5-hour rolling rate limit window** acro
|
|
|
15
18
|
|
|
16
19
|
## 🟢 The Solution
|
|
17
20
|
|
|
18
|
-
|
|
21
|
+
**`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
22
|
|
|
20
23
|
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
24
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
```
|
|
25
|
+
> **Without warmup:**
|
|
26
|
+
> 10:00 AM → You start working, window starts.
|
|
27
|
+
> 12:00 PM → Rate limited! Must wait until 3:00 PM.
|
|
28
|
+
>
|
|
29
|
+
> **With warmup (2-hour exhaustion):**
|
|
30
|
+
> 7:00 AM → warmup sends one tiny ping (window starts).
|
|
31
|
+
> 10:00 AM → You start working using the active window.
|
|
32
|
+
> 12:00 PM → You exhaust your limits, BUT the 7:00 AM window ends right now!
|
|
33
|
+
> 12:00 PM → Window resets instantly. Full capacity continues.
|
|
34
|
+
|
|
33
35
|
*You just saved 3 hours of waiting.*
|
|
34
36
|
|
|
35
37
|
---
|
|
@@ -39,8 +41,7 @@ By the time you sit down to work, the window is perfectly timed to expire exactl
|
|
|
39
41
|
```bash
|
|
40
42
|
npm install -g @mohitkumawat/warmup-cli
|
|
41
43
|
```
|
|
42
|
-
|
|
43
|
-
**Prerequisites:** [Claude Code](https://code.claude.com) must be installed and authenticated.
|
|
44
|
+
*Prerequisites: [Claude Code](https://code.claude.com) must be installed and authenticated.*
|
|
44
45
|
|
|
45
46
|
## 🚀 Quick Start
|
|
46
47
|
|
|
@@ -48,41 +49,27 @@ npm install -g @mohitkumawat/warmup-cli
|
|
|
48
49
|
warmup
|
|
49
50
|
```
|
|
50
51
|
|
|
51
|
-
Fresh installs
|
|
52
|
-
|
|
53
|
-
## What happens
|
|
52
|
+
Fresh installs open a **guided onboarding wizard**.
|
|
54
53
|
|
|
55
|
-
|
|
54
|
+
### 🔍 What happens
|
|
55
|
+
* Shows the exact background command (`claude -p ping --max-turns 1`) transparently.
|
|
56
|
+
* Asks about your typical work schedule.
|
|
57
|
+
* Shows a detailed geometric preview of the scheduled timeline before explicitly asking for confirmation.
|
|
58
|
+
* Stores config and logs purely locally in `~/.warmup/`.
|
|
56
59
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
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.
|
|
60
|
+
### 🛡 What DOES NOT happen
|
|
61
|
+
* Setup does **not** send a live Claude request or burn any limits.
|
|
62
|
+
* `warmup` does **not** proxy your session, extract tokens, or phone home to any backend api.
|
|
64
63
|
|
|
65
|
-
|
|
66
|
-
|
|
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.
|
|
64
|
+
---
|
|
70
65
|
|
|
71
66
|
## 🧠 Smart Setup
|
|
72
67
|
|
|
73
|
-
We don't ask you to do modulo-math to figure out your 5-hour window. `warmup`
|
|
74
|
-
|
|
75
|
-
|
|
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)
|
|
68
|
+
We don't ask you to do modulo-math to figure out your 5-hour window. `warmup` asks you two plain-English questions:
|
|
69
|
+
1. **When do you start working?** (e.g., 9:00 AM)
|
|
70
|
+
2. **How quickly do you exhaust limits?** (e.g., 1-2 hours)
|
|
82
71
|
|
|
83
|
-
|
|
84
|
-
|
|
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.
|
|
72
|
+
It then automatically calculates the **exact optimal pre-warm time** to ensure your rate limit resets exactly the minute you run out of messages.
|
|
86
73
|
|
|
87
74
|
## 🛡️ Bulletproof Boot-Recovery
|
|
88
75
|
|
|
@@ -90,12 +77,13 @@ Then it shows an install preview with your schedule, expected reset time, local
|
|
|
90
77
|
|
|
91
78
|
`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).
|
|
92
79
|
|
|
93
|
-
It has built-in deduplication guards
|
|
80
|
+
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.
|
|
81
|
+
|
|
82
|
+
* **macOS:** `launchd` via `RunAtLoad`
|
|
83
|
+
* **Linux:** `systemd` timers via `Persistent=true`
|
|
84
|
+
* **Windows:** `schtasks` via `StartWhenAvailable`
|
|
94
85
|
|
|
95
|
-
|
|
96
|
-
- **macOS:** `launchd` with `RunAtLoad`
|
|
97
|
-
- **Linux:** `systemd` user timers with `Persistent=true`
|
|
98
|
-
- **Windows:** Task Scheduler with `StartWhenAvailable`
|
|
86
|
+
---
|
|
99
87
|
|
|
100
88
|
## 🛠️ Commands
|
|
101
89
|
|
|
@@ -109,25 +97,30 @@ Supported universally:
|
|
|
109
97
|
| `warmup resume` | Resume the daily schedule |
|
|
110
98
|
| `warmup uninstall` | Remove the background task |
|
|
111
99
|
|
|
100
|
+
---
|
|
112
101
|
|
|
113
102
|
## ❓ FAQ
|
|
114
103
|
|
|
115
|
-
|
|
116
|
-
|
|
104
|
+
<details>
|
|
105
|
+
<summary><b>Is this ToS-compliant?</b></summary>
|
|
106
|
+
<br>
|
|
107
|
+
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.
|
|
108
|
+
</details>
|
|
117
109
|
|
|
118
|
-
|
|
110
|
+
<details>
|
|
111
|
+
<summary><b>Does this work for claude.ai web chat?</b></summary>
|
|
112
|
+
<br>
|
|
119
113
|
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.
|
|
114
|
+
</details>
|
|
120
115
|
|
|
121
|
-
|
|
116
|
+
<details>
|
|
117
|
+
<summary><b>What if I travel to a different timezone?</b></summary>
|
|
118
|
+
<br>
|
|
122
119
|
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
|
-
```
|
|
120
|
+
</details>
|
|
130
121
|
|
|
131
122
|
---
|
|
132
|
-
|
|
133
|
-
|
|
123
|
+
|
|
124
|
+
<div align="center">
|
|
125
|
+
<sub>Built with ❤️ by Mohit. MIT License.</sub>
|
|
126
|
+
</div>
|