Skip to content

v1.2.0

Choose a tag to compare

@DTTerastar DTTerastar released this 15 Jun 04:55
45ff795

Features

  • New routines subcommandroutines list and routines show <name-or-id> export the saved workout templates Liftoff calls "presets" internally. Discovered via mitmproxy capture (fitnessService.fetchUserPresetsWithFolders).
  • Folder rendering — routines organized into folders in the Liftoff app surface as H1 section headings (# Valley Creek), with their routines as H2 underneath. Ungrouped routines appear under # My Routines — the same label the app uses.
  • JSON shaperoutines list --format json emits the upstream-faithful nested shape {folders, presetsWithoutFolder} so foldered presets aren't silently dropped.
  • Notes-in-parens convention — per-exercise cues (Seat 3, Left Only) render inline: Machine Seated Crunch (Seat 3) rather than as a markdown # heading. Applied to both routines and workouts.
  • Workouts: missing notes now surfaceSessionNotes previously rendered as a markdown # H1 collision; ExerciseNotes were silently dropped entirely.

Quality

  • First unit tests for the cmd/ package — 18 cases covering renderer output, folder layout, parens-note convention, and preset lookup paths.
  • CI cross-compiled review binaries — every PR now publishes darwin arm64/amd64 + linux amd64/arm64 artifacts attached to the run.

Install

brew tap quantcli/tap
brew install liftoff-export
# or upgrade:
brew upgrade liftoff-export

What's Changed

  • feat: routines export with folder sections + fitdown polish (#50)
  • docs: add worked example for liftoff-export (#49)