Overview
Peon Trainer is a built-in exercise reminder system. The same orc who tells you βwork workβ now tells you to drop and give him twenty. No background daemon β reminders piggyback on your coding sessions. How It Works:- Start a new session β immediate reminder to do pushups before you code
- After ~20 minutes of active coding β reminder to do more reps
- Log reps with
peon trainer log - Progress resets at midnight
trainer on
Enable trainer mode.- Enables exercise reminders during coding sessions
- First session start plays greeting + pushup reminder
- Subsequent reminders every ~20 minutes of active coding
- Persists across terminal sessions
trainer off
Disable trainer mode.- Stops exercise reminders
- Progress tracking continues (data not deleted)
- Re-enable with
peon trainer onto resume
trainer status
Show todayβs exercise progress.- Shows current date
- Lists all exercises with progress toward daily goal
- Progress resets automatically at midnight
- Goals default to 300 reps per exercise (configurable)
trainer log
Log exercise reps.- Accepts any exercise name (lowercase, alphanumeric + underscores)
- Adds to todayβs total for that exercise
- Progress saved to
.state.json - Plays acknowledgment sound (βWork work! Muscles getting bigger maybe!β)
- Lowercase
- Spaces converted to underscores
- Valid:
pushups,squats,pull_ups,burpees - Invalid:
Push-ups!,123
trainer goal
Get or set daily exercise goals.Set Goal for All Exercises
- Applies to all current and future exercises
- Default:
300
Set Goal for Specific Exercise
- Overrides the global goal for one exercise
- Other exercises continue using global goal
Get Current Goals
trainer help
Show trainer-specific help and available commands.Slash Command (Claude Code)
Log reps without leaving your conversation:- Same as
peon trainer log 25 pushups - Useful for staying in flow
Reminder Timing
Session Start Reminder
Triggers immediately when starting a new coding session:Periodic Reminders
After ~20 minutes of active coding (measured by hook events, not wall time):- Only during active sessions (not when idle)
- No reminders when paused (
peon pause) - Cooldown period prevents spam
Progress Tracking
Progress is stored in.state.json under the trainer key:
- Only todayβs progress is kept
- Previous days are automatically pruned at midnight
- Historical tracking not implemented (feature request welcome)
Custom Voice Lines
Drop your own audio files into~/.claude/hooks/peon-ping/trainer/sounds/:
trainer/manifest.json to register your files:
Examples
Enable Trainer and Set Moderate Goals
Track Multiple Exercises with Different Goals
Complete a Goal Mid-Day
Check Progress Before Midnight
Related Commands
peon statusβ Shows if trainer is enabled (includes trainer status in output)peon pauseβ Mutes trainer reminders (along with all other sounds)peon volumeβ Adjust trainer voice line volume