workout
Workout CLI
Multi-User Profiles
Multiple people can track workouts independently using profiles.
workout profile list # List all profiles
workout profile create sarah # Create new profile
workout profile delete old # Delete profile
When multiple profiles exist, specify which one:
workout --profile mike start push-day
workout --profile mike log bench-press 185 8
workout --profile mike done
- Single profile: Commands work without
--profile(backwards compatible) - Shared exercises: Exercise library shared across profiles
- Per-user data: Templates, workouts, config are per-profile
CRITICAL RULES
1. Always Add New Exercises First
If user mentions an exercise not in library, add it before logging:
workout exercises add "Dumbbell RDL" --muscles hamstrings,glutes --type compound --equipment dumbbell
Never skip this — unknown exercises will fail to log.
2. Log Accurate Numbers — Notes Are NOT a Substitute
Sets require correct weight and reps. Numbers feed statistical analysis (PRs, volume, progression).
- ❌ WRONG: Log 0 lbs then add a note with the real weight
- ✅ RIGHT: Log the actual weight used
If user doesn't specify weight, ASK before logging. Don't assume 0.
3. Notes Are Metadata Only
Use notes for context (injuries, form cues, equipment notes), not to correct bad data:
workout note "Left elbow tender today"
workout note bench-press "Used close grip"
Core Commands
workout start --empty # Start freestyle session
workout start push # Start from template
workout log bench-press 135 8 # Log set (weight reps)
workout log bench-press 135 8,8,7 # Log multiple sets
workout note "Session note" # Add note
workout note bench-press "Note" # Note on exercise
workout swap bench-press db-bench # Swap exercise
workout done # Finish session
workout cancel # Discard
Editing & Fixing Logged Sets
workout undo # Remove last logged set
workout undo bench-press # Remove last set of specific exercise
workout edit bench-press 2 155 8 # Edit set 2: weight=155, reps=8
workout edit bench-press 2 --reps 10 --rir 2 # Edit reps and RIR
workout delete bench-press 3 # Delete set 3 entirely
Set numbers are 1-indexed. Use these to fix mistakes during a session.
Exercises
workout exercises list
workout exercises list --muscle chest
workout exercises add "Name" --muscles biceps --type isolation --equipment cable
⚠️ exercises add requires: --muscles, --type, --equipment
Equipment options: barbell, dumbbell, cable, machine, bodyweight, kettlebell, band, other
Templates
workout templates list
workout templates show push
workout templates create "Push" --exercises "bench-press:4x8,ohp:3x8"
History & PRs
workout last # Last workout
workout history bench-press # Exercise history
workout pr # All PRs
workout pr bench-press # Exercise PRs
workout volume --week # Weekly volume
workout progression bench-press # Progress over time
Typical Session Flow
# 1. Start
workout start push
# 2. Log with REAL numbers
workout log bench-press 135 8
workout log bench-press 145 8
workout log bench-press 155 6
# 3. Notes for context only
workout note bench-press "Felt strong today"
# 4. Finish
workout done
Equipment Variants
Use specific exercises for equipment variants to track properly:
bench-press(barbell) vsdumbbell-bench-pressromanian-deadlift(barbell) vsdumbbell-rdlshoulder-press(barbell) vsdumbbell-shoulder-press
Notes
- Weights in lbs
- Multiple
logcalls at different weights OK swapmoves all logged sets to new exercise- All commands support
--json