Bun-native command-line client for the Hevy public API.
Use hevy to inspect workouts, routines, exercise templates, body measurements, and other Hevy data from your terminal. It prints compact JSON by default, so it works well with jq, shell scripts, cron jobs, and small local dashboards.
hevy requires Bun at runtime.
bun install --global hevy
hevy --helpYou can also install it with npm if bun is on your PATH:
npm install --global hevy
hevy --helpInstall the agent skill for Hevy CLI workflows:
bunx skills add tifandotme/hevy-cli --skill hevy-cli -gThe skill tells compatible coding agents how to use the published CLI safely.
Set your Hevy API key in the environment:
export HEVY_API_KEY=...Or save it locally:
hevy auth login
hevy auth statusHEVY_API_KEY takes priority over local config.
List recent workouts:
hevy workouts list --page 1 --page-size 5Get the total workout count:
hevy workouts countList routines:
hevy routines listFetch every page and process the JSON with jq:
hevy workouts list --all | jq '.workouts[].title'Create or update resources from JSON:
hevy workouts create --body @workout.json
hevy body-measurements update 2026-05-06 --body @measurement.jsonEarly release. hevy stays close to the Hevy public API shape, so commands map directly to API resources where possible.
Install dependencies and run checks:
bun install
bun run generate:openapi-types
bun run format:check
bun run lint
bun run typecheck
bun test
bun run buildRun locally:
HEVY_API_KEY=... bun run src/cli.ts workouts list --page 1 --page-size 5