vibejourney 0.2.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/LICENSE +21 -0
- package/README.md +128 -0
- package/README.zh-CN.md +128 -0
- package/dist/index.js +2976 -0
- package/package.json +45 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Corey Chiu
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
# VibeJourney
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/vibejourney)
|
|
4
|
+
[](https://github.com/iAmCorey/VibeJourney)
|
|
5
|
+
[](https://opensource.org/licenses/MIT)
|
|
6
|
+
|
|
7
|
+
[English](README.md) | [中文](README.zh-CN.md)
|
|
8
|
+
|
|
9
|
+

|
|
10
|
+
|
|
11
|
+
Every line of code you write sends your buddy a little further into the world. While you're deep in a debugging session at 2am, your companion is watching the sunset in Barcelona. When you finally ship that feature, they've already arrived in Tokyo and picked up a souvenir for you.
|
|
12
|
+
|
|
13
|
+
Like Travel Frog, but the food comes from your Claude Code tokens. You code, they travel. You come back, they've got stories.
|
|
14
|
+
|
|
15
|
+
## Quick Start
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
# Install globally with your preferred package manager
|
|
19
|
+
npm install -g vibejourney
|
|
20
|
+
pnpm add -g vibejourney
|
|
21
|
+
bun add -g vibejourney
|
|
22
|
+
|
|
23
|
+
# Then run
|
|
24
|
+
vibejourney
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## How It Works
|
|
28
|
+
|
|
29
|
+
Your daily Claude Code tokens become your buddy's food budget:
|
|
30
|
+
|
|
31
|
+
- **You code** → buddy gets food (today's tokens)
|
|
32
|
+
- **Buddy explores** → visits landmarks in the current city
|
|
33
|
+
- **Buddy travels** → walks to the next city with leftover tokens
|
|
34
|
+
- **No coding today** → buddy rests
|
|
35
|
+
|
|
36
|
+
Your buddy picks its own destinations (you don't control where it goes). It prefers cities it hasn't visited yet. When all landmarks in a city are explored, buddy picks up a souvenir and heads to the next destination.
|
|
37
|
+
|
|
38
|
+
When you open VibeJourney, you'll see what your buddy did while you were coding:
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
══════════════════════════════════════════════════
|
|
42
|
+
📬 While you were coding...
|
|
43
|
+
══════════════════════════════════════════════════
|
|
44
|
+
|
|
45
|
+
📸 Visited Shibuya Crossing (3 more to see)
|
|
46
|
+
"Sconce looked around with wide, curious eyes."
|
|
47
|
+
📸 Visited Tokyo Tower (2 more to see)
|
|
48
|
+
📸 Visited Senso-ji Temple (1 more to see)
|
|
49
|
+
🍣 Picked up a souvenir: sushi set
|
|
50
|
+
✈️ Finished exploring Tokyo, heading to Seoul!
|
|
51
|
+
🍃 Sconce shared tea with a friendly local
|
|
52
|
+
🚶 On the road to Seoul — 892 km to go (18%)
|
|
53
|
+
|
|
54
|
+
💬 "I heard the next city has great street food. Can't wait!"
|
|
55
|
+
|
|
56
|
+
══════════════════════════════════════════════════
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## Features
|
|
60
|
+
|
|
61
|
+
- **29 cities** across 6 continents, each with unique landmarks and souvenirs
|
|
62
|
+
- **Travel Frog mechanics** — daily tokens = food budget, buddy picks its own route
|
|
63
|
+
- **Token budget system** — exploration costs tokens, remaining budget fuels travel
|
|
64
|
+
- **Souvenir collection** — buddy brings back a memento from each city
|
|
65
|
+
- **Milestone achievements** — unlock achievements for cities visited, distance traveled, and souvenirs collected
|
|
66
|
+
- **Random travel events** — discover hidden trails, meet locals, find rare items on the road
|
|
67
|
+
- **Journey stats** — track total distance, cities, souvenirs, and milestones
|
|
68
|
+
- **Braille world map** rendered in Unicode with animated companion sprite and live position tracking
|
|
69
|
+
- **18 companion species** with personality-driven travel commentary
|
|
70
|
+
- **Narrative journal** — travel stories based on terrain, weather, and buddy personality
|
|
71
|
+
- **Offline support** — GeoJSON map cached locally after first download
|
|
72
|
+
|
|
73
|
+
## Commands
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
vibejourney # Main view: narrative + animated map
|
|
77
|
+
vibejourney --journal # View all journal entries
|
|
78
|
+
vibejourney --journal last # View most recent entry
|
|
79
|
+
vibejourney --collection # View souvenir collection
|
|
80
|
+
vibejourney --stats # View journey statistics
|
|
81
|
+
vibejourney --reset # Reset journey (start over)
|
|
82
|
+
vibejourney --help # Show help message
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### Interactive Keys (in map view)
|
|
86
|
+
|
|
87
|
+
| Key | Action |
|
|
88
|
+
|-----|--------|
|
|
89
|
+
| `j` | Open journal |
|
|
90
|
+
| `c` | Open souvenir collection |
|
|
91
|
+
| `s` | Open journey stats |
|
|
92
|
+
| `r` | Refresh (check for new tokens) |
|
|
93
|
+
| `q` / `ESC` | Exit |
|
|
94
|
+
|
|
95
|
+
## Map Legend
|
|
96
|
+
|
|
97
|
+
- ★ Visited city
|
|
98
|
+
- ◆ Current destination
|
|
99
|
+
- ● Buddy's current position (during travel)
|
|
100
|
+
|
|
101
|
+
Cities appear on the map as your buddy discovers them. Each species has its own food type (🔋 batteries for robots, 🥕 carrots for rabbits, etc.).
|
|
102
|
+
|
|
103
|
+
## Development
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
bun test # Run 35 tests
|
|
107
|
+
src/config.ts # Tune game balance (token costs, travel ratio)
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
## Data Storage
|
|
111
|
+
|
|
112
|
+
All data is local:
|
|
113
|
+
|
|
114
|
+
| Path | Content |
|
|
115
|
+
|------|---------|
|
|
116
|
+
| `~/.vibejourney/state.json` | Journey state (current city, landmarks, souvenirs, milestones) |
|
|
117
|
+
| `~/.vibejourney/journal.jsonl` | Arrival and exploration journal entries |
|
|
118
|
+
| `~/.vibejourney/cache/` | Cached GeoJSON map data |
|
|
119
|
+
|
|
120
|
+
## Requirements
|
|
121
|
+
|
|
122
|
+
- Node.js 18+ / [Bun](https://bun.sh) / [pnpm](https://pnpm.io)
|
|
123
|
+
- [Claude Code](https://claude.ai/code) installed (reads token logs from `~/.claude/projects/`)
|
|
124
|
+
- Claude Code companion enabled (optional, for buddy personality)
|
|
125
|
+
|
|
126
|
+
## License
|
|
127
|
+
|
|
128
|
+
[MIT](LICENSE)
|
package/README.zh-CN.md
ADDED
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
# VibeJourney
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/vibejourney)
|
|
4
|
+
[](https://github.com/iAmCorey/VibeJourney)
|
|
5
|
+
[](https://opensource.org/licenses/MIT)
|
|
6
|
+
|
|
7
|
+
[English](README.md) | [中文](README.zh-CN.md)
|
|
8
|
+
|
|
9
|
+

|
|
10
|
+
|
|
11
|
+
你深夜 debug 的每一行代码,都在送你的 buddy 去看更远的世界。你在凌晨两点和一个 bug 较劲的时候,它正在巴塞罗那看日落。等你终于 ship 了那个 feature,它已经到了东京,还给你带了纪念品。
|
|
12
|
+
|
|
13
|
+
像旅行青蛙,但粮食来自你的 Claude Code token。你写代码,它去旅行。你回来看,它有了新故事。
|
|
14
|
+
|
|
15
|
+
## 快速开始
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
# 用你喜欢的包管理器全局安装
|
|
19
|
+
npm install -g vibejourney
|
|
20
|
+
pnpm add -g vibejourney
|
|
21
|
+
bun add -g vibejourney
|
|
22
|
+
|
|
23
|
+
# 然后运行
|
|
24
|
+
vibejourney
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## 工作原理
|
|
28
|
+
|
|
29
|
+
你每天在 Claude Code 中消耗的 token 变成 buddy 的粮食预算:
|
|
30
|
+
|
|
31
|
+
- **你写代码** → buddy 有粮食(今天的 token)
|
|
32
|
+
- **buddy 探索** → 参观当前城市的地标
|
|
33
|
+
- **buddy 旅行** → 用剩余 token 走向下一座城市
|
|
34
|
+
- **今天没写代码** → buddy 休息
|
|
35
|
+
|
|
36
|
+
buddy 自己选目的地(你不控制它去哪)。它优先去没去过的城市。参观完一座城市的所有地标后,buddy 带上特产出发去下一站。
|
|
37
|
+
|
|
38
|
+
打开 VibeJourney,你会看到 buddy 趁你写代码的时候做了什么:
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
══════════════════════════════════════════════════
|
|
42
|
+
📬 While you were coding...
|
|
43
|
+
══════════════════════════════════════════════════
|
|
44
|
+
|
|
45
|
+
📸 Visited Shibuya Crossing (3 more to see)
|
|
46
|
+
"Sconce looked around with wide, curious eyes."
|
|
47
|
+
📸 Visited Tokyo Tower (2 more to see)
|
|
48
|
+
📸 Visited Senso-ji Temple (1 more to see)
|
|
49
|
+
🍣 Picked up a souvenir: sushi set
|
|
50
|
+
✈️ Finished exploring Tokyo, heading to Seoul!
|
|
51
|
+
🍃 Sconce shared tea with a friendly local
|
|
52
|
+
🚶 On the road to Seoul — 892 km to go (18%)
|
|
53
|
+
|
|
54
|
+
💬 "I heard the next city has great street food. Can't wait!"
|
|
55
|
+
|
|
56
|
+
══════════════════════════════════════════════════
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## 特性
|
|
60
|
+
|
|
61
|
+
- **29 座城市** 覆盖 6 大洲,每座城市有独特地标和特产
|
|
62
|
+
- **旅行青蛙机制** — 每日 token = 粮食预算,buddy 自己选路线
|
|
63
|
+
- **Token 预算制** — 探索消耗 token,剩余预算转换为旅行距离
|
|
64
|
+
- **特产收藏** — buddy 从每座城市带回纪念品
|
|
65
|
+
- **里程碑成就** — 解锁城市、里程、特产相关的成就
|
|
66
|
+
- **随机旅途事件** — 发现隐藏小径、遇到当地人、发现稀有物品
|
|
67
|
+
- **旅程统计** — 查看总距离、城市数、特产、里程碑
|
|
68
|
+
- **Braille 世界地图** Unicode 渲染 + buddy 精灵动画 + 实时位置追踪
|
|
69
|
+
- **18 种旅伴物种** 性格驱动的旅途评论
|
|
70
|
+
- **叙事日志** — 基于地形、天气和 buddy 性格的旅行故事
|
|
71
|
+
- **离线支持** — 首次下载后地图本地缓存
|
|
72
|
+
|
|
73
|
+
## 命令
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
vibejourney # 主界面:叙事 + 动画地图
|
|
77
|
+
vibejourney --journal # 查看所有日志
|
|
78
|
+
vibejourney --journal last # 查看最近一条
|
|
79
|
+
vibejourney --collection # 查看特产收藏
|
|
80
|
+
vibejourney --stats # 查看旅程统计
|
|
81
|
+
vibejourney --reset # 重置旅程(重新开始)
|
|
82
|
+
vibejourney --help # 查看帮助信息
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### 交互按键(地图界面)
|
|
86
|
+
|
|
87
|
+
| 按键 | 功能 |
|
|
88
|
+
|------|------|
|
|
89
|
+
| `j` | 打开日志 |
|
|
90
|
+
| `c` | 打开特产收藏 |
|
|
91
|
+
| `s` | 打开旅程统计 |
|
|
92
|
+
| `r` | 刷新(检查新 token) |
|
|
93
|
+
| `q` / `ESC` | 退出 |
|
|
94
|
+
|
|
95
|
+
## 地图图例
|
|
96
|
+
|
|
97
|
+
- ★ 已访问城市
|
|
98
|
+
- ◆ 当前目的地
|
|
99
|
+
- ● buddy 当前位置(旅行中)
|
|
100
|
+
|
|
101
|
+
城市会随着 buddy 的探索逐渐出现在地图上。每种物种有自己的食物(🔋 机器人吃电池、🥕 兔子吃胡萝卜等)。
|
|
102
|
+
|
|
103
|
+
## 开发
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
bun test # 运行 35 个测试
|
|
107
|
+
src/config.ts # 调整游戏平衡(token 消耗、旅行比例)
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
## 数据存储
|
|
111
|
+
|
|
112
|
+
所有数据存储在本地:
|
|
113
|
+
|
|
114
|
+
| 路径 | 内容 |
|
|
115
|
+
|------|------|
|
|
116
|
+
| `~/.vibejourney/state.json` | 旅程状态(当前城市、地标、特产、里程碑) |
|
|
117
|
+
| `~/.vibejourney/journal.jsonl` | 到达和探索日志 |
|
|
118
|
+
| `~/.vibejourney/cache/` | 缓存的 GeoJSON 地图数据 |
|
|
119
|
+
|
|
120
|
+
## 环境要求
|
|
121
|
+
|
|
122
|
+
- Node.js 18+ / [Bun](https://bun.sh) / [pnpm](https://pnpm.io)
|
|
123
|
+
- 已安装 Claude Code(用于读取 `~/.claude/projects/` 下的 JSONL token 日志)
|
|
124
|
+
- Claude Code companion 已启用(可选,用于 buddy 评论)
|
|
125
|
+
|
|
126
|
+
## 许可证
|
|
127
|
+
|
|
128
|
+
[MIT](LICENSE)
|