Skip to content

Commit c8483ef

Browse files
dannyshmueliclaude
andcommitted
Remove push-up challenge feature from CLI
Deleted files: - Commands: pushup-challenge.ts, statusline-challenge.ts, pushup-prompt-hook.ts, refresh-push-up-challenge-statusline.ts, detect-validation.ts - UI: push-up-challenge-menu.ts, push-up-receipt.ts - Libraries: push-up-sync.ts, push-up-prompter.ts, push-up-daily-reset.ts Modified files: - Remove push-up imports/code from: index.ts, config.ts, api-client.ts, detector.ts, statusline.ts, cursor-stats.ts, send.ts, send-orchestrator.ts, main-menu.ts, menu-builder.ts, first-time-welcome.ts, status-sections.ts, claude-settings-manager.ts, hooks-manager.ts - Update CLAUDE.md documentation - Fix detector.test.ts mocks 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 926015e commit c8483ef

26 files changed

+12
-3187
lines changed

CLAUDE.md

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ Each command is a standalone module that handles specific CLI operations:
4747
- Never call `apiClient.uploadSessions()` directly - the send command handles all session processing
4848
- The `selectedSessions` parameter expects `SelectedSessionInfo[]` from session-selector
4949
- **`status.ts`** - Display user streak, points, and statistics (includes Cursor IDE stats)
50-
- **`cursor-stats.ts`** - Display dedicated Cursor IDE statistics view with push-up tracking integration
50+
- **`cursor-stats.ts`** - Display dedicated Cursor IDE statistics view
5151
- **`auth.ts`** - Re-authentication for expired/invalid tokens
5252
- Supports `wizardMode` parameter to suppress menu-related messages during guided flows
5353
- **`config.ts`** - Manage CLI configuration settings
@@ -56,11 +56,6 @@ Each command is a standalone module that handles specific CLI operations:
5656
- **`hooks-log.ts`** - View and manage hook execution logs
5757
- **`hooks-manage.ts`** - Comprehensive hooks management interface
5858
- **`verify-hooks.ts`** - Verify hook installation and configuration
59-
- **`pushup-challenge.ts`** - Push-up challenge gamification system
60-
- Tracks validation phrases in Claude Code responses
61-
- Adds push-ups to debt for over-validation patterns
62-
- Automatically scans Cursor IDE messages for same validation phrases when enabled
63-
- Subcommands: `enable`, `disable`, `stats`, `summary`, `statusline`
6459

6560
### Core Libraries (`/src/lib/`)
6661

@@ -131,8 +126,6 @@ Each command is a standalone module that handles specific CLI operations:
131126
**Hook Naming Convention**: All hooks use PascalCase format (e.g., `PreCompact`, `SessionStart`, `SessionEnd`, `Stop`).
132127
Legacy camelCase formats (`preCompact`, `stop`) are no longer supported.
133128

134-
**Note**: The `Stop` hook (PascalCase) is reserved for the Push-Up Challenge feature and should not be used by vibe-log hooks.
135-
136129
##### Core Hook Management (`/src/lib/hooks/`)
137130
- **`hooks-controller.ts`** - Selective hook management:
138131
- Install/configure individual hooks (SessionStart, PreCompact, SessionEnd)

src/commands/cursor-stats.ts

Lines changed: 0 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,6 @@ import { countCursorMessages } from '../lib/readers/cursor';
33
import { createSpinner } from '../lib/ui';
44
import { VibelogError } from '../utils/errors';
55
import { logger } from '../utils/logger';
6-
import {
7-
getPushUpChallengeConfig,
8-
checkAndUpdateCursorPushUps
9-
} from '../lib/config';
106

117
export async function cursorStats(): Promise<void> {
128
const spinner = createSpinner('Fetching Cursor IDE stats...').start();
@@ -16,14 +12,6 @@ export async function cursorStats(): Promise<void> {
1612

1713
spinner.succeed('Cursor stats loaded!');
1814

19-
// Check if push-up challenge is enabled and update debt
20-
const pushUpConfig = getPushUpChallengeConfig();
21-
let cursorPushUpResult;
22-
23-
if (pushUpConfig.enabled) {
24-
cursorPushUpResult = await checkAndUpdateCursorPushUps();
25-
}
26-
2715
console.log(chalk.cyan('\n💬 Your Cursor IDE Stats'));
2816
console.log(chalk.gray('═══════════════════════════════\n'));
2917

@@ -45,39 +33,6 @@ export async function cursorStats(): Promise<void> {
4533

4634
console.log(chalk.gray('\n═══════════════════════════════\n'));
4735

48-
// Show push-up challenge results if enabled
49-
if (pushUpConfig.enabled && cursorPushUpResult) {
50-
console.log(chalk.cyan('💪 Push-Up Challenge:'));
51-
console.log(chalk.gray(` Tracking: ${chalk.bold('Validation phrases in assistant responses')}`));
52-
53-
if (cursorPushUpResult.pushUpsAdded > 0) {
54-
console.log(chalk.yellow('\n 📊 Validations Detected:'));
55-
console.log(chalk.gray(` • New messages scanned: ${chalk.bold(cursorPushUpResult.newMessages)}`));
56-
console.log(chalk.red(` • Validation phrases found: ${chalk.bold(cursorPushUpResult.validationPhrasesDetected?.length || 0)}`));
57-
if (cursorPushUpResult.validationPhrasesDetected && cursorPushUpResult.validationPhrasesDetected.length > 0) {
58-
console.log(chalk.gray(` • Phrases: ${chalk.dim(cursorPushUpResult.validationPhrasesDetected.slice(0, 3).join(', '))}${cursorPushUpResult.validationPhrasesDetected.length > 3 ? '...' : ''}`));
59-
}
60-
console.log(chalk.red(` • Push-ups added: ${chalk.bold(cursorPushUpResult.pushUpsAdded)}`));
61-
console.log(chalk.yellow(` • Total debt: ${chalk.bold(cursorPushUpResult.totalDebt)}`));
62-
} else if (cursorPushUpResult.newMessages > 0) {
63-
console.log(chalk.green(`\n ✅ No validations detected (${cursorPushUpResult.newMessages} messages scanned)`));
64-
} else {
65-
console.log(chalk.gray(`\n No new messages since last check`));
66-
}
67-
68-
// Show time-based statistics
69-
if (cursorPushUpResult.timeStats) {
70-
const stats = cursorPushUpResult.timeStats;
71-
console.log(chalk.cyan('\n 📅 Time-Based Stats:'));
72-
console.log(chalk.gray(` • This week: ${chalk.bold(stats.thisWeek)} push-ups`));
73-
console.log(chalk.gray(` • Last week: ${chalk.bold(stats.lastWeek)} push-ups`));
74-
console.log(chalk.gray(` • This month: ${chalk.bold(stats.thisMonth)} push-ups`));
75-
console.log(chalk.gray(` • This year: ${chalk.bold(stats.thisYear)} push-ups`));
76-
}
77-
78-
console.log(chalk.gray('\n═══════════════════════════════\n'));
79-
}
80-
8136
// Motivational message based on usage
8237
if (stats.conversationCount === 0) {
8338
console.log(chalk.yellow('💡 Start coding with Cursor to track your conversations!'));

src/commands/detect-validation.ts

Lines changed: 0 additions & 132 deletions
This file was deleted.

0 commit comments

Comments
 (0)