pet-terminal 1.0.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 +268 -0
- package/dist/commands/care.d.ts +3 -0
- package/dist/commands/care.d.ts.map +1 -0
- package/dist/commands/care.js +103 -0
- package/dist/commands/care.js.map +1 -0
- package/dist/commands/clean.d.ts +3 -0
- package/dist/commands/clean.d.ts.map +1 -0
- package/dist/commands/clean.js +105 -0
- package/dist/commands/clean.js.map +1 -0
- package/dist/commands/feed.d.ts +3 -0
- package/dist/commands/feed.d.ts.map +1 -0
- package/dist/commands/feed.js +106 -0
- package/dist/commands/feed.js.map +1 -0
- package/dist/commands/git.d.ts +3 -0
- package/dist/commands/git.d.ts.map +1 -0
- package/dist/commands/git.js +138 -0
- package/dist/commands/git.js.map +1 -0
- package/dist/commands/heal.d.ts +3 -0
- package/dist/commands/heal.d.ts.map +1 -0
- package/dist/commands/heal.js +106 -0
- package/dist/commands/heal.js.map +1 -0
- package/dist/commands/init.d.ts +3 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +89 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/inventory.d.ts +3 -0
- package/dist/commands/inventory.d.ts.map +1 -0
- package/dist/commands/inventory.js +113 -0
- package/dist/commands/inventory.js.map +1 -0
- package/dist/commands/play.d.ts +3 -0
- package/dist/commands/play.d.ts.map +1 -0
- package/dist/commands/play.js +110 -0
- package/dist/commands/play.js.map +1 -0
- package/dist/commands/shop.d.ts +3 -0
- package/dist/commands/shop.d.ts.map +1 -0
- package/dist/commands/shop.js +197 -0
- package/dist/commands/shop.js.map +1 -0
- package/dist/commands/sleep.d.ts +3 -0
- package/dist/commands/sleep.d.ts.map +1 -0
- package/dist/commands/sleep.js +48 -0
- package/dist/commands/sleep.js.map +1 -0
- package/dist/commands/status.d.ts +3 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +98 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/sync.d.ts +3 -0
- package/dist/commands/sync.d.ts.map +1 -0
- package/dist/commands/sync.js +66 -0
- package/dist/commands/sync.js.map +1 -0
- package/dist/commands/tutorial.d.ts +3 -0
- package/dist/commands/tutorial.d.ts.map +1 -0
- package/dist/commands/tutorial.js +210 -0
- package/dist/commands/tutorial.js.map +1 -0
- package/dist/core/auto-care.d.ts +63 -0
- package/dist/core/auto-care.d.ts.map +1 -0
- package/dist/core/auto-care.js +295 -0
- package/dist/core/auto-care.js.map +1 -0
- package/dist/core/config.d.ts +89 -0
- package/dist/core/config.d.ts.map +1 -0
- package/dist/core/config.js +195 -0
- package/dist/core/config.js.map +1 -0
- package/dist/core/database.d.ts +29 -0
- package/dist/core/database.d.ts.map +1 -0
- package/dist/core/database.js +81 -0
- package/dist/core/database.js.map +1 -0
- package/dist/core/inventory.d.ts +63 -0
- package/dist/core/inventory.d.ts.map +1 -0
- package/dist/core/inventory.js +140 -0
- package/dist/core/inventory.js.map +1 -0
- package/dist/core/level-system.d.ts +32 -0
- package/dist/core/level-system.d.ts.map +1 -0
- package/dist/core/level-system.js +76 -0
- package/dist/core/level-system.js.map +1 -0
- package/dist/core/pet.d.ts +123 -0
- package/dist/core/pet.d.ts.map +1 -0
- package/dist/core/pet.js +781 -0
- package/dist/core/pet.js.map +1 -0
- package/dist/core/shop.d.ts +93 -0
- package/dist/core/shop.d.ts.map +1 -0
- package/dist/core/shop.js +205 -0
- package/dist/core/shop.js.map +1 -0
- package/dist/core/time-decay.d.ts +30 -0
- package/dist/core/time-decay.d.ts.map +1 -0
- package/dist/core/time-decay.js +149 -0
- package/dist/core/time-decay.js.map +1 -0
- package/dist/core/welcome.d.ts +31 -0
- package/dist/core/welcome.d.ts.map +1 -0
- package/dist/core/welcome.js +180 -0
- package/dist/core/welcome.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +80 -0
- package/dist/index.js.map +1 -0
- package/dist/monitor/git-monitor.d.ts +90 -0
- package/dist/monitor/git-monitor.d.ts.map +1 -0
- package/dist/monitor/git-monitor.js +342 -0
- package/dist/monitor/git-monitor.js.map +1 -0
- package/dist/types/auto-care.d.ts +86 -0
- package/dist/types/auto-care.d.ts.map +1 -0
- package/dist/types/auto-care.js +15 -0
- package/dist/types/auto-care.js.map +1 -0
- package/dist/types/config.d.ts +42 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +24 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/git.d.ts +68 -0
- package/dist/types/git.d.ts.map +1 -0
- package/dist/types/git.js +14 -0
- package/dist/types/git.js.map +1 -0
- package/dist/types/items.d.ts +41 -0
- package/dist/types/items.d.ts.map +1 -0
- package/dist/types/items.js +286 -0
- package/dist/types/items.js.map +1 -0
- package/dist/types/pet.d.ts +42 -0
- package/dist/types/pet.d.ts.map +1 -0
- package/dist/types/pet.js +16 -0
- package/dist/types/pet.js.map +1 -0
- package/dist/types/species.d.ts +30 -0
- package/dist/types/species.d.ts.map +1 -0
- package/dist/types/species.js +164 -0
- package/dist/types/species.js.map +1 -0
- package/dist/types/stats.d.ts +22 -0
- package/dist/types/stats.d.ts.map +1 -0
- package/dist/types/stats.js +18 -0
- package/dist/types/stats.js.map +1 -0
- package/dist/types/time.d.ts +30 -0
- package/dist/types/time.d.ts.map +1 -0
- package/dist/types/time.js +79 -0
- package/dist/types/time.js.map +1 -0
- package/dist/ui/ascii-art.d.ts +4 -0
- package/dist/ui/ascii-art.d.ts.map +1 -0
- package/dist/ui/ascii-art.js +170 -0
- package/dist/ui/ascii-art.js.map +1 -0
- package/dist/ui/display.d.ts +11 -0
- package/dist/ui/display.d.ts.map +1 -0
- package/dist/ui/display.js +93 -0
- package/dist/ui/display.js.map +1 -0
- package/dist/ui/help.d.ts +17 -0
- package/dist/ui/help.d.ts.map +1 -0
- package/dist/ui/help.js +280 -0
- package/dist/ui/help.js.map +1 -0
- package/dist/ui/progress-bar.d.ts +9 -0
- package/dist/ui/progress-bar.d.ts.map +1 -0
- package/dist/ui/progress-bar.js +57 -0
- package/dist/ui/progress-bar.js.map +1 -0
- package/package.json +61 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Lishang Xu
|
|
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,268 @@
|
|
|
1
|
+
# Pet Terminal [](https://www.npmjs.com/package/pet-terminal) [](https://www.npmjs.com/package/pet-terminal) [](https://opensource.org/licenses/MIT)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
<div align="center">
|
|
5
|
+
|
|
6
|
+
A terminal-based virtual pet that lives in your command line.
|
|
7
|
+
Your pet grows happier when you code!
|
|
8
|
+
|
|
9
|
+
[Features](#-features) • [Installation](#-installation) • [Quick Start](#-quick-start) • [Commands](#-commands) • [Philosophy](#-philosophy)
|
|
10
|
+
|
|
11
|
+
</div>
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Features
|
|
16
|
+
|
|
17
|
+
- **Choose your pet**: Cat, Dog, Rabbit, Hamster, Bird, or Dragon
|
|
18
|
+
- **Git integration**: Earn rewards for coding - your pet loves watching you work!
|
|
19
|
+
- **Shop system**: Buy food, toys, and supplies with earned coins
|
|
20
|
+
- **Level up**: Your pet grows stronger as you care for it
|
|
21
|
+
- **One-click care**: Quickly handle all your pet's needs with `pet care`
|
|
22
|
+
- **Stats tracking**: Hunger, happiness, health, cleanliness, energy
|
|
23
|
+
- **Lenient decay**: Stats decay slowly - your pet stays healthy for days!
|
|
24
|
+
|
|
25
|
+
## Installation
|
|
26
|
+
|
|
27
|
+
### Global Installation (Recommended)
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
npm install -g pet-terminal
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### Local Installation
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
npm install -g pet-terminal
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Or use with npx without installing:
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
npx pet-terminal init
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Quick Start
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
# Create your first pet
|
|
49
|
+
pet init
|
|
50
|
+
|
|
51
|
+
# Check on your pet
|
|
52
|
+
pet status
|
|
53
|
+
|
|
54
|
+
# See all commands
|
|
55
|
+
pet --help
|
|
56
|
+
|
|
57
|
+
# View the tutorial
|
|
58
|
+
pet tutorial
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## Commands
|
|
62
|
+
|
|
63
|
+
| Command | Aliases | Description |
|
|
64
|
+
|---------|---------|-------------|
|
|
65
|
+
| `pet init` | - | Create a new pet |
|
|
66
|
+
| `pet status` | - | Display your pet's status |
|
|
67
|
+
| `pet feed` | - | Feed your pet |
|
|
68
|
+
| `pet play` | - | Play with your pet |
|
|
69
|
+
| `pet clean` | - | Clean your pet |
|
|
70
|
+
| `pet heal` | - | Heal your pet |
|
|
71
|
+
| `pet sleep` | - | Put pet to sleep/wake up |
|
|
72
|
+
| `pet care` | `auto`, `all` | One-click care for all needs |
|
|
73
|
+
| `pet inventory` | `inv`, `items` | Show your inventory |
|
|
74
|
+
| `pet shop` | `store` | Visit the pet shop |
|
|
75
|
+
| `pet git` | `commits` | Check for new Git commits |
|
|
76
|
+
| `pet sync` | - | Sync time and show changes |
|
|
77
|
+
| `pet tutorial` | `help`, `guide` | Show the tutorial |
|
|
78
|
+
|
|
79
|
+
## Philosophy
|
|
80
|
+
|
|
81
|
+
> **"Writing code = being with your pet"**
|
|
82
|
+
|
|
83
|
+
Pet Terminal isn't a chore - it's a companion. When you make Git commits, your pet automatically gains stats because they're happy watching you work!
|
|
84
|
+
|
|
85
|
+
This is a zero-burden companion designed to make your coding sessions more enjoyable, not another task to complete.
|
|
86
|
+
|
|
87
|
+
## How It Works
|
|
88
|
+
|
|
89
|
+
### Earning Rewards
|
|
90
|
+
|
|
91
|
+
Every Git commit earns you coins and XP:
|
|
92
|
+
|
|
93
|
+
| Commit Type | Prefix Examples | Coins | XP |
|
|
94
|
+
|-------------|-----------------|-------|-----|
|
|
95
|
+
| Bug Fix | `fix:`, `bug:`, `修复` | +10 | +20 |
|
|
96
|
+
| Feature | `feat:`, `add:`, `新` | +8 | +15 |
|
|
97
|
+
| Refactor | `refactor:`, `重构` | +6 | +12 |
|
|
98
|
+
| Normal | any other | +5 | +10 |
|
|
99
|
+
|
|
100
|
+
### Stat Bonuses
|
|
101
|
+
|
|
102
|
+
Every commit also gives:
|
|
103
|
+
- **Hunger +15**: Your pet feels fed seeing you work
|
|
104
|
+
- **Happiness +10**: Your pet is happy you're here
|
|
105
|
+
|
|
106
|
+
### Stat Decay
|
|
107
|
+
|
|
108
|
+
Stats decay slowly over time (real-time):
|
|
109
|
+
|
|
110
|
+
| Stat | Decay Rate | Time to Empty (from 100%) |
|
|
111
|
+
|------|-----------|--------------------------|
|
|
112
|
+
| Hunger | -3/hour | ~33 hours |
|
|
113
|
+
| Happiness | -0.67/hour | ~150 hours (~6 days) |
|
|
114
|
+
| Cleanliness | -0.125/hour | ~800 hours (~33 days) |
|
|
115
|
+
| Energy | -2/hour (awake) | ~50 hours |
|
|
116
|
+
|
|
117
|
+
The decay is intentionally lenient - your pet stays healthy for days without attention!
|
|
118
|
+
|
|
119
|
+
### Streak Bonuses
|
|
120
|
+
|
|
121
|
+
Maintain a daily commit streak for bonus rewards:
|
|
122
|
+
- **3+ days**: +2 stat bonus per commit
|
|
123
|
+
- **7+ days**: +5 stat bonus per commit, +10 daily coins
|
|
124
|
+
- **30+ days**: +5 stat bonus per commit, +50 daily coins
|
|
125
|
+
|
|
126
|
+
## Screenshots
|
|
127
|
+
|
|
128
|
+
### Pet Status
|
|
129
|
+
|
|
130
|
+
```
|
|
131
|
+
╔══════════════════════════════════════════╗
|
|
132
|
+
║ SPARKY THE CAT ║
|
|
133
|
+
╚══════════════════════════════════════════╝
|
|
134
|
+
|
|
135
|
+
/\_/\
|
|
136
|
+
( o.o )
|
|
137
|
+
> ^ <
|
|
138
|
+
|
|
139
|
+
Status: ⚡ Awake
|
|
140
|
+
|
|
141
|
+
──────────────────────────────────────────
|
|
142
|
+
Hunger ███████████████░░░░ 80%
|
|
143
|
+
Happiness ████████████████░░░░ 85%
|
|
144
|
+
Health ███████████████████░ 95%
|
|
145
|
+
Cleanliness ████████████░░░░░░░░ 70%
|
|
146
|
+
Energy ██████████████████░░ 90%
|
|
147
|
+
──────────────────────────────────────────
|
|
148
|
+
|
|
149
|
+
Level: 5 ████████████████░░░░ 85/100 XP
|
|
150
|
+
|
|
151
|
+
Mood: 😊 HAPPY - Sparky is feeling wonderful!
|
|
152
|
+
|
|
153
|
+
Coins: 150 🪙
|
|
154
|
+
Today's earnings: +25 🪙
|
|
155
|
+
|
|
156
|
+
Git Streak: 5 days
|
|
157
|
+
Total Commits: 42
|
|
158
|
+
|
|
159
|
+
💡 Use 'pet care' for one-click care
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
### Git Rewards
|
|
163
|
+
|
|
164
|
+
```
|
|
165
|
+
╔══════════════════════════════════════════╗
|
|
166
|
+
║ GIT COMMITS ║
|
|
167
|
+
╚══════════════════════════════════════════╝
|
|
168
|
+
|
|
169
|
+
──────────────────────────────────────────
|
|
170
|
+
Current Streak: 5 days
|
|
171
|
+
Total Rewarded: 42 commits
|
|
172
|
+
──────────────────────────────────────────
|
|
173
|
+
|
|
174
|
+
Found 3 new commit(s)!
|
|
175
|
+
|
|
176
|
+
94b2b6e - feat: add new authentication system
|
|
177
|
+
[Feature] +8 🪙 +15 XP
|
|
178
|
+
📦 Large Commit Bonus!
|
|
179
|
+
|
|
180
|
+
a1b2c3d - fix: resolve memory leak in parser
|
|
181
|
+
[Bug Fix] +10 🪙 +20 XP
|
|
182
|
+
|
|
183
|
+
d4e5f6g - refactor: simplify database queries
|
|
184
|
+
[Refactor] +6 🪙 +12 XP
|
|
185
|
+
|
|
186
|
+
──────────────────────────────────────────
|
|
187
|
+
Total: +24 🪙 +47 XP
|
|
188
|
+
🔥 Streak Bonus! +5 🪙
|
|
189
|
+
──────────────────────────────────────────
|
|
190
|
+
|
|
191
|
+
Your Coins: 150 🪙
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
## Configuration
|
|
195
|
+
|
|
196
|
+
Optional config file: `~/.pet-terminal/config.json`
|
|
197
|
+
|
|
198
|
+
```json
|
|
199
|
+
{
|
|
200
|
+
"decayRate": 1.0,
|
|
201
|
+
"autoCare": {
|
|
202
|
+
"enabled": false,
|
|
203
|
+
"thresholds": {
|
|
204
|
+
"hunger": 70,
|
|
205
|
+
"happiness": 60,
|
|
206
|
+
"cleanliness": 60,
|
|
207
|
+
"health": 70
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
### Configuration Options
|
|
214
|
+
|
|
215
|
+
| Option | Type | Default | Description |
|
|
216
|
+
|--------|------|---------|-------------|
|
|
217
|
+
| `decayRate` | number | 1.0 | Global decay multiplier (0.5-2.0) |
|
|
218
|
+
| `autoCare.enabled` | boolean | false | Enable auto-purchase of items |
|
|
219
|
+
| `autoCare.thresholds` | object | - | Stat thresholds for care needs |
|
|
220
|
+
|
|
221
|
+
## Pet Species
|
|
222
|
+
|
|
223
|
+
| Species | Description | Special Trait |
|
|
224
|
+
|---------|-------------|---------------|
|
|
225
|
+
| 🐱 Cat | Independent and graceful | Higher happiness cap |
|
|
226
|
+
| 🐕 Dog | Loyal and energetic | Faster energy recovery |
|
|
227
|
+
| 🐰 Rabbit | Gentle and affectionate | Extra XP from care |
|
|
228
|
+
| 🐹 Hamster | Small and active | Bonus coins from play |
|
|
229
|
+
| 🐦 Bird | Cheerful and smart | Stat bonuses from commits |
|
|
230
|
+
| 🐉 Dragon | Rare and powerful | All stats boosted |
|
|
231
|
+
|
|
232
|
+
## Tips & Tricks
|
|
233
|
+
|
|
234
|
+
- **Forgot about your pet?** Run `pet sync` to catch up on time passed
|
|
235
|
+
- **Low on supplies?** Use `pet care` to see what you need
|
|
236
|
+
- **Want quick coins?** Make some commits and run `pet git`
|
|
237
|
+
- **Pet sleeping?** Let them sleep to restore energy
|
|
238
|
+
- **Stats low?** Use `pet care` for one-click care of all needs
|
|
239
|
+
|
|
240
|
+
## Contributing
|
|
241
|
+
|
|
242
|
+
Contributions are welcome! Please feel free to submit a Pull Request.
|
|
243
|
+
|
|
244
|
+
1. Fork the repository
|
|
245
|
+
2. Create your feature branch (`git checkout -b feature/AmazingFeature`)
|
|
246
|
+
3. Commit your changes (`git commit -m 'feat: add amazing feature'`)
|
|
247
|
+
4. Push to the branch (`git push origin feature/AmazingFeature`)
|
|
248
|
+
5. Open a Pull Request
|
|
249
|
+
|
|
250
|
+
## License
|
|
251
|
+
|
|
252
|
+
MIT License - see [LICENSE](LICENSE) file for details
|
|
253
|
+
|
|
254
|
+
## Credits
|
|
255
|
+
|
|
256
|
+
Built with:
|
|
257
|
+
- [Commander.js](https://www.npmjs.com/package/commander) - CLI framework
|
|
258
|
+
- [Chalk](https://www.npmjs.com/package/chalk) - Terminal styling
|
|
259
|
+
- [Inquirer](https://www.npmjs.com/package/inquirer) - Interactive prompts
|
|
260
|
+
- [lowdb](https://www.npmjs.com/package/lowdb) - JSON database
|
|
261
|
+
|
|
262
|
+
---
|
|
263
|
+
|
|
264
|
+
<div align="center">
|
|
265
|
+
|
|
266
|
+
Made with for developers who love their terminal pets
|
|
267
|
+
|
|
268
|
+
</div>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"care.d.ts","sourceRoot":"","sources":["../../src/commands/care.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,eAAO,MAAM,WAAW,SAAsB,CAAC"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.careCommand = void 0;
|
|
7
|
+
const commander_1 = require("commander");
|
|
8
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
9
|
+
const path_1 = __importDefault(require("path"));
|
|
10
|
+
const database_1 = require("../core/database");
|
|
11
|
+
const pet_1 = require("../core/pet");
|
|
12
|
+
const display_1 = require("../ui/display");
|
|
13
|
+
const ascii_art_1 = require("../ui/ascii-art");
|
|
14
|
+
const auto_care_1 = require("../core/auto-care");
|
|
15
|
+
exports.careCommand = new commander_1.Command('care');
|
|
16
|
+
exports.careCommand
|
|
17
|
+
.alias('auto')
|
|
18
|
+
.alias('all')
|
|
19
|
+
.description('One-click care for your pet - handle all needs at once')
|
|
20
|
+
.action(async () => {
|
|
21
|
+
const db = new database_1.Database(path_1.default.join(process.cwd(), 'data', 'pet.json'));
|
|
22
|
+
if (!db.hasPet()) {
|
|
23
|
+
console.log(chalk_1.default.yellow("You don't have a pet yet!"));
|
|
24
|
+
console.log(chalk_1.default.gray('Use "pet init" to create one.'));
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
const pet = await pet_1.Pet.loadOrCreate(db);
|
|
28
|
+
const data = pet.getData();
|
|
29
|
+
console.log('');
|
|
30
|
+
console.log((0, display_1.drawHeader)('ONE-CLICK CARE', 46));
|
|
31
|
+
console.log('');
|
|
32
|
+
console.log(chalk_1.default.green((0, ascii_art_1.getPetAscii)(data.species, data.mood, data.isSleeping)));
|
|
33
|
+
console.log('');
|
|
34
|
+
if (data.isSleeping) {
|
|
35
|
+
console.log(chalk_1.default.yellow(`${data.name} is sleeping!`));
|
|
36
|
+
console.log(chalk_1.default.gray('Let them rest to recover energy.'));
|
|
37
|
+
console.log(chalk_1.default.gray('Use "pet sleep" to wake them up when needed.'));
|
|
38
|
+
console.log('');
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
// Perform one-click care
|
|
42
|
+
const autoCare = (0, auto_care_1.createAutoCare)();
|
|
43
|
+
const result = await autoCare.oneClickCare(pet);
|
|
44
|
+
console.log((0, display_1.drawDivider)(46));
|
|
45
|
+
if (result.actionsTaken.length === 0) {
|
|
46
|
+
console.log(chalk_1.default.green(`${data.name} is doing great!`));
|
|
47
|
+
console.log(chalk_1.default.gray('No care needed at the moment.'));
|
|
48
|
+
console.log('');
|
|
49
|
+
console.log(chalk_1.default.gray('Current status:'));
|
|
50
|
+
console.log(chalk_1.default.gray(` Hunger: ${data.stats.hunger}%`));
|
|
51
|
+
console.log(chalk_1.default.gray(` Happiness: ${data.stats.happiness}%`));
|
|
52
|
+
console.log(chalk_1.default.gray(` Cleanliness: ${data.stats.cleanliness}%`));
|
|
53
|
+
console.log(chalk_1.default.gray(` Health: ${data.stats.health}%`));
|
|
54
|
+
console.log(chalk_1.default.gray(` Energy: ${data.stats.energy}%`));
|
|
55
|
+
console.log('');
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
// Show actions taken
|
|
59
|
+
console.log(chalk_1.default.cyan('Actions taken:'));
|
|
60
|
+
for (const action of result.actionsTaken) {
|
|
61
|
+
if (action.success) {
|
|
62
|
+
const statChange = action.statChanges[0];
|
|
63
|
+
if (statChange) {
|
|
64
|
+
console.log(chalk_1.default.green(` ✓ ${getActionMessage(action)} (${statChange.from} → ${statChange.to})`));
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
console.log(chalk_1.default.green(` ✓ ${getActionMessage(action)}`));
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
console.log(chalk_1.default.red(` ✗ ${getActionMessage(action)}`));
|
|
72
|
+
if (action.reason) {
|
|
73
|
+
console.log(chalk_1.default.gray(` ${action.reason}`));
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
console.log((0, display_1.drawDivider)(46));
|
|
78
|
+
// Show summary
|
|
79
|
+
const successfulActions = result.actionsTaken.filter((a) => a.success);
|
|
80
|
+
if (successfulActions.length > 0) {
|
|
81
|
+
console.log(chalk_1.default.green(`${data.name} feels much better! 🎉`));
|
|
82
|
+
}
|
|
83
|
+
// Show coins
|
|
84
|
+
console.log('');
|
|
85
|
+
console.log(chalk_1.default.yellow(`Coins: ${pet.getCoins()} 🪙`));
|
|
86
|
+
console.log('');
|
|
87
|
+
});
|
|
88
|
+
function getActionMessage(action) {
|
|
89
|
+
const petName = 'Sparky'; // Generic name, will be replaced with actual pet name in display
|
|
90
|
+
switch (action.action) {
|
|
91
|
+
case 'feed':
|
|
92
|
+
return `Fed ${petName} (${action.itemName})`;
|
|
93
|
+
case 'play':
|
|
94
|
+
return `Played with ${petName} (${action.itemName})`;
|
|
95
|
+
case 'clean':
|
|
96
|
+
return `Cleaned ${petName} (${action.itemName})`;
|
|
97
|
+
case 'heal':
|
|
98
|
+
return `Healed ${petName} (${action.itemName})`;
|
|
99
|
+
default:
|
|
100
|
+
return action.itemName;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=care.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"care.js","sourceRoot":"","sources":["../../src/commands/care.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clean.d.ts","sourceRoot":"","sources":["../../src/commands/clean.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,eAAO,MAAM,YAAY,SAAuB,CAAC"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.cleanCommand = void 0;
|
|
7
|
+
const commander_1 = require("commander");
|
|
8
|
+
const inquirer_1 = __importDefault(require("inquirer"));
|
|
9
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
10
|
+
const path_1 = __importDefault(require("path"));
|
|
11
|
+
const database_1 = require("../core/database");
|
|
12
|
+
const pet_1 = require("../core/pet");
|
|
13
|
+
const display_1 = require("../ui/display");
|
|
14
|
+
const ascii_art_1 = require("../ui/ascii-art");
|
|
15
|
+
const items_1 = require("../types/items");
|
|
16
|
+
exports.cleanCommand = new commander_1.Command('clean');
|
|
17
|
+
exports.cleanCommand.description('Clean your pet').action(async () => {
|
|
18
|
+
const db = new database_1.Database(path_1.default.join(process.cwd(), 'data', 'pet.json'));
|
|
19
|
+
if (!db.hasPet()) {
|
|
20
|
+
console.log(chalk_1.default.yellow("You don't have a pet yet!"));
|
|
21
|
+
console.log(chalk_1.default.gray('Use "pet init" to create one.'));
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
const pet = await pet_1.Pet.loadOrCreate(db);
|
|
25
|
+
const data = pet.getData();
|
|
26
|
+
const inventory = pet.getInventory();
|
|
27
|
+
if (data.isSleeping) {
|
|
28
|
+
console.log(chalk_1.default.yellow(`${data.name} is sleeping! Wake them up first.`));
|
|
29
|
+
console.log(chalk_1.default.gray('Use "pet sleep" to wake them up.'));
|
|
30
|
+
console.log('');
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
// Get cleaning items from inventory
|
|
34
|
+
const cleaningItems = inventory.getItemsByType(items_1.ItemType.CLEANING);
|
|
35
|
+
if (cleaningItems.length === 0) {
|
|
36
|
+
console.log('');
|
|
37
|
+
console.log((0, display_1.drawHeader)('NO SUPPLIES'));
|
|
38
|
+
console.log('');
|
|
39
|
+
console.log(chalk_1.default.green((0, ascii_art_1.getPetAscii)(data.species, data.mood, data.isSleeping)));
|
|
40
|
+
console.log('');
|
|
41
|
+
console.log(chalk_1.default.yellow("You don't have any cleaning supplies!"));
|
|
42
|
+
console.log(chalk_1.default.gray('Use "pet inventory" to see your items.'));
|
|
43
|
+
console.log(chalk_1.default.gray('Find items through gameplay or future shop features!'));
|
|
44
|
+
console.log('');
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
// If only one cleaning item, use it directly
|
|
48
|
+
if (cleaningItems.length === 1) {
|
|
49
|
+
const itemId = cleaningItems[0].itemId;
|
|
50
|
+
const itemDef = (0, items_1.getItem)(itemId);
|
|
51
|
+
if (itemDef) {
|
|
52
|
+
useCleaningItem(pet, data, itemId, itemDef);
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
// Let user choose which cleaning item to use
|
|
57
|
+
const choices = cleaningItems.map((item) => {
|
|
58
|
+
const itemDef = (0, items_1.getItem)(item.itemId);
|
|
59
|
+
return {
|
|
60
|
+
name: `${itemDef?.emoji || '🧼'} ${itemDef?.name} (x${item.quantity})`,
|
|
61
|
+
value: item.itemId,
|
|
62
|
+
};
|
|
63
|
+
});
|
|
64
|
+
const answers = await inquirer_1.default.prompt([
|
|
65
|
+
{
|
|
66
|
+
type: 'list',
|
|
67
|
+
name: 'itemId',
|
|
68
|
+
message: 'What would you like to use?',
|
|
69
|
+
choices,
|
|
70
|
+
},
|
|
71
|
+
]);
|
|
72
|
+
const itemId = answers.itemId;
|
|
73
|
+
const itemDef = (0, items_1.getItem)(itemId);
|
|
74
|
+
if (itemDef) {
|
|
75
|
+
useCleaningItem(pet, data, itemId, itemDef);
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
function useCleaningItem(pet, data, itemId, itemDef) {
|
|
79
|
+
const result = pet.useItem(itemId);
|
|
80
|
+
console.log('');
|
|
81
|
+
console.log((0, display_1.drawHeader)('GROOMING TIME'));
|
|
82
|
+
console.log('');
|
|
83
|
+
console.log(chalk_1.default.cyan((0, ascii_art_1.getActionAscii)('clean', data.species)));
|
|
84
|
+
console.log('');
|
|
85
|
+
console.log((0, display_1.drawDivider)(42));
|
|
86
|
+
console.log(chalk_1.default.cyan(`${data.name} used the ${itemDef.name}! ${itemDef.emoji}`));
|
|
87
|
+
console.log(chalk_1.default.gray(itemDef.description));
|
|
88
|
+
console.log((0, display_1.drawDivider)(42));
|
|
89
|
+
if (result.success) {
|
|
90
|
+
console.log('');
|
|
91
|
+
const lines = (0, display_1.drawStatChanges)(result.statChanges);
|
|
92
|
+
console.log(lines.join('\n'));
|
|
93
|
+
if (result.levelUp) {
|
|
94
|
+
console.log('');
|
|
95
|
+
console.log(chalk_1.default.yellow.bold(`Level ${result.newLevel} reached! 🎉`));
|
|
96
|
+
}
|
|
97
|
+
console.log('');
|
|
98
|
+
console.log(chalk_1.default.gray(`XP: +${result.xpGained}`));
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
console.log(chalk_1.default.yellow(result.message));
|
|
102
|
+
}
|
|
103
|
+
console.log('');
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=clean.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clean.js","sourceRoot":"","sources":["../../src/commands/clean.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"feed.d.ts","sourceRoot":"","sources":["../../src/commands/feed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,eAAO,MAAM,WAAW,SAAsB,CAAC"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.feedCommand = void 0;
|
|
7
|
+
const commander_1 = require("commander");
|
|
8
|
+
const inquirer_1 = __importDefault(require("inquirer"));
|
|
9
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
10
|
+
const path_1 = __importDefault(require("path"));
|
|
11
|
+
const database_1 = require("../core/database");
|
|
12
|
+
const pet_1 = require("../core/pet");
|
|
13
|
+
const display_1 = require("../ui/display");
|
|
14
|
+
const ascii_art_1 = require("../ui/ascii-art");
|
|
15
|
+
const items_1 = require("../types/items");
|
|
16
|
+
exports.feedCommand = new commander_1.Command('feed');
|
|
17
|
+
exports.feedCommand.description('Feed your pet').action(async () => {
|
|
18
|
+
const db = new database_1.Database(path_1.default.join(process.cwd(), 'data', 'pet.json'));
|
|
19
|
+
if (!db.hasPet()) {
|
|
20
|
+
console.log(chalk_1.default.yellow("You don't have a pet yet!"));
|
|
21
|
+
console.log(chalk_1.default.gray('Use "pet init" to create one.'));
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
const pet = await pet_1.Pet.loadOrCreate(db);
|
|
25
|
+
const data = pet.getData();
|
|
26
|
+
const inventory = pet.getInventory();
|
|
27
|
+
if (data.isSleeping) {
|
|
28
|
+
console.log(chalk_1.default.yellow(`${data.name} is sleeping! Wake them up first.`));
|
|
29
|
+
console.log(chalk_1.default.gray('Use "pet sleep" to wake them up.'));
|
|
30
|
+
console.log('');
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
// Get food items from inventory
|
|
34
|
+
const foodItems = inventory.getItemsByType(items_1.ItemType.FOOD);
|
|
35
|
+
if (foodItems.length === 0) {
|
|
36
|
+
console.log('');
|
|
37
|
+
console.log((0, display_1.drawHeader)('PANTRY EMPTY'));
|
|
38
|
+
console.log('');
|
|
39
|
+
console.log(chalk_1.default.green((0, ascii_art_1.getPetAscii)(data.species, data.mood, data.isSleeping)));
|
|
40
|
+
console.log('');
|
|
41
|
+
console.log(chalk_1.default.yellow("You don't have any food!"));
|
|
42
|
+
console.log(chalk_1.default.gray('Use "pet inventory" to see your items.'));
|
|
43
|
+
console.log(chalk_1.default.gray('Find items through gameplay or future shop features!'));
|
|
44
|
+
console.log('');
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
// If only one food item, use it directly
|
|
48
|
+
if (foodItems.length === 1) {
|
|
49
|
+
const itemId = foodItems[0].itemId;
|
|
50
|
+
const itemDef = (0, items_1.getItem)(itemId);
|
|
51
|
+
if (itemDef) {
|
|
52
|
+
useFoodItem(pet, data, itemId, itemDef);
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
// Let user choose which food to use
|
|
57
|
+
const choices = foodItems.map((item) => {
|
|
58
|
+
const itemDef = (0, items_1.getItem)(item.itemId);
|
|
59
|
+
return {
|
|
60
|
+
name: `${itemDef?.emoji || '🍖'} ${itemDef?.name} (x${item.quantity})`,
|
|
61
|
+
value: item.itemId,
|
|
62
|
+
};
|
|
63
|
+
});
|
|
64
|
+
const answers = await inquirer_1.default.prompt([
|
|
65
|
+
{
|
|
66
|
+
type: 'list',
|
|
67
|
+
name: 'itemId',
|
|
68
|
+
message: 'What would you like to feed your pet?',
|
|
69
|
+
choices,
|
|
70
|
+
},
|
|
71
|
+
]);
|
|
72
|
+
const itemId = answers.itemId;
|
|
73
|
+
const itemDef = (0, items_1.getItem)(itemId);
|
|
74
|
+
if (itemDef) {
|
|
75
|
+
useFoodItem(pet, data, itemId, itemDef);
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
function useFoodItem(pet, data, itemId, itemDef) {
|
|
79
|
+
const result = pet.useItem(itemId);
|
|
80
|
+
console.log('');
|
|
81
|
+
console.log((0, display_1.drawHeader)('FEEDING TIME'));
|
|
82
|
+
console.log('');
|
|
83
|
+
console.log(chalk_1.default.green((0, ascii_art_1.getActionAscii)('eat', data.species)));
|
|
84
|
+
console.log('');
|
|
85
|
+
console.log((0, display_1.drawDivider)(42));
|
|
86
|
+
console.log(chalk_1.default.cyan(`${data.name} enjoyed the ${itemDef.name}! ${itemDef.emoji}`));
|
|
87
|
+
console.log(chalk_1.default.gray(itemDef.description));
|
|
88
|
+
console.log((0, display_1.drawDivider)(42));
|
|
89
|
+
if (result.success) {
|
|
90
|
+
console.log('');
|
|
91
|
+
const lines = (0, display_1.drawStatChanges)(result.statChanges);
|
|
92
|
+
console.log(lines.join('\n'));
|
|
93
|
+
if (result.levelUp) {
|
|
94
|
+
console.log('');
|
|
95
|
+
console.log(chalk_1.default.yellow.bold(`Level ${result.newLevel} reached! 🎉`));
|
|
96
|
+
console.log(chalk_1.default.gray(`${data.name} is now a ${pet.getLevelTitle()} ${data.species}!`));
|
|
97
|
+
}
|
|
98
|
+
console.log('');
|
|
99
|
+
console.log(chalk_1.default.gray(`XP: +${result.xpGained}`));
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
console.log(chalk_1.default.yellow(result.message));
|
|
103
|
+
}
|
|
104
|
+
console.log('');
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=feed.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"feed.js","sourceRoot":"","sources":["../../src/commands/feed.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/commands/git.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,eAAO,MAAM,UAAU,SAAqB,CAAC"}
|