cc-proficiency 0.2.1 → 0.2.3

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/dist/cli.js CHANGED
@@ -12,6 +12,8 @@ const locales_js_1 = require("./i18n/locales.js");
12
12
  const local_store_js_1 = require("./store/local-store.js");
13
13
  const queue_js_1 = require("./store/queue.js");
14
14
  const uploader_js_1 = require("./gist/uploader.js");
15
+ const remote_store_js_1 = require("./store/remote-store.js");
16
+ const achievements_js_1 = require("./store/achievements.js");
15
17
  const CLAUDE_DIR = (0, node_path_1.join)((0, node_os_1.homedir)(), ".claude");
16
18
  function getConfigLocale() {
17
19
  const config = (0, local_store_js_1.loadConfig)();
@@ -37,6 +39,8 @@ async function main() {
37
39
  return cmdPush();
38
40
  case "explain":
39
41
  return cmdExplain();
42
+ case "achievements":
43
+ return cmdAchievements();
40
44
  case "status":
41
45
  return cmdStatus();
42
46
  case "config":
@@ -274,7 +278,8 @@ function printResult(result) {
274
278
  const toolSummary = f.topTools.slice(0, 4).map((t) => `${t.name} ${t.count}`).join(" · ");
275
279
  console.log(` Tools ${toolSummary} (+${f.uniqueToolCount - Math.min(4, f.topTools.length)} more)`);
276
280
  console.log(" " + "─".repeat(40));
277
- console.log(` ${result.sessionCount} sessions · ${result.projectCount} projects`);
281
+ const hrs = result.features.totalHours >= 1000 ? (result.features.totalHours / 1000).toFixed(1) + "kh" : result.features.totalHours + "h";
282
+ console.log(` ${hrs} · ${result.sessionCount} sessions · ${result.projectCount} projects`);
278
283
  if (result.phase === "early") {
279
284
  console.log(` (early results — stabilizes at 10 sessions)`);
280
285
  }
@@ -418,26 +423,127 @@ function cmdPush() {
418
423
  console.log("No analysis data. Run 'cc-proficiency analyze' first.");
419
424
  return;
420
425
  }
421
- if (!(0, uploader_js_1.isGhAuthenticated)()) {
422
- console.log("⚠ GitHub CLI not authenticated.");
423
- console.log("Badge saved locally to: " + (0, local_store_js_1.getBadgePath)());
424
- console.log("To enable: gh auth login && cc-proficiency init");
425
- return;
426
- }
427
426
  const svg = (0, svg_js_1.renderBadge)(store.lastResult, getConfigLocale());
428
- if (!config.gistId) {
429
- console.log("No Gist configured. Run 'cc-proficiency init' first.");
427
+ (0, local_store_js_1.saveBadge)(svg);
428
+ if (!(0, uploader_js_1.isGhAuthenticated)() || !config.gistId) {
429
+ if (!(0, uploader_js_1.isGhAuthenticated)()) {
430
+ console.log("⚠ GitHub CLI not authenticated.");
431
+ console.log("To enable: gh auth login && cc-proficiency init");
432
+ }
433
+ if (!config.gistId) {
434
+ console.log("No Gist configured. Run 'cc-proficiency init' first.");
435
+ }
436
+ console.log("Badge saved locally to: " + (0, local_store_js_1.getBadgePath)());
430
437
  return;
431
438
  }
432
- const result = (0, uploader_js_1.updateGist)(config.gistId, svg);
433
- if (result.success) {
439
+ // Pull remote, merge, push
440
+ const remoteJson = (0, uploader_js_1.readGistFile)(config.gistId, "cc-proficiency.json");
441
+ let remote = remoteJson ? (0, remote_store_js_1.parseRemoteStore)(remoteJson) : null;
442
+ if (!remote)
443
+ remote = (0, remote_store_js_1.emptyRemoteStore)(config.username ?? "unknown");
444
+ // Build local session list for merge
445
+ const avgHours = store.lastResult.features.totalHours / Math.max(store.processedSessionIds.length, 1);
446
+ const localSessions = store.processedSessionIds.map((id) => {
447
+ const snap = store.snapshots.find((s) => s.sessionId === id);
448
+ return {
449
+ id,
450
+ date: snap ? (0, remote_store_js_1.getUTCDate)(snap.timestamp) : new Date().toISOString().slice(0, 10),
451
+ hours: avgHours,
452
+ };
453
+ });
454
+ const merged = (0, remote_store_js_1.mergeIntoRemote)(remote, localSessions, store.lastResult);
455
+ // Get totals from merged store
456
+ const totals = (0, remote_store_js_1.getTotalStats)(merged);
457
+ const ctx = {
458
+ totalSessions: totals.sessions,
459
+ totalHours: totals.hours,
460
+ totalProjects: totals.projects,
461
+ domains: merged.domains,
462
+ streak: merged.streak,
463
+ features: store.lastResult.features,
464
+ activeDates: merged.streak.activeDates,
465
+ };
466
+ const newAchievements = (0, achievements_js_1.checkAchievements)(ctx, merged.achievements.map((a) => a.id));
467
+ for (const id of newAchievements) {
468
+ merged.achievements.push({ id, unlockedAt: new Date().toISOString() });
469
+ const def = (0, achievements_js_1.getAchievementDef)(id);
470
+ if (def)
471
+ console.log(` 🏆 Achievement unlocked: ${def.icon} ${def.name}`);
472
+ }
473
+ // Build weekly trend for current week
474
+ const thisWeek = (0, remote_store_js_1.getWeekMonday)(new Date().toISOString());
475
+ const localTrend = {
476
+ week: thisWeek,
477
+ domains: Object.fromEntries(store.lastResult.domains.map((d) => [d.id, d.score])),
478
+ hours: store.lastResult.features.totalHours,
479
+ sessions: store.lastResult.sessionCount,
480
+ };
481
+ merged.weeklyTrends = (0, remote_store_js_1.mergeWeeklyTrends)(merged.weeklyTrends, [localTrend]);
482
+ // Update result with gamification data and re-render badge
483
+ store.lastResult.streak = merged.streak.current;
484
+ store.lastResult.achievementCount = merged.achievements.length;
485
+ const finalSvg = (0, svg_js_1.renderBadge)(store.lastResult, getConfigLocale());
486
+ (0, local_store_js_1.saveBadge)(finalSvg);
487
+ // Push SVG + JSON atomically
488
+ const pushResult = (0, uploader_js_1.pushGistFiles)(config.gistId, {
489
+ "cc-proficiency.svg": finalSvg,
490
+ "cc-proficiency.json": JSON.stringify(merged, null, 2),
491
+ });
492
+ if (pushResult.success) {
434
493
  const rawUrl = (0, uploader_js_1.getGistRawUrl)(config.username ?? "", config.gistId);
435
- console.log("✓ Badge pushed to Gist");
494
+ console.log("✓ Badge + data pushed to Gist");
436
495
  console.log(` ${rawUrl}`);
496
+ console.log(` ${totals.sessions} sessions · ${totals.hours.toFixed(1)}h · ${merged.achievements.length} achievements · 🔥 ${merged.streak.current}d streak`);
437
497
  }
438
498
  else {
439
- console.log(`✗ Push failed: ${result.error}`);
499
+ console.log(`✗ Push failed: ${pushResult.error}`);
500
+ }
501
+ }
502
+ // ── Achievements ──
503
+ function cmdAchievements() {
504
+ const store = (0, local_store_js_1.loadStore)();
505
+ const config = (0, local_store_js_1.loadConfig)();
506
+ if (!store.lastResult) {
507
+ console.log("No analysis data. Run 'cc-proficiency analyze' first.");
508
+ return;
440
509
  }
510
+ // Try to load remote achievements
511
+ let unlockedIds = [];
512
+ if (config.gistId && (0, uploader_js_1.isGhAuthenticated)()) {
513
+ const remoteJson = (0, uploader_js_1.readGistFile)(config.gistId, "cc-proficiency.json");
514
+ const remote = remoteJson ? (0, remote_store_js_1.parseRemoteStore)(remoteJson) : null;
515
+ if (remote) {
516
+ unlockedIds = remote.achievements.map((a) => a.id);
517
+ }
518
+ }
519
+ // Build context from local data
520
+ const result = store.lastResult;
521
+ const ctx = {
522
+ totalSessions: result.sessionCount,
523
+ totalHours: result.features.totalHours,
524
+ totalProjects: result.projectCount,
525
+ domains: result.domains,
526
+ streak: { current: 0, longest: 0 },
527
+ features: result.features,
528
+ activeDates: [],
529
+ };
530
+ // Also check locally
531
+ const newLocal = (0, achievements_js_1.checkAchievements)(ctx, unlockedIds);
532
+ const allUnlocked = new Set([...unlockedIds, ...newLocal]);
533
+ console.log(`\n Achievements (${allUnlocked.size}/${achievements_js_1.ACHIEVEMENTS.length})\n`);
534
+ for (const achievement of achievements_js_1.ACHIEVEMENTS) {
535
+ const unlocked = allUnlocked.has(achievement.id);
536
+ const { current, target } = achievement.progress(ctx);
537
+ const pct = Math.min(100, Math.round((current / target) * 100));
538
+ const bar = progressBar(pct, 12);
539
+ if (unlocked) {
540
+ console.log(` ${achievement.icon} ${achievement.name.padEnd(18)} ${bar} Done!`);
541
+ }
542
+ else {
543
+ console.log(` \u2591 ${achievement.name.padEnd(18)} ${bar} ${current}/${target}`);
544
+ }
545
+ }
546
+ console.log("");
441
547
  }
442
548
  // ── Status ──
443
549
  function cmdStatus() {
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,18 @@ export declare function createGist(svgContent: string, isPublic: boolean): GistR
19
19
  * Update an existing Gist with new SVG content.
20
20
  */
21
21
  export declare function updateGist(gistId: string, svgContent: string, filename?: string): GistResult;
22
+ /**
23
+ * Read a file from an existing Gist.
24
+ */
25
+ export declare function readGistFile(gistId: string, filename: string): string | null;
26
+ /**
27
+ * Find an existing cc-proficiency Gist for the current user.
28
+ */
29
+ export declare function findExistingGist(): string | null;
30
+ /**
31
+ * Push multiple files to a Gist atomically via gh api PATCH.
32
+ */
33
+ export declare function pushGistFiles(gistId: string, files: Record<string, string>): GistResult;
22
34
  /**
23
35
  * Get the raw URL for a gist file.
24
36
  */
@@ -1 +1 @@
1
- {"version":3,"file":"uploader.d.ts","sourceRoot":"","sources":["../../src/gist/uploader.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAO3C;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,GAAG,SAAS,CAWlD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,UAAU,CAmB5E;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,GAAE,MAA6B,GAAG,UAAU,CAelH;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAE,MAA6B,GAAG,MAAM,CAE/G"}
1
+ {"version":3,"file":"uploader.d.ts","sourceRoot":"","sources":["../../src/gist/uploader.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAO3C;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,GAAG,SAAS,CAWlD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,UAAU,CAmB5E;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,GAAE,MAA6B,GAAG,UAAU,CAelH;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAc5E;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAehD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,UAAU,CAqBvF;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAE,MAA6B,GAAG,MAAM,CAE/G"}
@@ -4,6 +4,9 @@ exports.isGhAuthenticated = isGhAuthenticated;
4
4
  exports.getGhUsername = getGhUsername;
5
5
  exports.createGist = createGist;
6
6
  exports.updateGist = updateGist;
7
+ exports.readGistFile = readGistFile;
8
+ exports.findExistingGist = findExistingGist;
9
+ exports.pushGistFiles = pushGistFiles;
7
10
  exports.getGistRawUrl = getGistRawUrl;
8
11
  const node_child_process_1 = require("node:child_process");
9
12
  const node_fs_1 = require("node:fs");
@@ -90,6 +93,75 @@ function updateGist(gistId, svgContent, filename = "cc-proficiency.svg") {
90
93
  catch { /* ignore */ }
91
94
  }
92
95
  }
96
+ /**
97
+ * Read a file from an existing Gist.
98
+ */
99
+ function readGistFile(gistId, filename) {
100
+ try {
101
+ const result = (0, node_child_process_1.execFileSync)("gh", [
102
+ "api", `gists/${gistId}`,
103
+ "--jq", `.files["${filename}"].content`,
104
+ ], {
105
+ encoding: "utf-8",
106
+ stdio: ["pipe", "pipe", "pipe"],
107
+ timeout: 15_000,
108
+ });
109
+ return result.trim() || null;
110
+ }
111
+ catch {
112
+ return null;
113
+ }
114
+ }
115
+ /**
116
+ * Find an existing cc-proficiency Gist for the current user.
117
+ */
118
+ function findExistingGist() {
119
+ try {
120
+ const result = (0, node_child_process_1.execFileSync)("gh", [
121
+ "api", "gists", "--paginate",
122
+ "--jq", '.[] | select(.files["cc-proficiency.json"]) | .id',
123
+ ], {
124
+ encoding: "utf-8",
125
+ stdio: ["pipe", "pipe", "pipe"],
126
+ timeout: 30_000,
127
+ });
128
+ const ids = result.trim().split("\n").filter(Boolean);
129
+ return ids[0] ?? null; // most recent
130
+ }
131
+ catch {
132
+ return null;
133
+ }
134
+ }
135
+ /**
136
+ * Push multiple files to a Gist atomically via gh api PATCH.
137
+ */
138
+ function pushGistFiles(gistId, files) {
139
+ try {
140
+ const payload = { files: {} };
141
+ for (const [name, content] of Object.entries(files)) {
142
+ payload.files[name] = { content };
143
+ }
144
+ const tmpFile = (0, node_path_1.join)((0, node_os_1.tmpdir)(), "cc-proficiency-patch.json");
145
+ (0, node_fs_1.writeFileSync)(tmpFile, JSON.stringify(payload), "utf-8");
146
+ try {
147
+ (0, node_child_process_1.execFileSync)("gh", ["api", "-X", "PATCH", `gists/${gistId}`, "--input", tmpFile], {
148
+ encoding: "utf-8",
149
+ stdio: ["pipe", "pipe", "pipe"],
150
+ timeout: 30_000,
151
+ });
152
+ return { success: true };
153
+ }
154
+ finally {
155
+ try {
156
+ (0, node_fs_1.unlinkSync)(tmpFile);
157
+ }
158
+ catch { /* ignore */ }
159
+ }
160
+ }
161
+ catch (err) {
162
+ return { success: false, error: String(err) };
163
+ }
164
+ }
93
165
  /**
94
166
  * Get the raw URL for a gist file.
95
167
  */
@@ -1 +1 @@
1
- {"version":3,"file":"uploader.js","sourceRoot":"","sources":["../../src/gist/uploader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"uploader.js","sourceRoot":"","sources":["../../src/gist/uploader.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"svg.d.ts","sourceRoot":"","sources":["../../src/renderer/svg.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAgC,MAAM,aAAa,CAAC;AACnF,OAAO,EAAa,KAAK,MAAM,EAAsB,MAAM,oBAAoB,CAAC;AA2HhF,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAE,MAAa,GAAG,MAAM,CA8B/F;AAGD,wBAAgB,eAAe,CAAC,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAE,MAAa,GAAG,MAAM,CAmCxF;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAE,MAAa,GAAG,MAAM,CAGpF;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAqBlG"}
1
+ {"version":3,"file":"svg.d.ts","sourceRoot":"","sources":["../../src/renderer/svg.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAgC,MAAM,aAAa,CAAC;AACnF,OAAO,EAAa,KAAK,MAAM,EAAsB,MAAM,oBAAoB,CAAC;AAgIhF,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAE,MAAa,GAAG,MAAM,CA8B/F;AAGD,wBAAgB,eAAe,CAAC,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAE,MAAa,GAAG,MAAM,CAoCxF;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAE,MAAa,GAAG,MAAM,CAGpF;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAqBlG"}
@@ -52,15 +52,20 @@ function domainLabel(id, t) {
52
52
  function renderDomainRow(d, y, t) {
53
53
  const label = escapeXml(domainLabel(d.id, t));
54
54
  const color = DOMAIN_COLORS[d.id] ?? C.textDim;
55
- const barWidth = 160;
55
+ const barWidth = 220;
56
56
  const filledWidth = Math.round((d.score / 100) * barWidth);
57
- return `<g transform="translate(20, ${y})">
58
- <text x="0" y="11" fill="${C.textDim}" font-size="11" font-family="${SANS}" font-weight="500">${label}</text>
59
- <g transform="translate(100, 2)"><rect width="${barWidth}" height="10" rx="5" fill="${C.barBg}" opacity="0.5"/><rect width="${filledWidth}" height="10" rx="5" fill="${color}" filter="url(#glow)"/></g>
60
- <text x="${100 + barWidth + 8}" y="11" fill="${C.text}" font-size="12" font-family="${MONO}" font-weight="700">${d.score}</text>
61
- <text x="${100 + barWidth + 34}" y="11" fill="${color}" font-size="10" font-family="${MONO}">${confidenceSymbol(d.confidence)}</text>
57
+ return `<g transform="translate(25, ${y})">
58
+ <text x="0" y="14" fill="${C.textDim}" font-size="13" font-family="${SANS}" font-weight="500">${label}</text>
59
+ <g transform="translate(120, 3)"><rect width="${barWidth}" height="12" rx="6" fill="${C.barBg}" opacity="0.5"/><rect width="${filledWidth}" height="12" rx="6" fill="${color}" filter="url(#glow)"/></g>
60
+ <text x="${120 + barWidth + 10}" y="14" fill="${C.text}" font-size="14" font-family="${MONO}" font-weight="700">${d.score}</text>
61
+ <text x="${120 + barWidth + 42}" y="14" fill="${color}" font-size="12" font-family="${MONO}">${confidenceSymbol(d.confidence)}</text>
62
62
  </g>`;
63
63
  }
64
+ function formatHours(h) {
65
+ if (h >= 1000)
66
+ return (h / 1000).toFixed(1) + "kh";
67
+ return h + "h";
68
+ }
64
69
  // ── 8 Feature Mini-Bars (heatmap row) ──
65
70
  const MINI_BAR_KEYS = [
66
71
  { key: "hooks", localeKey: "hooks", color: "#a371f7" },
@@ -89,11 +94,11 @@ function miniBarOpacity(score) {
89
94
  function renderMiniBarGrid(featureScores, y, t) {
90
95
  const scores = featureScores ?? {};
91
96
  const totalFeatures = MINI_BAR_KEYS.length;
92
- const gap = 3;
93
- const startX = 20;
94
- const availableWidth = 340;
97
+ const gap = 4;
98
+ const startX = 25;
99
+ const availableWidth = 445;
95
100
  const colWidth = Math.floor((availableWidth - gap * (totalFeatures - 1)) / totalFeatures);
96
- const barHeight = 20;
101
+ const barHeight = 24;
97
102
  const lines = [];
98
103
  for (let i = 0; i < totalFeatures; i++) {
99
104
  const feat = MINI_BAR_KEYS[i];
@@ -104,18 +109,18 @@ function renderMiniBarGrid(featureScores, y, t) {
104
109
  const opacity = miniBarOpacity(score);
105
110
  lines.push(`<g transform="translate(${x}, ${y})">`);
106
111
  lines.push(` <rect width="${colWidth}" height="${barHeight}" rx="4" fill="${fillColor}" opacity="${opacity}"/>`);
107
- lines.push(` <text x="${colWidth / 2}" y="${barHeight / 2 + 1}" fill="${score > 0 ? '#fff' : C.textMuted}" font-size="8" font-family="${MONO}" font-weight="600" text-anchor="middle" dominant-baseline="middle">${score}</text>`);
108
- lines.push(` <text x="${colWidth / 2}" y="${barHeight + 11}" fill="${C.textMuted}" font-size="7" font-family="${SANS}" text-anchor="middle">${label}</text>`);
112
+ lines.push(` <text x="${colWidth / 2}" y="${barHeight / 2 + 1}" fill="${score > 0 ? '#fff' : C.textMuted}" font-size="10" font-family="${MONO}" font-weight="600" text-anchor="middle" dominant-baseline="middle">${score}</text>`);
113
+ lines.push(` <text x="${colWidth / 2}" y="${barHeight + 13}" fill="${C.textMuted}" font-size="9" font-family="${SANS}" text-anchor="middle">${label}</text>`);
109
114
  lines.push(`</g>`);
110
115
  }
111
116
  return lines.join("\n");
112
117
  }
113
- const MINI_BAR_SECTION_HEIGHT = 36; // single row of mini-bars + labels
118
+ const MINI_BAR_SECTION_HEIGHT = 42; // single row of mini-bars + labels
114
119
  // ── Calibrating Badge ──
115
120
  function renderCalibratingBadge(result, locale = "en") {
116
121
  const t = (0, locales_js_1.getLocale)(locale);
117
- const width = 380;
118
- const height = 180;
122
+ const width = 495;
123
+ const height = 230;
119
124
  const cl = result.setupChecklist;
120
125
  const needed = Math.max(0, 3 - result.sessionCount);
121
126
  const u = escapeXml(result.username);
@@ -123,56 +128,57 @@ function renderCalibratingBadge(result, locale = "en") {
123
128
  <title id="cc-title">${escapeXml(t.title)} \u2014 @${u}</title>
124
129
  <desc id="cc-desc">${escapeXml(t.calibrating)}: ${result.sessionCount} ${escapeXml(t.sessions)}</desc>
125
130
  ${defs()}
126
- <rect width="${width}" height="${height}" rx="10" fill="${C.bg}"/>
127
- <rect x="0.5" y="0.5" width="${width - 1}" height="${height - 1}" rx="9.5" fill="${C.card}" stroke="${C.border}"/>
128
- <text x="20" y="28" fill="${C.text}" font-size="15" font-family="${SANS}" font-weight="600">${escapeXml(t.title)}</text>
129
- <a href="https://github.com/${u}" target="_blank"><text x="${width - 20}" y="28" fill="${C.textDim}" font-size="11" font-family="${MONO}" text-anchor="end">@${u}</text></a>
130
- <line x1="20" y1="40" x2="${width - 20}" y2="40" stroke="${C.border}"/>
131
- <text x="20" y="64" fill="#d29922" font-size="12" font-family="${SANS}">\u23F3 ${escapeXml(t.calibrating)}</text>
132
- <text x="20" y="82" fill="${C.textDim}" font-size="11" font-family="${MONO}">${result.sessionCount} ${escapeXml(t.sessions)} \u00B7 ${escapeXml(t.needMore(needed))}</text>
133
- <line x1="20" y1="96" x2="${width - 20}" y2="96" stroke="${C.border}"/>
134
- <text x="20" y="114" fill="${C.textDim}" font-size="10" font-family="${SANS}" font-weight="500">${escapeXml(t.setup)}</text>
135
- <text x="20" y="132" fill="${cl.hasClaudeMd ? C.green : C.textMuted}" font-size="10" font-family="${SANS}">${cl.hasClaudeMd ? "\u2713" : "\u2717"} ${escapeXml(t.claudeMd)}</text>
136
- <text x="110" y="132" fill="${cl.hasHooks ? C.green : C.textMuted}" font-size="10" font-family="${SANS}">${cl.hasHooks ? "\u2713" : "\u2717"} ${escapeXml(t.hooks)}</text>
137
- <text x="180" y="132" fill="${cl.hasPlugins ? C.green : C.textMuted}" font-size="10" font-family="${SANS}">${cl.hasPlugins ? "\u2713" : "\u2717"} ${escapeXml(t.plugins)}</text>
138
- <text x="20" y="148" fill="${cl.hasMcpServers ? C.green : C.textMuted}" font-size="10" font-family="${SANS}">${cl.hasMcpServers ? "\u2713" : "\u2717"} ${escapeXml(t.mcp)}</text>
139
- <text x="110" y="148" fill="${cl.hasMemory ? C.green : C.textMuted}" font-size="10" font-family="${SANS}">${cl.hasMemory ? "\u2713" : "\u2717"} ${escapeXml(t.memory)}</text>
140
- <text x="180" y="148" fill="${cl.hasRules ? C.green : C.textMuted}" font-size="10" font-family="${SANS}">${cl.hasRules ? "\u2713" : "\u2717"} ${escapeXml(t.rules)}</text>
141
- <text x="20" y="${height - 12}" fill="${C.textMuted}" font-size="9" font-family="${MONO}">${result.timestamp.slice(0, 10)}</text>
142
- <a href="https://github.com/Z-M-Huang/cc-proficiency" target="_blank"><text x="${width - 20}" y="${height - 12}" fill="${C.textDim}" font-size="9" font-family="${MONO}" text-anchor="end">cc-proficiency</text></a>
131
+ <rect width="${width}" height="${height}" rx="12" fill="${C.bg}"/>
132
+ <rect x="0.5" y="0.5" width="${width - 1}" height="${height - 1}" rx="11.5" fill="${C.card}" stroke="${C.border}"/>
133
+ <text x="25" y="34" fill="${C.text}" font-size="18" font-family="${SANS}" font-weight="600">${escapeXml(t.title)}</text>
134
+ <a href="https://github.com/${u}" target="_blank"><text x="${width - 25}" y="34" fill="${C.textDim}" font-size="13" font-family="${MONO}" text-anchor="end">@${u}</text></a>
135
+ <line x1="25" y1="48" x2="${width - 25}" y2="48" stroke="${C.border}"/>
136
+ <text x="25" y="76" fill="#d29922" font-size="14" font-family="${SANS}">\u23F3 ${escapeXml(t.calibrating)}</text>
137
+ <text x="25" y="98" fill="${C.textDim}" font-size="13" font-family="${MONO}">${result.sessionCount} ${escapeXml(t.sessions)} \u00B7 ${escapeXml(t.needMore(needed))}</text>
138
+ <line x1="25" y1="114" x2="${width - 25}" y2="114" stroke="${C.border}"/>
139
+ <text x="25" y="136" fill="${C.textDim}" font-size="12" font-family="${SANS}" font-weight="500">${escapeXml(t.setup)}</text>
140
+ <text x="25" y="158" fill="${cl.hasClaudeMd ? C.green : C.textMuted}" font-size="12" font-family="${SANS}">${cl.hasClaudeMd ? "\u2713" : "\u2717"} ${escapeXml(t.claudeMd)}</text>
141
+ <text x="145" y="158" fill="${cl.hasHooks ? C.green : C.textMuted}" font-size="12" font-family="${SANS}">${cl.hasHooks ? "\u2713" : "\u2717"} ${escapeXml(t.hooks)}</text>
142
+ <text x="240" y="158" fill="${cl.hasPlugins ? C.green : C.textMuted}" font-size="12" font-family="${SANS}">${cl.hasPlugins ? "\u2713" : "\u2717"} ${escapeXml(t.plugins)}</text>
143
+ <text x="25" y="178" fill="${cl.hasMcpServers ? C.green : C.textMuted}" font-size="12" font-family="${SANS}">${cl.hasMcpServers ? "\u2713" : "\u2717"} ${escapeXml(t.mcp)}</text>
144
+ <text x="145" y="178" fill="${cl.hasMemory ? C.green : C.textMuted}" font-size="12" font-family="${SANS}">${cl.hasMemory ? "\u2713" : "\u2717"} ${escapeXml(t.memory)}</text>
145
+ <text x="240" y="178" fill="${cl.hasRules ? C.green : C.textMuted}" font-size="12" font-family="${SANS}">${cl.hasRules ? "\u2713" : "\u2717"} ${escapeXml(t.rules)}</text>
146
+ <text x="25" y="${height - 14}" fill="${C.textMuted}" font-size="10" font-family="${MONO}">${result.timestamp.slice(0, 10)}</text>
147
+ <text x="${width - 25}" y="${height - 14}" fill="${C.textMuted}" font-size="9" font-family="${MONO}" text-anchor="end">github.com/Z-M-Huang/cc-proficiency</text>
143
148
  </svg>`;
144
149
  }
145
150
  // ── Full Badge (also used for early) ──
146
151
  function renderFullBadge(result, locale = "en") {
147
152
  const t = (0, locales_js_1.getLocale)(locale);
148
- const width = 380;
153
+ const width = 495;
149
154
  const rows = result.domains.length;
150
- const separatorY = 50 + rows * 22 + 4;
151
- const miniBarY = separatorY + 12;
152
- const footerY = miniBarY + MINI_BAR_SECTION_HEIGHT + 4;
153
- const height = footerY + 22;
155
+ const separatorY = 62 + rows * 28 + 6;
156
+ const miniBarY = separatorY + 14;
157
+ const footerY = miniBarY + MINI_BAR_SECTION_HEIGHT + 6;
158
+ const height = footerY + 40;
154
159
  const u = escapeXml(result.username);
155
- const domainSvg = result.domains.map((d, i) => renderDomainRow(d, 50 + i * 22, t)).join("\n");
156
- const phaseLabel = result.phase === "early" ? `<text x="${width - 20}" y="${footerY + 14}" fill="#d29922" font-size="9" font-family="${MONO}" text-anchor="end">${escapeXml(t.earlyResults)}</text>` : "";
160
+ const domainSvg = result.domains.map((d, i) => renderDomainRow(d, 62 + i * 28, t)).join("\n");
161
+ const phaseLabel = result.phase === "early" ? `<text x="${width - 25}" y="${footerY + 16}" fill="#d29922" font-size="10" font-family="${MONO}" text-anchor="end">${escapeXml(t.earlyResults)}</text>` : "";
157
162
  return `<svg xmlns="http://www.w3.org/2000/svg" width="${width}" height="${height}" viewBox="0 0 ${width} ${height}" role="img" aria-labelledby="cc-title cc-desc">
158
163
  <title id="cc-title">${escapeXml(t.title)} \u2014 @${u}</title>
159
164
  <desc id="cc-desc">${result.sessionCount} ${escapeXml(t.sessions)}, ${result.projectCount} ${escapeXml(t.projects)}</desc>
160
165
  ${defs()}
161
- <rect width="${width}" height="${height}" rx="10" fill="${C.bg}"/>
162
- <rect x="0.5" y="0.5" width="${width - 1}" height="${height - 1}" rx="9.5" fill="${C.card}" stroke="${C.border}"/>
163
- <text x="20" y="28" fill="${C.text}" font-size="15" font-family="${SANS}" font-weight="600">${escapeXml(t.title)}</text>
164
- <a href="https://github.com/${u}" target="_blank"><text x="${width - 20}" y="28" fill="${C.textDim}" font-size="11" font-family="${MONO}" text-anchor="end">@${u}</text></a>
165
- <line x1="20" y1="40" x2="${width - 20}" y2="40" stroke="${C.border}"/>
166
+ <rect width="${width}" height="${height}" rx="12" fill="${C.bg}"/>
167
+ <rect x="0.5" y="0.5" width="${width - 1}" height="${height - 1}" rx="11.5" fill="${C.card}" stroke="${C.border}"/>
168
+ <text x="25" y="34" fill="${C.text}" font-size="18" font-family="${SANS}" font-weight="600">${escapeXml(t.title)}</text>
169
+ <a href="https://github.com/${u}" target="_blank"><text x="${width - 25}" y="34" fill="${C.textDim}" font-size="13" font-family="${MONO}" text-anchor="end">@${u}</text></a>
170
+ <line x1="25" y1="48" x2="${width - 25}" y2="48" stroke="${C.border}"/>
166
171
 
167
172
  ${domainSvg}
168
173
 
169
- <line x1="20" y1="${separatorY}" x2="${width - 20}" y2="${separatorY}" stroke="${C.border}"/>
174
+ <line x1="25" y1="${separatorY}" x2="${width - 25}" y2="${separatorY}" stroke="${C.border}"/>
170
175
 
171
176
  ${renderMiniBarGrid(result.features.featureScores, miniBarY, t)}
172
177
 
173
- <line x1="20" y1="${footerY}" x2="${width - 20}" y2="${footerY}" stroke="${C.border}"/>
174
- <text x="20" y="${footerY + 14}" fill="${C.textMuted}" font-size="10" font-family="${MONO}">${result.sessionCount} ${escapeXml(t.sessions)} \u00B7 ${result.projectCount} ${escapeXml(t.projects)} \u00B7 ${result.timestamp.slice(0, 10)}</text>
175
- <a href="https://github.com/Z-M-Huang/cc-proficiency" target="_blank"><text x="${width - 20}" y="${footerY + 14}" fill="${C.textDim}" font-size="9" font-family="${MONO}" text-anchor="end">cc-proficiency</text></a>
178
+ <line x1="25" y1="${footerY}" x2="${width - 25}" y2="${footerY}" stroke="${C.border}"/>
179
+ <text x="25" y="${footerY + 16}" fill="${C.textMuted}" font-size="11" font-family="${MONO}">${formatHours(result.features.totalHours)} \u00B7 ${result.sessionCount} ${escapeXml(t.sessions)} \u00B7 ${result.projectCount} ${escapeXml(t.projects)}${result.streak ? ` \u00B7 \uD83D\uDD25 ${result.streak}d` : ""}${result.achievementCount ? ` \u00B7 \uD83C\uDFC6 ${result.achievementCount}` : ""}</text>
180
+ <text x="25" y="${footerY + 32}" fill="${C.textMuted}" font-size="9" font-family="${MONO}">${result.timestamp.slice(0, 10)}</text>
181
+ <text x="${width - 25}" y="${footerY + 32}" fill="${C.textMuted}" font-size="9" font-family="${MONO}" text-anchor="end">github.com/Z-M-Huang/cc-proficiency</text>
176
182
  ${phaseLabel}
177
183
  </svg>`;
178
184
  }