ccclub 0.2.44 → 0.2.45

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.
Files changed (2) hide show
  1. package/dist/index.js +20 -11
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  // src/index.ts
4
- import { Command } from "commander";
4
+ import { Command, Option } from "commander";
5
5
 
6
6
  // src/commands/init.ts
7
7
  import { createInterface } from "readline/promises";
@@ -1114,17 +1114,26 @@ async function hookCommand() {
1114
1114
  }
1115
1115
 
1116
1116
  // src/index.ts
1117
- var VERSION = "0.2.44";
1117
+ var VERSION = "0.2.45";
1118
1118
  startUpdateCheck(VERSION);
1119
1119
  var program = new Command();
1120
- program.name("ccclub").description("CCClub - Compare Claude Code usage with friends").version(VERSION);
1121
- program.command("init").description("Initialize CCClub (one-time setup)").action(initCommand);
1122
- program.command("join").description("Join a friend's group").argument("<invite-code>", "6-character invite code").action(joinCommand);
1123
- program.command("sync").description("Sync local usage data to server").option("-s, --silent", "No output (used by auto-sync hook)").option("-f, --full", "Force full re-sync of all data").action(syncCommand);
1120
+ program.name("ccclub").description("Compare Claude Code usage with friends").version(VERSION);
1124
1121
  program.command("rank", { isDefault: true, hidden: true }).description("Show leaderboard").option("-p, --period [period]", "daily | weekly | monthly | all-time", "daily").option("-g, --group <code>", "Group invite code").option("--global", "Show global public ranking").option("--cache", "Include cache tokens in count").action(rankCommand);
1125
- program.command("-p weekly|monthly|all-time", { hidden: false }).description("Switch period (default: daily)");
1126
- program.command("profile").description("View or update your profile").option("-n, --name <name>", "Set display name").option("--avatar <url>", "Set avatar URL (empty string to reset)").option("--public", "Set profile visibility to public").option("--private", "Set profile visibility to private").option("--plan <plan>", "Set plan: pro ($20), max100 ($100), max200 ($200), api, or none to clear").action(profileCommand);
1127
- program.command("create").description("Create a new group").action(createGroupCommand);
1128
- program.command("show-data").description("Show exactly what data CCClub uploads (privacy audit)").action(showDataCommand);
1129
- program.command("hook").description("Set up Claude Code hook for auto-sync on session end").action(hookCommand);
1122
+ program.command("init").description("Create a group and start tracking (first-time setup)").action(initCommand);
1123
+ program.command("join").description("Join a group with a 6-letter invite code").argument("<invite-code>", "6-character invite code").action(joinCommand);
1124
+ program.command("sync").description("Upload usage data (runs automatically after each chat)").addOption(new Option("-s, --silent").hideHelp()).option("-f, --force", "Force full re-sync of all data").addOption(new Option("--full", "Same as --force").hideHelp()).action(
1125
+ (options) => syncCommand({ ...options, full: options.full || options.force })
1126
+ );
1127
+ program.command("profile").description("View or update name, avatar, plan, visibility").option("-n, --name <name>", "Set display name").option("--avatar <url>", "Set avatar URL (empty to reset)").option("--public", "Make profile visible in global ranking").option("--private", "Hide from global ranking").option("--plan <plan>", "pro ($20) | max100 ($100) | max200 ($200) | api | none").action(profileCommand);
1128
+ program.command("create").description("Create an additional group").action(createGroupCommand);
1129
+ program.command("show-data").description("Preview exactly what gets uploaded (privacy check)").action(showDataCommand);
1130
+ program.command("hook", { hidden: true }).description("Set up auto-sync hook").action(hookCommand);
1131
+ program.addHelpText("after", `
1132
+ Examples:
1133
+ $ ccclub Show today's leaderboard (default)
1134
+ $ ccclub -p weekly Switch period: weekly | monthly | all-time
1135
+ $ ccclub --global Global public leaderboard
1136
+ $ ccclub --cache Include cache tokens in total
1137
+ $ ccclub sync --force Force full re-sync of all data
1138
+ `);
1130
1139
  program.parse();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ccclub",
3
- "version": "0.2.44",
3
+ "version": "0.2.45",
4
4
  "type": "module",
5
5
  "description": "See how much Claude Code you and your friends are using",
6
6
  "bin": {