vibedino 0.1.0
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 +226 -0
- package/bin/vibedino.mjs +2 -0
- package/dist/cli.cjs +1365 -0
- package/dist/cli.d.cts +3 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.js +1338 -0
- package/dist/index.cjs +1156 -0
- package/dist/index.d.cts +18 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.js +1129 -0
- package/dist/main.cjs +1340 -0
- package/dist/main.d.cts +2 -0
- package/dist/main.d.ts +2 -0
- package/dist/main.js +1338 -0
- package/dist/postinstall.cjs +99 -0
- package/dist/postinstall.d.cts +2 -0
- package/dist/postinstall.d.ts +2 -0
- package/dist/postinstall.js +97 -0
- package/integrations/claude-hook.json +11 -0
- package/integrations/copilot-plugin.json +12 -0
- package/package.json +62 -0
package/README.md
ADDED
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
# ๐ฆ VibeDino
|
|
2
|
+
|
|
3
|
+
**A terminal T-Rex runner game for when your AI tools run out of tokens.**
|
|
4
|
+
|
|
5
|
+
Inspired by Chrome's offline dinosaur game โ but themed for developers. When Claude Code or GitHub Copilot hits a rate limit, VibeDino gives you something fun to do while your tokens regenerate.
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
โโโโโโ โโโโโโโโโโโโ
|
|
9
|
+
โโโโ โโ โโโ โnode_mods/โ โโโโ//TODO
|
|
10
|
+
โ โโโโโโ โโโโโ โ โโโโโโโโ โ โโโโโ
|
|
11
|
+
โโโโโโโโ โ โโโโโโโโโโโโ
|
|
12
|
+
โโโโโโ โ
|
|
13
|
+
โโโโ
|
|
14
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
15
|
+
HI 00350 00042
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Features
|
|
19
|
+
|
|
20
|
+
- ๐ฎ **Classic side-scroller** โ jump over obstacles, duck under birds, survive!
|
|
21
|
+
- ๐จ **Full color** โ sky gradient, green dino, colored obstacles, twinkling stars
|
|
22
|
+
- ๐ต **Dev-themed obstacles** โ `node_modules` boulders, `// TODO` birds, HTTP 429 walls, merge conflicts
|
|
23
|
+
- ๐ **Score tracking** โ persistent high scores saved locally
|
|
24
|
+
- ๐ **AI tool integration** โ hooks for Claude Code and GitHub Copilot CLI
|
|
25
|
+
- โก **Zero dependencies** โ pure Node.js, ANSI rendering, works in any modern terminal
|
|
26
|
+
- ๐ฆ **Dual format** โ ESM + CJS, CLI + programmatic API
|
|
27
|
+
|
|
28
|
+
## Install
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
npm install -g vibedino
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Or run directly:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
npx vibedino
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Gameplay
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
Controls:
|
|
44
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
45
|
+
SPACE / UP Jump
|
|
46
|
+
DOWN Duck
|
|
47
|
+
R Restart (game over)
|
|
48
|
+
Q / ESC Quit
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
The game starts with a "Regenerating tokens..." progress bar, then throws increasingly difficult obstacles at you. Your score increases with time. Beat your high score!
|
|
52
|
+
|
|
53
|
+
## Screenshots
|
|
54
|
+
|
|
55
|
+
### Title Screen
|
|
56
|
+
```
|
|
57
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
58
|
+
โ โ
|
|
59
|
+
โ V I B E D I N O โ
|
|
60
|
+
โ Token Exhaustion Entertainment โ
|
|
61
|
+
โ โ
|
|
62
|
+
โ โโโโโโโโ โ
|
|
63
|
+
โ โโโโโโโโโโโโ โ
|
|
64
|
+
โ โโโโโโโโโโโโ โ
|
|
65
|
+
โ โโ โโโโโโโโโโ โ
|
|
66
|
+
โ โโโโโโโโโโโโโโ โ
|
|
67
|
+
โ โโโโโโโโโโโโ โ
|
|
68
|
+
โ โโโโโโ โ
|
|
69
|
+
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
|
|
70
|
+
โ โ
|
|
71
|
+
โ No tokens? No problem! โ
|
|
72
|
+
โ โ
|
|
73
|
+
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
|
|
74
|
+
โ Regenerating tokens... 55% โ
|
|
75
|
+
โ โ
|
|
76
|
+
โ SPACE/UP: Jump | DOWN: Duck | Q: Quit โ
|
|
77
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### Gameplay
|
|
81
|
+
```
|
|
82
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
83
|
+
โ ยท ยท ยฐ HI 00350 00127โ
|
|
84
|
+
โ โโโโ ยท โ
|
|
85
|
+
โ โโโโโโโโ โ
|
|
86
|
+
โ โโโ โ
|
|
87
|
+
โ โโโโโโ โโโโโ โ
|
|
88
|
+
โ โโโโ โโ โ
|
|
89
|
+
โ โ โโโโโโ โ
|
|
90
|
+
โ โโโโโโโโ โโโ โโโโโโโโโโโโ โโโโ//TODOโ
|
|
91
|
+
โ โโโโโโ โโโโโ โnode_mods/โ โโโโโ โ
|
|
92
|
+
โ โโโโ โ โ โโโโโโโโ โ โ
|
|
93
|
+
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
94
|
+
โ ยท โ ยท โ ยท โ ยท โ ยท โ โ
|
|
95
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### Game Over
|
|
99
|
+
```
|
|
100
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
101
|
+
โ โ
|
|
102
|
+
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
|
|
103
|
+
โ โ G A M E O V E R โ โ
|
|
104
|
+
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
|
|
105
|
+
โ โ
|
|
106
|
+
โ โโโโโโ โ
|
|
107
|
+
โ โโXโXโโ โ
|
|
108
|
+
โ โ โโโโโโ โ
|
|
109
|
+
โ โโโโโโโโ โ
|
|
110
|
+
โ โโโโโโ โ
|
|
111
|
+
โ โโ โโ โ
|
|
112
|
+
โ โ
|
|
113
|
+
โ Score 00127 โ
|
|
114
|
+
โ Best 00350 โ
|
|
115
|
+
โ โ
|
|
116
|
+
โ Tokens still regenerating... โ
|
|
117
|
+
โ โ
|
|
118
|
+
โ [R] Restart [Q] Quit โ
|
|
119
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
## AI Tool Integration
|
|
123
|
+
|
|
124
|
+
### Auto-Install (Recommended)
|
|
125
|
+
|
|
126
|
+
When you install VibeDino globally, it **auto-detects** Claude Code and Copilot CLI and installs hooks automatically:
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
npm install -g vibedino
|
|
130
|
+
# ๐ฆ VibeDino hooks installed! Play when your AI hits a token limit.
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
No config editing needed. If you install later or want manual control, use the commands below.
|
|
134
|
+
|
|
135
|
+
### Claude Code
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
vibedino --install claude
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
This adds a hook to `.claude/settings.json`:
|
|
142
|
+
|
|
143
|
+
```json
|
|
144
|
+
{
|
|
145
|
+
"hooks": {
|
|
146
|
+
"PostToolUseFailure": [{
|
|
147
|
+
"matcher": "rate_limit|token_limit|quota_exceeded|overloaded",
|
|
148
|
+
"command": "npx vibedino --trigger claude",
|
|
149
|
+
"timeout": 300000
|
|
150
|
+
}]
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
### GitHub Copilot CLI
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
vibedino --install copilot
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
Installs a plugin at `~/.copilot/plugins/vibedino/plugin.json`.
|
|
162
|
+
|
|
163
|
+
### Remove integrations
|
|
164
|
+
|
|
165
|
+
```bash
|
|
166
|
+
vibedino --uninstall claude
|
|
167
|
+
vibedino --uninstall copilot
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
## Programmatic API
|
|
171
|
+
|
|
172
|
+
```typescript
|
|
173
|
+
import { startGame } from 'vibedino';
|
|
174
|
+
|
|
175
|
+
const result = await startGame({
|
|
176
|
+
source: 'api',
|
|
177
|
+
reason: 'rate_limit',
|
|
178
|
+
});
|
|
179
|
+
|
|
180
|
+
console.log(result);
|
|
181
|
+
// { score: 127, highScore: 350, isNewHighScore: false, duration: 45000 }
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
## CLI Reference
|
|
185
|
+
|
|
186
|
+
```
|
|
187
|
+
vibedino Launch the game
|
|
188
|
+
vibedino --trigger claude Launch with Claude-themed messages
|
|
189
|
+
vibedino --trigger copilot Launch with Copilot-themed messages
|
|
190
|
+
vibedino --install claude Install Claude Code hook
|
|
191
|
+
vibedino --install copilot Install Copilot CLI plugin
|
|
192
|
+
vibedino --uninstall claude Remove Claude Code hook
|
|
193
|
+
vibedino --uninstall copilot Remove Copilot CLI plugin
|
|
194
|
+
vibedino --scores Show high scores
|
|
195
|
+
vibedino --reset Reset high scores
|
|
196
|
+
vibedino --help Show help
|
|
197
|
+
vibedino --version Show version
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
## How it works
|
|
201
|
+
|
|
202
|
+
VibeDino is a pure Node.js terminal game with:
|
|
203
|
+
- **ANSI escape codes** for rendering (no dependencies)
|
|
204
|
+
- **Half-block pixel art** (`โโโ`) for 2x vertical resolution sprites
|
|
205
|
+
- **24-bit RGB colors** for sky gradient, themed obstacles, and UI
|
|
206
|
+
- **Fixed 30fps game loop** with deterministic physics
|
|
207
|
+
- **Persistent scores** saved to `~/.vibedino/scores.json`
|
|
208
|
+
|
|
209
|
+
## Development
|
|
210
|
+
|
|
211
|
+
```bash
|
|
212
|
+
git clone https://github.com/annguyen209/VibeDino.git
|
|
213
|
+
cd VibeDino
|
|
214
|
+
npm install
|
|
215
|
+
npm run dev # Run with tsx (hot reload)
|
|
216
|
+
npm run build # Build for distribution
|
|
217
|
+
npm run typecheck # Type check
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
## License
|
|
221
|
+
|
|
222
|
+
MIT
|
|
223
|
+
|
|
224
|
+
---
|
|
225
|
+
|
|
226
|
+
*Made with vibes. No tokens were harmed in the making of this game.*
|
package/bin/vibedino.mjs
ADDED