feat: add more achievements

This commit is contained in:
2026-01-19 19:39:36 -08:00
parent d72ca7a975
commit da566f408e
4 changed files with 416 additions and 4 deletions
+168
View File
@@ -283,6 +283,154 @@ const achievementDefinitions: Record<AchievementId, Omit<Achievement, 'unlocked'
rarity: 'epic',
maxProgress: 10000,
},
// Relationship & Greetings
GoodMorning: {
id: 'GoodMorning',
name: 'Good Morning!',
description: 'Greeted Hikari with a good morning',
icon: '๐ŸŒ…',
rarity: 'common',
maxProgress: 1,
},
GoodNight: {
id: 'GoodNight',
name: 'Sweet Dreams',
description: 'Said good night to Hikari',
icon: '๐ŸŒ™',
rarity: 'common',
maxProgress: 1,
},
ThankYou: {
id: 'ThankYou',
name: 'Grateful Heart',
description: 'Thanked Hikari for her help',
icon: '๐Ÿ™',
rarity: 'common',
maxProgress: 1,
},
LoveYou: {
id: 'LoveYou',
name: 'Heartfelt',
description: 'Expressed love to Hikari',
icon: '๐Ÿ’•',
rarity: 'rare',
maxProgress: 1,
},
// Personality & Fun
EmojiUser: {
id: 'EmojiUser',
name: 'Emoji Master',
description: 'Used 20+ emojis in messages',
icon: '๐Ÿ˜„',
rarity: 'common',
maxProgress: 20,
},
CapsLock: {
id: 'CapsLock',
name: 'CAPS LOCK',
description: 'SENT A MESSAGE IN ALL CAPS',
icon: '๐Ÿ”Š',
rarity: 'common',
maxProgress: 1,
},
QuestionMaster: {
id: 'QuestionMaster',
name: 'Question Master',
description: 'Asked 50 questions',
icon: 'โ“',
rarity: 'common',
maxProgress: 50,
},
PleaseAndThankYou: {
id: 'PleaseAndThankYou',
name: 'Polite Programmer',
description: 'Always says please and thank you',
icon: '๐ŸŽฉ',
rarity: 'common',
maxProgress: 10,
},
// Git & Development
CommitMaster: {
id: 'CommitMaster',
name: 'Commit Master',
description: 'Made 100 commits through Hikari',
icon: '๐Ÿ“',
rarity: 'rare',
maxProgress: 100,
},
PRO: {
id: 'PRO',
name: 'PRO',
description: 'Created 10 pull requests',
icon: '๐Ÿ”€',
rarity: 'rare',
maxProgress: 10,
},
Reviewer: {
id: 'Reviewer',
name: 'Code Reviewer',
description: 'Reviewed 10 pull requests',
icon: '๐Ÿ‘€',
rarity: 'rare',
maxProgress: 10,
},
IssueTracker: {
id: 'IssueTracker',
name: 'Issue Tracker',
description: 'Created 25 issues',
icon: '๐ŸŽฏ',
rarity: 'rare',
maxProgress: 25,
},
GitGuru: {
id: 'GitGuru',
name: 'Git Guru',
description: 'Mastered git operations',
icon: '๐ŸŒฒ',
rarity: 'epic',
},
// Tool Mastery
BashMaster: {
id: 'BashMaster',
name: 'Bash Master',
description: 'Used bash commands 100 times',
icon: '๐Ÿ’ป',
rarity: 'rare',
maxProgress: 100,
},
FileExplorer: {
id: 'FileExplorer',
name: 'File Explorer',
description: 'Explored files 100 times',
icon: '๐Ÿ“‚',
rarity: 'common',
maxProgress: 100,
},
SearchExpert: {
id: 'SearchExpert',
name: 'Search Expert',
description: 'Mastered advanced search queries',
icon: '๐Ÿ”Ž',
rarity: 'rare',
},
AgentCommander: {
id: 'AgentCommander',
name: 'Agent Commander',
description: 'Used task agents effectively',
icon: '๐Ÿค–',
rarity: 'rare',
},
MCPMaster: {
id: 'MCPMaster',
name: 'MCP Master',
description: 'Mastered MCP tool usage',
icon: '๐Ÿ› ๏ธ',
rarity: 'epic',
},
};
// Initialize all achievements as locked
@@ -447,6 +595,26 @@ export const achievementCategories = [
description: 'Your coding session achievements',
ids: ['QuickSession', 'FocusedWork', 'DeepDive', 'MarathonSession', 'MarathonCoder'] as AchievementId[],
},
{
name: 'Relationship & Greetings',
description: 'Our special moments together',
ids: ['GoodMorning', 'GoodNight', 'ThankYou', 'LoveYou'] as AchievementId[],
},
{
name: 'Personality & Fun',
description: 'Express yourself!',
ids: ['EmojiUser', 'CapsLock', 'QuestionMaster', 'PleaseAndThankYou'] as AchievementId[],
},
{
name: 'Git & Development',
description: 'Version control mastery',
ids: ['CommitMaster', 'PRO', 'Reviewer', 'IssueTracker', 'GitGuru'] as AchievementId[],
},
{
name: 'Tool Mastery',
description: 'Master of all tools',
ids: ['BashMaster', 'FileExplorer', 'SearchExpert', 'AgentCommander', 'MCPMaster'] as AchievementId[],
},
{
name: 'Special',
description: 'Unique accomplishments',
+23 -1
View File
@@ -50,7 +50,29 @@ export type AchievementId =
| 'Polyglot' // 5+ languages in one session
| 'SpeedCoder' // 10 code blocks in 10 minutes
| 'ClaudeConnoisseur' // Used all Claude models
| 'MarathonCoder';
| 'MarathonCoder' // 10k tokens in one session
// Relationship & Greetings
| 'GoodMorning' // Said good morning
| 'GoodNight' // Said good night
| 'ThankYou' // Said thank you
| 'LoveYou' // Said love you
// Personality & Fun
| 'EmojiUser' // Used 20+ emojis
| 'CapsLock' // ALL CAPS MESSAGE
| 'QuestionMaster' // Asked 50 questions
| 'PleaseAndThankYou' // Polite user
// Git & Development
| 'CommitMaster' // 100 commits
| 'PRO' // Created 10 PRs
| 'Reviewer' // Reviewed 10 PRs
| 'IssueTracker' // Created 25 issues
| 'GitGuru' // Used git commands
// Tool Mastery
| 'BashMaster' // Used bash 100 times
| 'FileExplorer' // Searched files 100 times
| 'SearchExpert' // Advanced searches
| 'AgentCommander' // Used task agents
| 'MCPMaster'; // Used MCP tools
export interface Achievement {
id: AchievementId;