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
|
@@ -0,0 +1,180 @@
|
|
|
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.WelcomeSystem = void 0;
|
|
7
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
+
const path_1 = __importDefault(require("path"));
|
|
9
|
+
const fs_1 = __importDefault(require("fs"));
|
|
10
|
+
const display_1 = require("../ui/display");
|
|
11
|
+
/**
|
|
12
|
+
* Pet quotes for startup
|
|
13
|
+
*/
|
|
14
|
+
const PET_QUOTES = [
|
|
15
|
+
'"Every commit makes my tail wag! 🐕"',
|
|
16
|
+
'"I love watching you code! 💻"',
|
|
17
|
+
'"You\'re my favorite human! 💜"',
|
|
18
|
+
'"Code more, pet me later! ⌨️"',
|
|
19
|
+
'"My human is a developer! 🎉"',
|
|
20
|
+
'"Bugs fixed = treats earned! 🐛"',
|
|
21
|
+
'"Let\'s build something amazing! 🚀"',
|
|
22
|
+
'"I\'ll wait while you code... 👀"',
|
|
23
|
+
'"Push to prod, then play! 🚢"',
|
|
24
|
+
'"Your commit messages are funny! 😄"',
|
|
25
|
+
'"Coding together is the best! 💕"',
|
|
26
|
+
'"Zero bugs, infinite treats! ✨"',
|
|
27
|
+
'"My furriend is a developer! 🐾"',
|
|
28
|
+
'"Commit often, pet always! 🎮"',
|
|
29
|
+
'"You make my tail wag! 🐕💕"',
|
|
30
|
+
];
|
|
31
|
+
/**
|
|
32
|
+
* Special date-based messages
|
|
33
|
+
*/
|
|
34
|
+
const getSpecialMessage = () => {
|
|
35
|
+
const now = new Date();
|
|
36
|
+
const month = now.getMonth() + 1;
|
|
37
|
+
const date = now.getDate();
|
|
38
|
+
const day = now.getDay();
|
|
39
|
+
// New Year's Day
|
|
40
|
+
if (month === 1 && date === 1) {
|
|
41
|
+
return '🎄 Happy New Year! Let\'s make this year bug-free!';
|
|
42
|
+
}
|
|
43
|
+
// Valentine's Day
|
|
44
|
+
if (month === 2 && date === 14) {
|
|
45
|
+
return '💕 Valentine\'s Day! I love coding with you!';
|
|
46
|
+
}
|
|
47
|
+
// April Fools' Day
|
|
48
|
+
if (month === 4 && date === 1) {
|
|
49
|
+
return '🤡 April Fools! No bugs today... hopefully!';
|
|
50
|
+
}
|
|
51
|
+
// Halloween
|
|
52
|
+
if (month === 10 && date === 31) {
|
|
53
|
+
return '🎃 Happy Halloween! Watch out for ghost bugs!';
|
|
54
|
+
}
|
|
55
|
+
// Christmas
|
|
56
|
+
if (month === 12 && date === 25) {
|
|
57
|
+
return '🎄 Merry Christmas! Santa says you\'ve been a good coder!';
|
|
58
|
+
}
|
|
59
|
+
// Friday
|
|
60
|
+
if (day === 5) {
|
|
61
|
+
return '🎉 It\'s Friday! Time to wrap up those PRs!';
|
|
62
|
+
}
|
|
63
|
+
// Monday
|
|
64
|
+
if (day === 1) {
|
|
65
|
+
return '☕ Monday coffee in hand, let\'s squash some bugs!';
|
|
66
|
+
}
|
|
67
|
+
return null;
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* Welcome system for Pet Terminal
|
|
71
|
+
*/
|
|
72
|
+
class WelcomeSystem {
|
|
73
|
+
/**
|
|
74
|
+
* Show the startup logo
|
|
75
|
+
*/
|
|
76
|
+
static showStartupLogo() {
|
|
77
|
+
console.log('');
|
|
78
|
+
console.log(chalk_1.default.cyan('╔═══════════════════════════════════════════════════════════╗'));
|
|
79
|
+
console.log(chalk_1.default.cyan('║') + chalk_1.default.yellow.bold(' 🐾 PET TERMINAL 🐾 Your Coding Companion ') + chalk_1.default.cyan(' ║'));
|
|
80
|
+
console.log(chalk_1.default.cyan('╚═══════════════════════════════════════════════════════════╝'));
|
|
81
|
+
console.log('');
|
|
82
|
+
console.log(chalk_1.default.green(' / \\__'));
|
|
83
|
+
console.log(chalk_1.default.green(' ( @\\___'));
|
|
84
|
+
console.log(chalk_1.default.green(' / O'));
|
|
85
|
+
console.log(chalk_1.default.green(' / (_____ /'));
|
|
86
|
+
console.log(chalk_1.default.green(' /_____/ U'));
|
|
87
|
+
console.log('');
|
|
88
|
+
// Show special message if applicable
|
|
89
|
+
const specialMessage = getSpecialMessage();
|
|
90
|
+
if (specialMessage) {
|
|
91
|
+
console.log(chalk_1.default.magenta(` ${specialMessage}`));
|
|
92
|
+
console.log('');
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
// Show random pet quote
|
|
96
|
+
const quote = this.getPetQuote();
|
|
97
|
+
console.log(chalk_1.default.gray(` ${quote}`));
|
|
98
|
+
console.log('');
|
|
99
|
+
}
|
|
100
|
+
console.log(chalk_1.default.gray(' Version 1.0.0 | Type "pet tutorial" for help'));
|
|
101
|
+
console.log('');
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Get a random pet quote
|
|
105
|
+
*/
|
|
106
|
+
static getPetQuote() {
|
|
107
|
+
const index = Math.floor(Math.random() * PET_QUOTES.length);
|
|
108
|
+
return PET_QUOTES[index];
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Show first-time welcome message
|
|
112
|
+
*/
|
|
113
|
+
static showFirstTimeWelcome() {
|
|
114
|
+
console.log('');
|
|
115
|
+
console.log((0, display_1.drawHeader)('WELCOME TO PET TERMINAL!', 50));
|
|
116
|
+
console.log('');
|
|
117
|
+
console.log(chalk_1.default.green(' / \\__'));
|
|
118
|
+
console.log(chalk_1.default.green(' ( @\\___'));
|
|
119
|
+
console.log(chalk_1.default.green(' / O'));
|
|
120
|
+
console.log(chalk_1.default.green(' / (_____ /'));
|
|
121
|
+
console.log(chalk_1.default.green(' /_____/ U'));
|
|
122
|
+
console.log('');
|
|
123
|
+
console.log(chalk_1.default.magenta.bold(' "Writing code = being with your pet"'));
|
|
124
|
+
console.log('');
|
|
125
|
+
console.log((0, display_1.drawDivider)(50));
|
|
126
|
+
console.log('');
|
|
127
|
+
console.log(chalk_1.default.white('Pet Terminal is a coding companion that lives'));
|
|
128
|
+
console.log(chalk_1.default.white('in your terminal. Your pet grows happier when'));
|
|
129
|
+
console.log(chalk_1.default.white('you make Git commits!'));
|
|
130
|
+
console.log('');
|
|
131
|
+
console.log(chalk_1.default.cyan.bold('Quick Start:'));
|
|
132
|
+
console.log(chalk_1.default.cyan(' 1. Create your pet:') + chalk_1.default.gray(' pet init'));
|
|
133
|
+
console.log(chalk_1.default.cyan(' 2. Check your pet:') + chalk_1.default.gray(' pet status'));
|
|
134
|
+
console.log(chalk_1.default.cyan(' 3. Make commits & earn:') + chalk_1.default.gray(' pet git'));
|
|
135
|
+
console.log('');
|
|
136
|
+
console.log(chalk_1.default.gray('Type "pet tutorial" for the full guide.'));
|
|
137
|
+
console.log('');
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Check if this is the first run (no pet exists)
|
|
141
|
+
*/
|
|
142
|
+
static isFirstRun(db) {
|
|
143
|
+
if (db) {
|
|
144
|
+
return !db.hasPet();
|
|
145
|
+
}
|
|
146
|
+
// Check without database instance
|
|
147
|
+
try {
|
|
148
|
+
const dbPath = path_1.default.join(process.cwd(), 'data', 'pet.json');
|
|
149
|
+
return !fs_1.default.existsSync(dbPath);
|
|
150
|
+
}
|
|
151
|
+
catch {
|
|
152
|
+
return true;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Show a helpful message when no pet is found
|
|
157
|
+
*/
|
|
158
|
+
static showNoPetMessage() {
|
|
159
|
+
console.log('');
|
|
160
|
+
console.log(chalk_1.default.red('╔══════════════════════════════════════════════════════════════╗'));
|
|
161
|
+
console.log(chalk_1.default.red('║') + chalk_1.default.white.bold(' ❌ No pet found in this directory ') + chalk_1.default.red(' ║'));
|
|
162
|
+
console.log(chalk_1.default.red('╚══════════════════════════════════════════════════════════════╝'));
|
|
163
|
+
console.log('');
|
|
164
|
+
console.log(chalk_1.default.gray("Let's create your first pet!"));
|
|
165
|
+
console.log('');
|
|
166
|
+
console.log(chalk_1.default.cyan(' pet init'));
|
|
167
|
+
console.log('');
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Show welcome back message when returning user runs without args
|
|
171
|
+
*/
|
|
172
|
+
static showWelcomeBack(petName, petSpecies) {
|
|
173
|
+
console.log('');
|
|
174
|
+
console.log(chalk_1.default.cyan(` Hello! ${petName} the ${petSpecies} misses you!`));
|
|
175
|
+
console.log(chalk_1.default.gray(` ${this.getPetQuote()}`));
|
|
176
|
+
console.log('');
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
exports.WelcomeSystem = WelcomeSystem;
|
|
180
|
+
//# sourceMappingURL=welcome.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"welcome.js","sourceRoot":"","sources":["../../src/core/welcome.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
|
+
};
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
const commander_1 = require("commander");
|
|
8
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
9
|
+
const init_1 = require("./commands/init");
|
|
10
|
+
const status_1 = require("./commands/status");
|
|
11
|
+
const feed_1 = require("./commands/feed");
|
|
12
|
+
const play_1 = require("./commands/play");
|
|
13
|
+
const clean_1 = require("./commands/clean");
|
|
14
|
+
const sleep_1 = require("./commands/sleep");
|
|
15
|
+
const heal_1 = require("./commands/heal");
|
|
16
|
+
const sync_1 = require("./commands/sync");
|
|
17
|
+
const inventory_1 = require("./commands/inventory");
|
|
18
|
+
const shop_1 = require("./commands/shop");
|
|
19
|
+
const git_1 = require("./commands/git");
|
|
20
|
+
const care_1 = require("./commands/care");
|
|
21
|
+
const tutorial_1 = require("./commands/tutorial");
|
|
22
|
+
const welcome_1 = require("./core/welcome");
|
|
23
|
+
const help_1 = require("./ui/help");
|
|
24
|
+
const program = new commander_1.Command();
|
|
25
|
+
program
|
|
26
|
+
.name('pet')
|
|
27
|
+
.description('A terminal-based virtual pet game')
|
|
28
|
+
.version('1.0.0', '-v, --version', 'Show version number')
|
|
29
|
+
.addHelpText('afterAll', '\nNeed help? Run "pet tutorial" for the getting started guide.\n');
|
|
30
|
+
// Override default help to use our enhanced help system
|
|
31
|
+
program.configureHelp({
|
|
32
|
+
showGlobalOptions: true,
|
|
33
|
+
});
|
|
34
|
+
program
|
|
35
|
+
.command('hello')
|
|
36
|
+
.description('Say hello to your virtual pet')
|
|
37
|
+
.action(() => {
|
|
38
|
+
welcome_1.WelcomeSystem.showStartupLogo();
|
|
39
|
+
});
|
|
40
|
+
// Register all pet commands
|
|
41
|
+
program.addCommand(init_1.initCommand);
|
|
42
|
+
program.addCommand(status_1.statusCommand);
|
|
43
|
+
program.addCommand(feed_1.feedCommand);
|
|
44
|
+
program.addCommand(play_1.playCommand);
|
|
45
|
+
program.addCommand(clean_1.cleanCommand);
|
|
46
|
+
program.addCommand(sleep_1.sleepCommand);
|
|
47
|
+
program.addCommand(heal_1.healCommand);
|
|
48
|
+
program.addCommand(sync_1.syncCommand);
|
|
49
|
+
program.addCommand(inventory_1.inventoryCommand);
|
|
50
|
+
program.addCommand(shop_1.shopCommand);
|
|
51
|
+
program.addCommand(git_1.gitCommand);
|
|
52
|
+
program.addCommand(care_1.careCommand);
|
|
53
|
+
program.addCommand(tutorial_1.tutorialCommand);
|
|
54
|
+
// Handle bare "pet" command - show welcome
|
|
55
|
+
program.action(() => {
|
|
56
|
+
welcome_1.WelcomeSystem.showStartupLogo();
|
|
57
|
+
});
|
|
58
|
+
// Parse and execute
|
|
59
|
+
(async () => {
|
|
60
|
+
try {
|
|
61
|
+
// Check if we should show startup logo (not for --help or --version)
|
|
62
|
+
const args = process.argv.slice(2);
|
|
63
|
+
// Check if running a subcommand
|
|
64
|
+
const hasValidCommand = args.length > 0 && program.commands.some(cmd => cmd.name() === args[0] || cmd.aliases().includes(args[0]));
|
|
65
|
+
// Only show logo if running bare "pet" command
|
|
66
|
+
if (args.length === 0) {
|
|
67
|
+
welcome_1.WelcomeSystem.showStartupLogo();
|
|
68
|
+
}
|
|
69
|
+
else if (!hasValidCommand && !args.includes('--help') && !args.includes('-h')) {
|
|
70
|
+
// Unknown command, show help
|
|
71
|
+
(0, help_1.showDetailedHelp)();
|
|
72
|
+
}
|
|
73
|
+
await program.parseAsync(process.argv);
|
|
74
|
+
}
|
|
75
|
+
catch (error) {
|
|
76
|
+
console.error(chalk_1.default.red('Error:'), error instanceof Error ? error.message : error);
|
|
77
|
+
process.exit(1);
|
|
78
|
+
}
|
|
79
|
+
})();
|
|
80
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { GitCommitInfo, GitCommitType, GitRewardResult } from '../types/git';
|
|
2
|
+
/**
|
|
3
|
+
* Git Monitor class for detecting and analyzing Git commits
|
|
4
|
+
*/
|
|
5
|
+
export declare class GitMonitor {
|
|
6
|
+
private repoPath;
|
|
7
|
+
constructor(startPath?: string);
|
|
8
|
+
/**
|
|
9
|
+
* Search for .git folder in current or parent directories
|
|
10
|
+
*/
|
|
11
|
+
private findGitRepo;
|
|
12
|
+
/**
|
|
13
|
+
* Check if we're inside a Git repository
|
|
14
|
+
*/
|
|
15
|
+
isInGitRepo(): boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Get the repository path
|
|
18
|
+
*/
|
|
19
|
+
getRepoPath(): string | null;
|
|
20
|
+
/**
|
|
21
|
+
* Check if Git is installed
|
|
22
|
+
*/
|
|
23
|
+
static isGitAvailable(): Promise<boolean>;
|
|
24
|
+
/**
|
|
25
|
+
* Get recent commits from the repository
|
|
26
|
+
*/
|
|
27
|
+
getLatestCommits(limit?: number): Promise<GitCommitInfo[]>;
|
|
28
|
+
/**
|
|
29
|
+
* Parse git log output into GitCommitInfo array
|
|
30
|
+
*/
|
|
31
|
+
private parseGitLog;
|
|
32
|
+
/**
|
|
33
|
+
* Get file changes for a specific commit
|
|
34
|
+
*/
|
|
35
|
+
getCommitChanges(commitHash: string): Promise<{
|
|
36
|
+
filesChanged: number;
|
|
37
|
+
linesAdded: number;
|
|
38
|
+
linesDeleted: number;
|
|
39
|
+
} | null>;
|
|
40
|
+
/**
|
|
41
|
+
* Parse git shortstat output
|
|
42
|
+
* Example: " 3 files changed, 45 insertions(+), 12 deletions(-)"
|
|
43
|
+
*/
|
|
44
|
+
private parseShortStat;
|
|
45
|
+
/**
|
|
46
|
+
* Analyze commit message to determine type
|
|
47
|
+
*/
|
|
48
|
+
analyzeCommitType(message: string): GitCommitType;
|
|
49
|
+
/**
|
|
50
|
+
* Check if commit was made during "night owl" hours (22:00-06:00)
|
|
51
|
+
*/
|
|
52
|
+
isNightCommit(date: Date): boolean;
|
|
53
|
+
/**
|
|
54
|
+
* Check if commit is "large" (100+ total lines changed)
|
|
55
|
+
*/
|
|
56
|
+
isLargeCommit(linesAdded: number, linesDeleted: number): boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Calculate reward for a commit
|
|
59
|
+
*/
|
|
60
|
+
calculateReward(commit: GitCommitInfo): GitRewardResult;
|
|
61
|
+
/**
|
|
62
|
+
* Get commits since a specific commit (exclusive)
|
|
63
|
+
*/
|
|
64
|
+
getCommitsSince(lastCommitHash: string): Promise<GitCommitInfo[]>;
|
|
65
|
+
/**
|
|
66
|
+
* Get all commits (for initial setup when lastCommitHash is undefined)
|
|
67
|
+
*/
|
|
68
|
+
getAllCommits(limit?: number): Promise<GitCommitInfo[]>;
|
|
69
|
+
/**
|
|
70
|
+
* Get commit type display name
|
|
71
|
+
*/
|
|
72
|
+
static getCommitTypeName(type: GitCommitType): string;
|
|
73
|
+
/**
|
|
74
|
+
* Get commit type color for terminal display
|
|
75
|
+
*/
|
|
76
|
+
static getCommitTypeColor(type: GitCommitType): string;
|
|
77
|
+
/**
|
|
78
|
+
* Calculate day difference between two dates (for streak calculation)
|
|
79
|
+
*/
|
|
80
|
+
static getDayDiff(date1: Date, date2: Date): number;
|
|
81
|
+
/**
|
|
82
|
+
* Format date as YYYY-MM-DD
|
|
83
|
+
*/
|
|
84
|
+
static formatDate(date: Date): string;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Create a GitMonitor instance
|
|
88
|
+
*/
|
|
89
|
+
export declare const createGitMonitor: (startPath?: string) => GitMonitor;
|
|
90
|
+
//# sourceMappingURL=git-monitor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-monitor.d.ts","sourceRoot":"","sources":["../../src/monitor/git-monitor.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,aAAa,EACb,aAAa,EACb,eAAe,EAChB,MAAM,cAAc,CAAC;AAEtB;;GAEG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAuB;gBAE3B,SAAS,GAAE,MAAsB;IAI7C;;OAEG;IACH,OAAO,CAAC,WAAW;IAcnB;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;OAEG;IACH,WAAW,IAAI,MAAM,GAAG,IAAI;IAI5B;;OAEG;WACU,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAS/C;;OAEG;IACG,gBAAgB,CAAC,KAAK,GAAE,MAAW,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAmBpE;;OAEG;IACH,OAAO,CAAC,WAAW;IA2BnB;;OAEG;IACG,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;QAClD,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;KACtB,GAAG,IAAI,CAAC;IAiBT;;;OAGG;IACH,OAAO,CAAC,cAAc;IAoCtB;;OAEG;IACH,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa;IAqCjD;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;IAKlC;;OAEG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO;IAIhE;;OAEG;IACH,eAAe,CAAC,MAAM,EAAE,aAAa,GAAG,eAAe;IA2DvD;;OAEG;IACG,eAAe,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IA6BvE;;OAEG;IACG,aAAa,CAAC,KAAK,GAAE,MAAW,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAgBjE;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM;IAcrD;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM;IActD;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,GAAG,MAAM;IAQnD;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;CAItC;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,YAAY,MAAM,KAAG,UAErD,CAAC"}
|