claude-minipet 0.5.0 → 0.6.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 CHANGED
@@ -1,5 +1,8 @@
1
1
  # 🐾 Claude MiniPet
2
2
 
3
+ > [!IMPORTANT]
4
+ > **隐私声明:** 本项目所有 Hooks 仅用于宠物状态(经验、心情、饱食度等)的娱乐性监测,**不会读取、存储或传输你的任何代码内容、文件内容或对话内容。** 所有数据处理均在本地端侧完成,云同步仅上传宠物状态数值(等级、经验、统计计数等),不包含任何源码或隐私信息。项目完全开源,欢迎审查代码。
5
+
3
6
  一只住在 [Claude Code](https://docs.anthropic.com/en/docs/claude-code) 终端里的虚拟宠物。在你编程时它会陪伴在终端底部,随着你的 coding 活动获得经验、升级、进化。
4
7
 
5
8
  > **前提条件:** 本工具是 Claude Code 的扩展插件,需要先安装 Node.js 和 Claude Code。
@@ -1,13 +1,21 @@
1
- import type { PetState, Species } from './types.js';
1
+ import type { PetState, Species, LangCategory, CodingStyle } from './types.js';
2
2
  /** Evolution branch definition */
3
3
  export interface EvolutionBranch {
4
4
  name: string;
5
5
  nameZh: string;
6
- condition: (state: PetState) => boolean;
7
6
  description: string;
8
7
  }
9
- /** Evolution tree: species stage → branches */
10
- export declare const EVOLUTION_TREE: Record<Species, Record<string, EvolutionBranch[]>>;
8
+ /** Per-species evolution tree */
9
+ export interface SpeciesEvolutionTree {
10
+ growth: Record<LangCategory, EvolutionBranch>;
11
+ final: Record<CodingStyle, EvolutionBranch>;
12
+ }
13
+ /** Full evolution tree: 6 species × (7 first-evo + 5 second-evo) */
14
+ export declare const EVOLUTION_TREE: Record<Species, SpeciesEvolutionTree>;
15
+ /** Get dominant programming language from file edit stats */
16
+ export declare function getDominantLang(state: PetState): LangCategory;
17
+ /** Get coding style from habits */
18
+ export declare function getCodingStyle(state: PetState): CodingStyle;
11
19
  /** Check if pet is ready to evolve, return the branch name or null */
12
20
  export declare function checkEvolution(state: PetState): string | null;
13
21
  /** Get evolution info by name */
@@ -1,246 +1,189 @@
1
- /** Evolution tree: species stage branches */
1
+ /** Full evolution tree: 6 species × (7 first-evo + 5 second-evo) */
2
2
  export const EVOLUTION_TREE = {
3
3
  bitcat: {
4
- growth: [
5
- {
6
- name: 'shadow_cat',
7
- nameZh: '影猫',
8
- condition: (s) => editRatio(s) > 0.6,
9
- description: 'Born from countless lines of code written in silence',
10
- },
11
- {
12
- name: 'solar_cat',
13
- nameZh: '日猫',
14
- condition: (s) => bashRatio(s) > 0.6,
15
- description: 'Empowered by the blazing speed of shell commands',
16
- },
17
- ],
18
- final: [
19
- {
20
- name: 'void_cat',
21
- nameZh: '虚空猫',
22
- condition: (s) => s.bond > 80,
23
- description: 'Deep bond transcends the digital realm',
24
- },
25
- {
26
- name: 'storm_cat',
27
- nameZh: '雷猫',
28
- condition: (s) => avgMood(s) > 70,
29
- description: 'Perpetual joy crystallized into lightning',
30
- },
31
- ],
4
+ growth: {
5
+ python: { name: 'serpent_cat', nameZh: '蛇语猫', description: 'Speaks the tongue of Python' },
6
+ frontend: { name: 'pixel_cat', nameZh: '像素猫', description: 'Paints interfaces with precision' },
7
+ backend: { name: 'iron_cat', nameZh: '铁猫', description: 'Hardened by systems-level code' },
8
+ scripting: { name: 'script_cat', nameZh: '脚本猫', description: 'Swift and nimble, automating everything' },
9
+ docs: { name: 'scroll_cat', nameZh: '卷轴猫', description: 'Keeper of knowledge and docs' },
10
+ ops: { name: 'deploy_cat', nameZh: '部署猫', description: 'Guardian of pipelines' },
11
+ fullstack: { name: 'shadow_cat', nameZh: '影猫', description: 'Master of all trades' },
12
+ },
13
+ final: {
14
+ craftsman: { name: 'void_cat', nameZh: '虚空猫', description: 'Meticulous craft transcends digital' },
15
+ speedster: { name: 'storm_cat', nameZh: '雷猫', description: 'Blazing speed crystallized' },
16
+ collaborator: { name: 'bond_cat', nameZh: '羁绊猫', description: 'Woven from threads of teamwork' },
17
+ nightcoder: { name: 'phantom_cat', nameZh: '幽灵猫', description: 'Stalks code under moonlight' },
18
+ scholar: { name: 'sage_cat', nameZh: '贤者猫', description: 'Wisdom from deep code reading' },
19
+ },
32
20
  },
33
21
  shelldragon: {
34
- growth: [
35
- {
36
- name: 'fire_dragon',
37
- nameZh: '焰龙',
38
- condition: (s) => bashRatio(s) > 0.6,
39
- description: 'Forged in the fires of a thousand shell commands',
40
- },
41
- {
42
- name: 'ice_dragon',
43
- nameZh: '冰龙',
44
- condition: (s) => readRatio(s) > 0.5,
45
- description: 'Cool and methodical, born from careful code reading',
46
- },
47
- ],
48
- final: [
49
- {
50
- name: 'storm_dragon',
51
- nameZh: '雷暴龙',
52
- condition: (s) => s.stats.totalBash > 500,
53
- description: 'Absolute mastery of the command line',
54
- },
55
- {
56
- name: 'crystal_dragon',
57
- nameZh: '晶龙',
58
- condition: (s) => s.bond > 80,
59
- description: 'Crystallized from unbreakable trust',
60
- },
61
- ],
22
+ growth: {
23
+ python: { name: 'venom_dragon', nameZh: '蛇毒龙', description: 'Venomous Python strikes with precision' },
24
+ frontend: { name: 'prism_dragon', nameZh: '棱镜龙', description: 'Refracts light into interfaces' },
25
+ backend: { name: 'forge_dragon', nameZh: '锻造龙', description: 'Hammers raw metal into systems' },
26
+ scripting: { name: 'wind_dragon', nameZh: '疾风龙', description: 'Commands flow like wind' },
27
+ docs: { name: 'lore_dragon', nameZh: '典籍龙', description: 'Guarding sacred scrolls' },
28
+ ops: { name: 'siege_dragon', nameZh: '攻城龙', description: 'Breaches any deployment barrier' },
29
+ fullstack: { name: 'fire_dragon', nameZh: '焰龙', description: 'All-consuming flame of versatility' },
30
+ },
31
+ final: {
32
+ craftsman: { name: 'crystal_dragon', nameZh: '晶龙', description: 'Crystallized perfection' },
33
+ speedster: { name: 'storm_dragon', nameZh: '雷暴龙', description: 'Command-line devastation' },
34
+ collaborator: { name: 'twin_dragon', nameZh: '双生龙', description: 'Two heads, united' },
35
+ nightcoder: { name: 'abyss_dragon', nameZh: '深渊龙', description: 'Rises from midnight depths' },
36
+ scholar: { name: 'elder_dragon', nameZh: '太古龙', description: 'Wisdom across ages' },
37
+ },
62
38
  },
63
39
  codeslime: {
64
- growth: [
65
- {
66
- name: 'gel_cube',
67
- nameZh: '凝胶方块',
68
- condition: (s) => s.level >= 16 && editRatio(s) > 0.5,
69
- description: 'Structured and organized, code given form',
70
- },
71
- {
72
- name: 'plasma_slime',
73
- nameZh: '等离子史莱姆',
74
- condition: (s) => s.stats.totalTests > 50,
75
- description: 'Energized by the spark of passing tests',
76
- },
77
- ],
78
- final: [
79
- {
80
- name: 'omega_slime',
81
- nameZh: '终极史莱姆',
82
- condition: (s) => s.stats.sessionMinutes > 3000,
83
- description: 'Evolved through sheer dedication and time',
84
- },
85
- {
86
- name: 'quantum_slime',
87
- nameZh: '量子史莱姆',
88
- condition: (s) => avgMood(s) > 75,
89
- description: 'Exists in superposition of pure happiness',
90
- },
91
- ],
40
+ growth: {
41
+ python: { name: 'acid_slime', nameZh: '酸液史莱姆', description: 'Dissolves problems with elegance' },
42
+ frontend: { name: 'gel_cube', nameZh: '凝胶方块', description: 'Structured and styled' },
43
+ backend: { name: 'metal_slime', nameZh: '金属史莱姆', description: 'Hard as steel' },
44
+ scripting: { name: 'spark_slime', nameZh: '电光史莱姆', description: 'Crackling with energy' },
45
+ docs: { name: 'ink_slime', nameZh: '墨汁史莱姆', description: 'Absorbs all knowledge' },
46
+ ops: { name: 'nano_slime', nameZh: '纳米史莱姆', description: 'Infiltrates every container' },
47
+ fullstack: { name: 'plasma_slime', nameZh: '等离子史莱姆', description: 'Adapts to any environment' },
48
+ },
49
+ final: {
50
+ craftsman: { name: 'omega_slime', nameZh: '终极史莱姆', description: 'Perfection through dedication' },
51
+ speedster: { name: 'quantum_slime', nameZh: '量子史莱姆', description: 'Superposition of output' },
52
+ collaborator: { name: 'colony_slime', nameZh: '群体史莱姆', description: 'Many merged through teamwork' },
53
+ nightcoder: { name: 'shadow_slime', nameZh: '暗影史莱姆', description: 'Thrives in darkness' },
54
+ scholar: { name: 'archive_slime', nameZh: '典藏史莱姆', description: 'A living library' },
55
+ },
92
56
  },
93
57
  gitfox: {
94
- growth: [
95
- {
96
- name: 'branch_fox',
97
- nameZh: '分支狐',
98
- condition: (s) => s.stats.totalCommits > 30,
99
- description: 'Master of branching timelines',
100
- },
101
- {
102
- name: 'merge_fox',
103
- nameZh: '合流狐',
104
- condition: (s) => s.stats.totalPRs > 10,
105
- description: 'Bringing code together in harmony',
106
- },
107
- ],
108
- final: [
109
- {
110
- name: 'origin_fox',
111
- nameZh: '源狐',
112
- condition: (s) => s.stats.totalCommits > 100,
113
- description: 'The origin of all branches, keeper of history',
114
- },
115
- {
116
- name: 'phantom_fox',
117
- nameZh: '幻影狐',
118
- condition: (s) => s.stats.loginStreak > 14,
119
- description: 'Appears faithfully every day without fail',
120
- },
121
- ],
58
+ growth: {
59
+ python: { name: 'charm_fox', nameZh: '蛊惑狐', description: 'Enchants with Python spells' },
60
+ frontend: { name: 'mirror_fox', nameZh: '镜狐', description: 'Reflects perfect layouts' },
61
+ backend: { name: 'steel_fox', nameZh: '钢狐', description: 'Tough and reliable' },
62
+ scripting: { name: 'swift_fox', nameZh: '迅狐', description: 'Faster than any script' },
63
+ docs: { name: 'scroll_fox', nameZh: '书卷狐', description: 'Reads every scroll' },
64
+ ops: { name: 'tunnel_fox', nameZh: '隧道狐', description: 'Burrows through infra' },
65
+ fullstack: { name: 'branch_fox', nameZh: '分支狐', description: 'Master of all paths' },
66
+ },
67
+ final: {
68
+ craftsman: { name: 'origin_fox', nameZh: '源狐', description: 'Origin of well-crafted branches' },
69
+ speedster: { name: 'flash_fox', nameZh: '闪光狐', description: 'Merges at light speed' },
70
+ collaborator: { name: 'pack_fox', nameZh: '群狐', description: 'Leading the pack' },
71
+ nightcoder: { name: 'phantom_fox', nameZh: '幻影狐', description: 'Appears under starlight' },
72
+ scholar: { name: 'sage_fox', nameZh: '智慧狐', description: 'Keeper of repo wisdom' },
73
+ },
122
74
  },
123
75
  bugowl: {
124
- growth: [
125
- {
126
- name: 'debug_owl',
127
- nameZh: '调试枭',
128
- condition: (s) => s.stats.totalTests > 50,
129
- description: 'Sharp eyes that spot every bug',
130
- },
131
- {
132
- name: 'night_owl',
133
- nameZh: '夜枭',
134
- condition: (s) => s.stats.sessionMinutes > 1000,
135
- description: 'Burns the midnight oil, ever vigilant',
136
- },
137
- ],
138
- final: [
139
- {
140
- name: 'sage_owl',
141
- nameZh: '贤者枭',
142
- condition: (s) => s.bond > 80 && s.stats.totalTests > 100,
143
- description: 'Wisdom earned through countless test cycles',
144
- },
145
- {
146
- name: 'spectral_owl',
147
- nameZh: '幽灵枭',
148
- condition: (s) => s.stats.loginStreak > 14,
149
- description: 'A silent presence that never leaves your side',
150
- },
151
- ],
76
+ growth: {
77
+ python: { name: 'serpent_owl', nameZh: '蛇瞳枭', description: 'Sees every exception' },
78
+ frontend: { name: 'prism_owl', nameZh: '棱镜枭', description: 'Multi-spectral UI vision' },
79
+ backend: { name: 'iron_owl', nameZh: '铁枭', description: 'Sentinel of stability' },
80
+ scripting: { name: 'echo_owl', nameZh: '回声枭', description: 'Hears every shell echo' },
81
+ docs: { name: 'tome_owl', nameZh: '古书枭', description: 'Perched on documentation' },
82
+ ops: { name: 'sentinel_owl', nameZh: '哨兵枭', description: 'Watches over deployments' },
83
+ fullstack: { name: 'debug_owl', nameZh: '调试枭', description: 'Sharp eyes spot any bug' },
84
+ },
85
+ final: {
86
+ craftsman: { name: 'sage_owl', nameZh: '贤者枭', description: 'Test-driven wisdom' },
87
+ speedster: { name: 'gale_owl', nameZh: '烈风枭', description: 'Swoops at breakneck speed' },
88
+ collaborator: { name: 'chorus_owl', nameZh: '合唱枭', description: 'Hoots in harmony' },
89
+ nightcoder: { name: 'spectral_owl', nameZh: '幽灵枭', description: 'Silent midnight presence' },
90
+ scholar: { name: 'oracle_owl', nameZh: '神谕枭', description: 'Sees truth in code' },
91
+ },
152
92
  },
153
93
  pixiebot: {
154
- growth: [
155
- {
156
- name: 'chrome_bot',
157
- nameZh: '铬合金机器人',
158
- condition: (s) => editRatio(s) > 0.5,
159
- description: 'Polished and refined through code crafting',
160
- },
161
- {
162
- name: 'spark_bot',
163
- nameZh: '火花机器人',
164
- condition: (s) => bashRatio(s) > 0.5,
165
- description: 'Crackling with command-line energy',
166
- },
167
- ],
168
- final: [
169
- {
170
- name: 'quantum_bot',
171
- nameZh: '量子机器人',
172
- condition: (s) => s.stats.totalEdits > 500,
173
- description: 'Computing at the edge of possibility',
174
- },
175
- {
176
- name: 'aurora_bot',
177
- nameZh: '极光机器人',
178
- condition: (s) => avgMood(s) > 80,
179
- description: 'Radiating pure digital bliss',
180
- },
181
- ],
94
+ growth: {
95
+ python: { name: 'cipher_bot', nameZh: '密码机器人', description: 'Encrypts with Python logic' },
96
+ frontend: { name: 'chrome_bot', nameZh: '铬合金机器人', description: 'Polished for UI perfection' },
97
+ backend: { name: 'titan_bot', nameZh: '泰坦机器人', description: 'Massive processing power' },
98
+ scripting: { name: 'spark_bot', nameZh: '火花机器人', description: 'Crackling with energy' },
99
+ docs: { name: 'archive_bot', nameZh: '档案机器人', description: 'Perfect documentation memory' },
100
+ ops: { name: 'drone_bot', nameZh: '无人机器人', description: 'Autonomous deployment' },
101
+ fullstack: { name: 'alloy_bot', nameZh: '合金机器人', description: 'Versatile alloy for any task' },
102
+ },
103
+ final: {
104
+ craftsman: { name: 'quantum_bot', nameZh: '量子机器人', description: 'Crafted at edge of possibility' },
105
+ speedster: { name: 'plasma_bot', nameZh: '等离子机器人', description: 'Raw speed in plasma circuits' },
106
+ collaborator: { name: 'network_bot', nameZh: '联网机器人', description: 'Connected to every signal' },
107
+ nightcoder: { name: 'aurora_bot', nameZh: '极光机器人', description: 'Glows brightest in darkness' },
108
+ scholar: { name: 'cortex_bot', nameZh: '皮质机器人', description: 'A brain that never stops' },
109
+ },
182
110
  },
183
111
  };
184
- // Helper functions for evolution conditions
185
- function totalActions(s) {
186
- return s.stats.totalEdits + s.stats.totalBash + s.stats.totalReads + s.stats.totalCommits + s.stats.totalPRs + s.stats.totalTests;
187
- }
188
- function editRatio(s) {
189
- const total = totalActions(s);
190
- return total === 0 ? 0 : s.stats.totalEdits / total;
191
- }
192
- function bashRatio(s) {
193
- const total = totalActions(s);
194
- return total === 0 ? 0 : s.stats.totalBash / total;
195
- }
196
- function readRatio(s) {
197
- const total = totalActions(s);
198
- return total === 0 ? 0 : s.stats.totalReads / total;
112
+ // ── Detection helpers ──
113
+ /** Get dominant programming language from file edit stats */
114
+ export function getDominantLang(state) {
115
+ const le = state.stats.langEdits ?? {};
116
+ const total = Object.values(le).reduce((a, b) => a + b, 0);
117
+ if (total === 0)
118
+ return 'fullstack';
119
+ let maxCat = 'fullstack';
120
+ let maxVal = 0;
121
+ for (const [cat, count] of Object.entries(le)) {
122
+ if (count > maxVal) {
123
+ maxVal = count;
124
+ maxCat = cat;
125
+ }
126
+ }
127
+ // Need at least 30% dominance
128
+ if (maxVal / total < 0.3)
129
+ return 'fullstack';
130
+ return maxCat;
199
131
  }
200
- function avgMood(s) {
201
- const h = s.stats.moodHistory;
202
- if (h.length === 0)
203
- return s.mood;
204
- return h.reduce((a, b) => a + b, 0) / h.length;
132
+ /** Get coding style from habits */
133
+ export function getCodingStyle(state) {
134
+ const s = state.stats;
135
+ const totalActions = s.totalEdits + s.totalBash + s.totalReads;
136
+ // Collaborator: many PRs
137
+ if (s.totalPRs >= 8)
138
+ return 'collaborator';
139
+ // Nightcoder: >40% of actions at night
140
+ const nightRatio = totalActions > 0 ? (s.nightEdits ?? 0) / totalActions : 0;
141
+ if (nightRatio > 0.4)
142
+ return 'nightcoder';
143
+ // Scholar: reads >> writes
144
+ if (s.totalReads > s.totalEdits * 2 && s.totalReads > 20)
145
+ return 'scholar';
146
+ // Craftsman: high test ratio + frequent commits
147
+ const testRatio = totalActions > 0 ? s.totalTests / totalActions : 0;
148
+ const commitDensity = s.totalEdits > 0 ? s.totalCommits / s.totalEdits : 0;
149
+ if (testRatio > 0.15 && commitDensity > 0.1)
150
+ return 'craftsman';
151
+ // Speedster: default
152
+ return 'speedster';
205
153
  }
154
+ // ── Evolution logic ──
206
155
  /** Check if pet is ready to evolve, return the branch name or null */
207
156
  export function checkEvolution(state) {
208
- const stage = state.stage;
209
157
  const tree = EVOLUTION_TREE[state.species];
210
- // Already at the evolution for this stage?
211
- let targetStageKey = null;
212
- if (stage === 'growth' && !state.evolution) {
213
- targetStageKey = 'growth';
158
+ if (state.stage === 'growth' && !state.evolution) {
159
+ // 1st evolution: language-based
160
+ const lang = getDominantLang(state);
161
+ return tree.growth[lang].name;
214
162
  }
215
- else if (stage === 'final' && state.evolution && !isFinalEvolution(state)) {
216
- targetStageKey = 'final';
163
+ if (state.stage === 'final' && state.evolution && !isFinalEvolution(state)) {
164
+ // 2nd evolution: style-based
165
+ const style = getCodingStyle(state);
166
+ return tree.final[style].name;
217
167
  }
218
- if (!targetStageKey || !tree[targetStageKey])
219
- return null;
220
- const branches = tree[targetStageKey];
221
- for (const branch of branches) {
222
- if (branch.condition(state)) {
223
- return branch.name;
224
- }
225
- }
226
- // Default to first branch if at the right level but no condition met
227
- // (fallback so pets always evolve eventually)
228
- return branches[0].name;
168
+ return null;
229
169
  }
230
170
  /** Check if the pet already has a final-stage evolution */
231
171
  function isFinalEvolution(state) {
232
172
  const tree = EVOLUTION_TREE[state.species];
233
- if (!tree.final)
234
- return false;
235
- return tree.final.some(b => b.name === state.evolution);
173
+ return Object.values(tree.final).some(b => b.name === state.evolution);
236
174
  }
237
175
  /** Get evolution info by name */
238
176
  export function getEvolutionInfo(species, name) {
239
177
  const tree = EVOLUTION_TREE[species];
240
- for (const branches of Object.values(tree)) {
241
- const found = branches.find(b => b.name === name);
242
- if (found)
243
- return found;
178
+ // Search growth branches
179
+ for (const branch of Object.values(tree.growth)) {
180
+ if (branch.name === name)
181
+ return branch;
182
+ }
183
+ // Search final branches
184
+ for (const branch of Object.values(tree.final)) {
185
+ if (branch.name === name)
186
+ return branch;
244
187
  }
245
188
  return null;
246
189
  }
@@ -1 +1 @@
1
- {"version":3,"file":"evolution.js","sourceRoot":"","sources":["../../src/core/evolution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evolution.js","sourceRoot":"","sources":["../../src/core/evolution.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { PetState, PetConfig, Species, Rarity, Stage, HookInput } from './types.js';
2
2
  export declare function getDataDir(): string;
3
3
  export declare function ensureDataDir(): void;
4
- /** Read pet state from disk */
4
+ /** Read pet state from disk (with migration for new fields) */
5
5
  export declare function loadState(): PetState | null;
6
6
  /** Write pet state to disk */
7
7
  export declare function saveState(state: PetState): void;
@@ -17,6 +17,8 @@ export declare function stageFromLevel(level: number): Stage;
17
17
  export declare function createPet(name: string, species: Species, dna: string, rarity: Rarity): PetState;
18
18
  /** Award EXP and handle level ups. Returns messages for display. */
19
19
  export declare function awardExp(state: PetState, baseExp: number, type: string): string[];
20
+ /** Detect language category from file path */
21
+ export declare function detectLangCategory(filePath: string): string | null;
20
22
  /** Process a hook event and return messages */
21
23
  export declare function processHookEvent(state: PetState, input: HookInput): string[];
22
24
  /** Feed the pet */
package/dist/core/pet.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { readFileSync, writeFileSync, mkdirSync, existsSync } from 'node:fs';
2
- import { join } from 'node:path';
2
+ import { join, extname, basename } from 'node:path';
3
3
  import { homedir } from 'node:os';
4
4
  import { EXP_REWARDS, SPECIES_BONUSES } from './types.js';
5
5
  const DATA_DIR = join(homedir(), '.claude-minipet');
@@ -13,11 +13,17 @@ export function ensureDataDir() {
13
13
  mkdirSync(DATA_DIR, { recursive: true });
14
14
  }
15
15
  }
16
- /** Read pet state from disk */
16
+ /** Read pet state from disk (with migration for new fields) */
17
17
  export function loadState() {
18
18
  try {
19
19
  const raw = readFileSync(STATE_FILE, 'utf-8');
20
- return JSON.parse(raw);
20
+ const state = JSON.parse(raw);
21
+ // Migration: add fields introduced in language-detection update
22
+ if (!state.stats.langEdits)
23
+ state.stats.langEdits = {};
24
+ if (state.stats.nightEdits === undefined)
25
+ state.stats.nightEdits = 0;
26
+ return state;
21
27
  }
22
28
  catch {
23
29
  return null;
@@ -50,9 +56,9 @@ export function expForLevel(level) {
50
56
  }
51
57
  /** Determine stage from level */
52
58
  export function stageFromLevel(level) {
53
- if (level < 16)
59
+ if (level < 12)
54
60
  return 'baby';
55
- if (level < 41)
61
+ if (level < 30)
56
62
  return 'growth';
57
63
  return 'final';
58
64
  }
@@ -89,6 +95,8 @@ export function createPet(name, species, dna, rarity) {
89
95
  loginStreak: 1,
90
96
  lastLoginDate: today,
91
97
  moodHistory: [80],
98
+ langEdits: {},
99
+ nightEdits: 0,
92
100
  },
93
101
  };
94
102
  }
@@ -155,6 +163,49 @@ function estimateContentSize(input) {
155
163
  function contentBonus(chars) {
156
164
  return Math.min(50, Math.floor(chars / 100));
157
165
  }
166
+ /** Extension → language category mapping */
167
+ const EXT_TO_LANG = {
168
+ '.py': 'python', '.pyw': 'python', '.ipynb': 'python',
169
+ '.tsx': 'frontend', '.jsx': 'frontend', '.vue': 'frontend', '.svelte': 'frontend',
170
+ '.css': 'frontend', '.scss': 'frontend', '.less': 'frontend', '.html': 'frontend', '.astro': 'frontend',
171
+ '.go': 'backend', '.java': 'backend', '.rs': 'backend', '.c': 'backend', '.cpp': 'backend',
172
+ '.h': 'backend', '.cs': 'backend', '.kt': 'backend', '.scala': 'backend', '.rb': 'backend',
173
+ '.php': 'backend', '.ex': 'backend', '.erl': 'backend',
174
+ '.ts': 'scripting', '.js': 'scripting', '.mjs': 'scripting', '.cjs': 'scripting',
175
+ '.sh': 'scripting', '.bash': 'scripting', '.zsh': 'scripting', '.fish': 'scripting', '.ps1': 'scripting',
176
+ '.md': 'docs', '.txt': 'docs', '.rst': 'docs', '.adoc': 'docs', '.tex': 'docs',
177
+ '.json': 'docs', '.yaml': 'docs', '.yml': 'docs', '.toml': 'docs', '.xml': 'docs',
178
+ '.csv': 'docs', '.sql': 'docs',
179
+ '.tf': 'ops', '.hcl': 'ops',
180
+ };
181
+ /** Detect language category from file path */
182
+ export function detectLangCategory(filePath) {
183
+ // Special path/filename-based detection first (before extension check)
184
+ const name = basename(filePath).toLowerCase();
185
+ if (name.includes('dockerfile') || name.includes('docker-compose'))
186
+ return 'ops';
187
+ if (filePath.includes('.github/workflows/'))
188
+ return 'ops';
189
+ const ext = extname(filePath).toLowerCase();
190
+ if (EXT_TO_LANG[ext])
191
+ return EXT_TO_LANG[ext];
192
+ return null;
193
+ }
194
+ /** Track language and night edits from a file operation */
195
+ function trackFileStats(state, input) {
196
+ const filePath = String(input.tool_input?.file_path ?? '');
197
+ if (filePath) {
198
+ const category = detectLangCategory(filePath);
199
+ if (category) {
200
+ state.stats.langEdits[category] = (state.stats.langEdits[category] ?? 0) + 1;
201
+ }
202
+ }
203
+ // Track night edits (22:00 - 06:00)
204
+ const hour = new Date().getHours();
205
+ if (hour >= 22 || hour < 6) {
206
+ state.stats.nightEdits = (state.stats.nightEdits ?? 0) + 1;
207
+ }
208
+ }
158
209
  /** Process a hook event and return messages */
159
210
  export function processHookEvent(state, input) {
160
211
  const messages = [];
@@ -213,10 +264,12 @@ export function processHookEvent(state, input) {
213
264
  }
214
265
  else if (toolName === 'edit' || toolName === 'write') {
215
266
  state.stats.totalEdits++;
267
+ trackFileStats(state, input);
216
268
  messages.push(...awardExp(state, EXP_REWARDS.edit + bonus, 'edit'));
217
269
  }
218
270
  else if (toolName === 'read') {
219
271
  state.stats.totalReads++;
272
+ trackFileStats(state, input);
220
273
  messages.push(...awardExp(state, EXP_REWARDS.read + bonus, 'read'));
221
274
  }
222
275
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"pet.js","sourceRoot":"","sources":["../../src/core/pet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pet.js","sourceRoot":"","sources":["../../src/core/pet.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export interface SyncStatus {
2
+ connected: boolean;
3
+ lastSyncTime: string;
4
+ lastError?: string;
5
+ }
6
+ /** Save sync status after each sync attempt */
7
+ export declare function saveSyncStatus(connected: boolean, error?: string): void;
8
+ /** Load last sync status */
9
+ export declare function loadSyncStatus(): SyncStatus | null;
@@ -0,0 +1,28 @@
1
+ import { readFileSync, writeFileSync } from 'node:fs';
2
+ import { join } from 'node:path';
3
+ import { homedir } from 'node:os';
4
+ const SYNC_STATUS_FILE = join(homedir(), '.claude-minipet', 'sync-status.json');
5
+ /** Save sync status after each sync attempt */
6
+ export function saveSyncStatus(connected, error) {
7
+ const data = {
8
+ connected,
9
+ lastSyncTime: new Date().toISOString(),
10
+ lastError: error,
11
+ };
12
+ try {
13
+ writeFileSync(SYNC_STATUS_FILE, JSON.stringify(data), 'utf-8');
14
+ }
15
+ catch {
16
+ // ignore
17
+ }
18
+ }
19
+ /** Load last sync status */
20
+ export function loadSyncStatus() {
21
+ try {
22
+ return JSON.parse(readFileSync(SYNC_STATUS_FILE, 'utf-8'));
23
+ }
24
+ catch {
25
+ return null;
26
+ }
27
+ }
28
+ //# sourceMappingURL=sync-status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-status.js","sourceRoot":"","sources":["../../src/core/sync-status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,iBAAiB,EAAE,kBAAkB,CAAC,CAAC;AAQhF,+CAA+C;AAC/C,MAAM,UAAU,cAAc,CAAC,SAAkB,EAAE,KAAc;IAC/D,MAAM,IAAI,GAAe;QACvB,SAAS;QACT,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACtC,SAAS,EAAE,KAAK;KACjB,CAAC;IACF,IAAI,CAAC;QACH,aAAa,CAAC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;IAAC,MAAM,CAAC;QACP,SAAS;IACX,CAAC;AACH,CAAC;AAED,4BAA4B;AAC5B,MAAM,UAAU,cAAc;IAC5B,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAe,CAAC;IAC3E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -28,6 +28,10 @@ export interface DNA {
28
28
  accessory: Accessory;
29
29
  rarity: Rarity;
30
30
  }
31
+ /** Language categories for evolution detection */
32
+ export type LangCategory = 'python' | 'frontend' | 'backend' | 'scripting' | 'docs' | 'ops' | 'fullstack';
33
+ /** Coding style for 2nd evolution */
34
+ export type CodingStyle = 'craftsman' | 'speedster' | 'collaborator' | 'nightcoder' | 'scholar';
31
35
  /** Activity statistics for evolution conditions */
32
36
  export interface Stats {
33
37
  totalEdits: number;
@@ -41,6 +45,8 @@ export interface Stats {
41
45
  loginStreak: number;
42
46
  lastLoginDate: string;
43
47
  moodHistory: number[];
48
+ langEdits: Record<string, number>;
49
+ nightEdits: number;
44
50
  }
45
51
  /** The full pet state persisted to disk */
46
52
  export interface PetState {
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAyGA,uBAAuB;AACvB,MAAM,CAAC,MAAM,WAAW,GAA2B;IACjD,MAAM,EAAE,CAAC;IACT,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,SAAS,EAAE,EAAE;IACb,UAAU,EAAE,EAAE;IACd,MAAM,EAAE,EAAE;IACV,YAAY,EAAE,EAAE;CACjB,CAAC;AAEF,yCAAyC;AACzC,MAAM,CAAC,MAAM,eAAe,GAA+E;IACzG,MAAM,EAAE,EAAE,WAAW,EAAE,0BAA0B,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE;IAChF,WAAW,EAAE,EAAE,WAAW,EAAE,2BAA2B,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE;IACtF,SAAS,EAAE,EAAE,WAAW,EAAE,wBAAwB,EAAE,IAAI,EAAE,eAAe,EAAE,UAAU,EAAE,GAAG,EAAE;IAC5F,MAAM,EAAE,EAAE,WAAW,EAAE,+BAA+B,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE;IACpF,MAAM,EAAE,EAAE,WAAW,EAAE,wBAAwB,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE;IAC9E,QAAQ,EAAE,EAAE,WAAW,EAAE,mBAAmB,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,EAAE;CACpF,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAiHA,uBAAuB;AACvB,MAAM,CAAC,MAAM,WAAW,GAA2B;IACjD,MAAM,EAAE,CAAC;IACT,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,SAAS,EAAE,EAAE;IACb,UAAU,EAAE,EAAE;IACd,MAAM,EAAE,EAAE;IACV,YAAY,EAAE,EAAE;CACjB,CAAC;AAEF,yCAAyC;AACzC,MAAM,CAAC,MAAM,eAAe,GAA+E;IACzG,MAAM,EAAE,EAAE,WAAW,EAAE,0BAA0B,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE;IAChF,WAAW,EAAE,EAAE,WAAW,EAAE,2BAA2B,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE;IACtF,SAAS,EAAE,EAAE,WAAW,EAAE,wBAAwB,EAAE,IAAI,EAAE,eAAe,EAAE,UAAU,EAAE,GAAG,EAAE;IAC5F,MAAM,EAAE,EAAE,WAAW,EAAE,+BAA+B,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE;IACpF,MAAM,EAAE,EAAE,WAAW,EAAE,wBAAwB,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE;IAC9E,QAAQ,EAAE,EAAE,WAAW,EAAE,mBAAmB,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,EAAE;CACpF,CAAC"}
@@ -4,6 +4,7 @@ import { RARITY_INFO } from '../core/rarity.js';
4
4
  import { evolutionAnimation, levelUpNotification, stageUpNotification, greetingMessage } from '../render/animation.js';
5
5
  import { triggerAnim } from '../render/anim-state.js';
6
6
  import { syncPetToServer, loadAuth } from '../core/sync.js';
7
+ import { saveSyncStatus } from '../core/sync-status.js';
7
8
  import { generateCodeComment, reactToCodeQuality, checkEasterEgg } from '../core/comments.js';
8
9
  import { saveBubble, setBubbleCoding, setBubbleDone } from '../render/bubble.js';
9
10
  /** Main hook handler - reads stdin JSON, processes event, outputs response */
@@ -116,9 +117,11 @@ export async function handleHook() {
116
117
  // Track activity time for idle detection (must be after easter egg check)
117
118
  state.lastActivityTime = new Date().toISOString();
118
119
  saveState(state);
119
- // Background sync to server (fire and forget)
120
+ // Background sync to server (track connection status)
120
121
  if (loadAuth()) {
121
- syncPetToServer(state).catch(() => { });
122
+ syncPetToServer(state)
123
+ .then(ok => saveSyncStatus(ok))
124
+ .catch(() => saveSyncStatus(false, 'connection failed'));
122
125
  }
123
126
  // Output for Claude Code hooks:
124
127
  // - For SessionStart: stdout text becomes context Claude sees
@@ -1 +1 @@
1
- {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/hooks/handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/hooks/handler.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ import { renderSprite, buildPalette, progressBar, fg, RESET, BOLD, padEnd } from
6
6
  import { getCurrentFrame, getAnimDecoration } from './frames.js';
7
7
  import { loadAnimState } from './anim-state.js';
8
8
  import { loadAuth } from '../core/sync.js';
9
+ import { loadSyncStatus } from '../core/sync-status.js';
9
10
  import { getStatusBubble, renderBubble } from './bubble.js';
10
11
  /** Render the full status line output */
11
12
  export function renderStatusLine(state) {
@@ -95,14 +96,11 @@ export function renderStatusLine(state) {
95
96
  // Animation decoration (e.g. "+EXP!", "nom~")
96
97
  const animDeco = getAnimDecoration(trigger, frame);
97
98
  const decoStr = animDeco ? `${fg(rarityInfo.color)}${animDeco}${RESET}` : '';
98
- // Auth info
99
- const auth = loadAuth();
100
- const emailStr = auth ? ` ${fg(dimColor)}${auth.email}${RESET}` : '';
101
99
  const statsLines = [
102
100
  `${shinyPrefix}${BOLD}${state.name}${RESET} ${rc}Lv.${state.level}${RESET} ${rarityDisplay}${decoStr}`,
103
101
  `⭐ 经验 ${expBar} ${expPct}%`,
104
102
  `💗 心情 ${state.mood} 🍖 饱食 ${Math.round(state.hunger)} 💎 亲密 ${Math.floor(state.bond)}`,
105
- `${fg(dimColor)}>${RESET} ${evoName} 🧬 ${fg(dimColor)}${state.dna}${RESET}${emailStr}`,
103
+ `${fg(dimColor)}>${RESET} ${evoName} 🧬 ${fg(dimColor)}${state.dna}${RESET}`,
106
104
  ];
107
105
  // Side-by-side layout: pet art left, stats right
108
106
  const gap = ' ';
@@ -117,6 +115,40 @@ export function renderStatusLine(state) {
117
115
  const bubbleText = getStatusBubble(state);
118
116
  const bubbleWidth = 50;
119
117
  output.push(renderBubble(bubbleText, bubbleWidth));
118
+ // Cloud connection status
119
+ const auth = loadAuth();
120
+ const syncStatus = loadSyncStatus();
121
+ const greenDot = { r: 80, g: 220, b: 100 };
122
+ const yellowDot = { r: 255, g: 200, b: 50 };
123
+ const redDot = { r: 220, g: 60, b: 60 };
124
+ let statusDot;
125
+ let statusText;
126
+ if (!auth) {
127
+ statusDot = `${fg(redDot)}●${RESET}`;
128
+ statusText = `${fg(dimColor)}未登录${RESET}`;
129
+ }
130
+ else if (!syncStatus) {
131
+ statusDot = `${fg(yellowDot)}●${RESET}`;
132
+ statusText = `${fg(dimColor)}等待同步${RESET}`;
133
+ }
134
+ else if (syncStatus.connected) {
135
+ // Check if sync is recent (within 5 min)
136
+ const age = Date.now() - new Date(syncStatus.lastSyncTime).getTime();
137
+ if (age < 5 * 60 * 1000) {
138
+ statusDot = `${fg(greenDot)}●${RESET}`;
139
+ statusText = `${fg(dimColor)}已连接${RESET}`;
140
+ }
141
+ else {
142
+ statusDot = `${fg(yellowDot)}●${RESET}`;
143
+ statusText = `${fg(dimColor)}同步中断${RESET}`;
144
+ }
145
+ }
146
+ else {
147
+ statusDot = `${fg(redDot)}●${RESET}`;
148
+ statusText = `${fg(dimColor)}连接失败${RESET}`;
149
+ }
150
+ const emailDisplay = auth ? ` ${fg(dimColor)}${auth.email}${RESET}` : '';
151
+ output.push(`${statusDot} ${statusText}${emailDisplay}`);
120
152
  return output.join('\n');
121
153
  }
122
154
  //# sourceMappingURL=statusline.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"statusline.js","sourceRoot":"","sources":["../../src/render/statusline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"statusline.js","sourceRoot":"","sources":["../../src/render/statusline.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-minipet",
3
- "version": "0.5.0",
3
+ "version": "0.6.1",
4
4
  "description": "🐾 A virtual pet for Claude Code TUI — it grows, evolves, and codes with you! / Claude Code 终端虚拟宠物 - 陪你写代码、升级、进化!",
5
5
  "type": "module",
6
6
  "bin": {