INNER CODE UNIT · TypeScript

loadState

vibeeval/vibecosystem · hooks/src/achievement-tracker.ts:94

function loadState(): AchievementState {
  if (!existsSync(ACHIEVEMENTS_PATH)) return defaultState();
  try {
    const parsed = JSON.parse(readFileSync(ACHIEVEMENTS_PATH, 'utf-8')) as AchievementState;
    // Ensure counters bag exists for older state files
    if (!parsed.progress.counters) parsed.progress.counters = {};
    if (!parsed.progress['session-languages']) parsed.progress['session-languages'] = [];
    return parsed;
  } catch {
    return defaultState();
  }
}

function saveState(state: AchievementState): void {
  const dir = join(homedir(), '.claude');
  if (!existsSync(dir)) mkdirSync(dir, { recursive: true });
  writeFileSync(ACHIEVEMENTS_PATH, JSON.stringify(state, null, 2));
}

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…