Framework-neutral

Bring the frames into your project.

Use the typed API, import assets directly, or load immutable versioned URLs from a CDN.

01

Install

The package ships dual ESM and CommonJS builds, TypeScript declarations, a JSON manifest, and all 906 SVG assets.

npm install @bryllim/workout-guide

02

JavaScript API

Look up exact exercises or search the normalized catalog with optional equipment, muscle, type, and stretch filters.

import {
  exercises,
  getExercise,
  searchExercises,
  getAssetUrl,
} from '@bryllim/workout-guide';

const pushUp = getExercise('push-up');
const results = searchExercises('chest bodyweight');
const imageUrl = getAssetUrl('push-up', 1);

Raw manifest

import manifest from '@bryllim/workout-guide/manifest.json';

console.log(manifest.length); // 302

03

Direct static imports

Every asset uses the stable path assets/<slug>/frame-<1|2|3>.svg.

import frame1 from '@bryllim/workout-guide/assets/push-up/frame-1.svg';

export function ExerciseImage() {
  return <img src={frame1} alt="Push-up starting position" />;
}

04

Expo and React Native

Metro resolves static assets at build time, so keep each require() path literal. Do not assemble these paths dynamically.

// React Native bundlers need literal require() paths.
const pushUpFrames = [
  require('@bryllim/workout-guide/assets/push-up/frame-1.svg'),
  require('@bryllim/workout-guide/assets/push-up/frame-2.svg'),
  require('@bryllim/workout-guide/assets/push-up/frame-3.svg'),
];

05

Versioned CDN URLs

Pin a package version for stable production URLs. The getAssetUrl() helper generates the same pattern.

https://cdn.jsdelivr.net/npm/@bryllim/workout-guide@1.0.0/assets/push-up/frame-1.svg

06

Licensing and attribution

Code and documentation are MIT licensed. Visual assets are CC BY-SA 4.0. The original pose artwork comes from Everkinetic and was expanded upon by Bryl Lim; direct source details are included in the manifest.

Suggested credit

Original exercise artwork by Everkinetic, expanded by Bryl Lim, licensed under CC BY-SA 4.0.