Try the standalone app, inspect its source, or use it as a concrete extension-model example.
Track workouts, PRs, and routines as yaps.
Every push-day, every PR, every rest day — already in your inbox. Fitness turns Yapture’s existing primitives into a training log without adding a single new database table.
How your lists map to the app
| Fitness concept | Yapture primitive |
|---|---|
| Workout | yap of kind task with #~workout |
| Day type (push / pull / legs) | workspace (#@push, #@pull, #@legs) |
| Training program | routine (#~ppl-week-1) |
| Personal record | goal (#^pr:bench with #*{value:200,unit:lbs}) |
| Rest day | section header yap (Rest day:) |
Script extensions
Fitness registers three macros that expand client-side inside @yapture/nlp before core parsing runs:
#workout → #~workout
PR:200 → #^pr:#*{value:200}
RPE:9 → #*{rpe:9}
Type Bench 3x5 #workout PR:200 and the parser sees Bench 3x5 #~workout #^pr:#*{value:200} — which any Yapture client renders natively.
Surfaces
- Web pane — a 90-day rolling calendar heatmap inside the task-detail side pane. Click a heat cell to drill into that day’s yaps.
- CLI plugin —
yapture-fitness today,yapture-fitness pr bench,yapture-fitness program apply ./ppl.yml. - Custom view — a sidebar entry “PRs” filtered to
goals.kind=pr.
Events
yap.completed triggers a “set completed” handler that updates the daily total and recomputes weekly volume.
Release status
Hosted reference app. Marketplace installation, commercial tiers, and AI video analysis are not claimed.