尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
Exercise animations and workouts with a 3D stick figure: 356 exercises (yoga, bodyweight, core, Pilates, bands,
free weights, chair-based, stretches, balance), linked to their easier, harder and other-equipment versions, each
with a map of the muscles it works and stretches (and a workout's total), and a workout player built to be used
from the floor — including on the cover screen of a foldable flip phone — with optional voice coaching and a swap to
an easier or harder version mid-workout.檢視完整 README ↗Exercise animations and workouts with a 3D stick figure: 358 exercises (yoga, bodyweight, core, Pilates, bands, free weights, chair-based, stretches, balance), linked to their easier, harder and other-equipment versions, each with a map of the muscles it works and stretches (and a workout's total), and a workout player built to be used from the floor — including on the cover screen of a foldable flip phone — with optional voice coaching and a swap to an easier or harder version mid-workout.
Use it: https://sanicki.github.io/nstructr/ (install it from the browser menu to use it offline and full screen).
Read the user guide: getting started and installing, the exercise library, making workouts, the workout player on the cover screen, Create with AI, editing exercises, sharing and backups, settings, and troubleshooting.
Found an exercise that looks wrong, or have an idea? Open an issue. Made an exercise, or improved one? Submit it from the app: Share → Submit to library (how). It's checked automatically, then reviewed.
No framework and no bundler: plain JavaScript, one JSON file per exercise and workout, and a build script that
validates the library, runs animation checks and writes the site to _site/.
npm install # once
node tools/build.mjs # validate + animation checks + build _site/
python3 -m http.server 8000 -d _site # then open http://127.0.0.1:8000/
--check-only runs just the checks (what CI runs on pull requests); --no-checks builds fast while working on
the UI. The build deletes and recreates _site/, so restart the server after each build.
What's still to do, and questions waiting on the owner: ROADMAP.md.
main.CLAUDE.md (the short rules) and
HANDOFF.md (formats, engine, design decisions). In particular:
library/exercises/<id>.json and library/workouts/<id>.json; the file name is the
id, and library ids never start with u-.tools/known-issues.json. Every pose must be one a flexible body can do (tools/rom.cjs), and
no two exercises may move the same with the same equipment and measure (src/similar.js): a known exercise
under another name goes in its otherNames.localStorage keys without a migration.node tools/build.mjs and make sure it passes.errors line that should be empty):
pip install playwright pillow && playwright install chromium
NSTRUCTR_URL=http://127.0.0.1:8000/nstructr.html python3 tools/e2e/<test>.py
Check anything the workout player shows at 360×398 (a foldable flip phone's cover screen), with nothing important at the
bottom of the screen.
New or changed exercises need a source link (source.url) to a reputable page; node tools/check-links.mjs
checks that every link still answers.python3 tools/audit.py (accessibility, 48 px touch targets, text size, sideways
scrolling, in light and dark; see docs/audit-2026-09.md) and fix what it reports.HANDOFF.md (and the user guide and its screenshots if users will notice) in the
same pull request. Screenshots come from .Contributions are accepted under the MIT license below.
Read these, in this order, before changing anything:
| File | What it's for |
|---|---|
CLAUDE.md | Commands, rules and where the code is (short; read first). AGENTS.md points here too. |
HANDOFF.md | The full picture: file formats, engine pipeline, validation rules, UI inventory, storage keys, tests, roadmap, open questions |
docs/3d-skeleton.md | The 3D figure (exercise format v2): why, the joint model and range of motion, how the library was converted |
docs/equipment-equivalents.md | Equipment versions of every library exercise: what was found, what's in the library, what's next |
docs/collection-research.md | Common exercises per collection the library doesn't have yet, and equipment to add (a proposal) |
docs/audit-2026-09.md | The Sep 2026 audit: accessibility, Material Design, security, performance |
wiki/ | The user guide: how the app behaves from a user's side |
schema/*.schema.json | JSON Schemas for exercise and workout files |
To write an exercise or workout for a user rather than change the code, use the app's Create with AI (see the guide): its instructions describe the format.
MIT: the engine, the app and the exercise library.
If NstructR is useful to you, you can support it with a donation.
tools/wiki_screenshots.pymain, saying what changed and how you tested it. CI runs the build and the
checks; merged changes deploy to GitHub Pages.