> gym compile program.gym
Your workout program is code.
Paste a program your AI wrote. Gym.exe checks every line like a compiler, tells you exactly what to fix and shows the plan it compiles to. The same parser runs inside the iPhone app.
// compiler output
01 Get a program from your AI
Copy the instruction and send it to ChatGPT, Claude or Gemini — tell it your goals, time and injuries. It replies with code; paste it above. The instruction carries the format, the exercise catalog and your current program as a starting point.
02 Run it on your iPhone
Gym.exe plans every session from this program and moves the weights for you: all sets done — the weight goes up; missed three times — it deloads. In the app: Program → Edit as text → paste → Save.
Format · Gym.exe program v1
Plain text, one exercise per line, blocks in braces. Keywords are English; exercises are catalog ids, English names also
work. Numbers don’t depend on locale: 62.5 and 62,5 are the same.
| Write | Means |
|---|---|
program "Name" { … } | One program per file. Everything else goes inside. |
units: kg | kg or lb — for every weight in the program. |
progression: linear(+2.5kg, deload 10% after 3) | How weights move: linear, double(8-12, +2kg), wave(+5kg), reps(6-12) or manual. |
day "Push" { … } | A training day, in the order you train them. |
squat 3x5 @60kg | Exercise, sets × reps and weight. 3x5+ — last set to failure, 3x8-12 — a rep range, @bw — bodyweight. |
rest 2:30 · rest 90s | Rest between sets, up to 10 minutes. |
warmup · drop 20% · drop 2x20% | Warm-up sets before the work sets; drop sets after the last one. |
superset { … } | Exercises done back to back inside a day. |
progression: double(+2kg) on a line | Its own progression for one exercise. |
Text before program and after the last } is ignored, so a whole AI reply with code fences can be pasted as is.
The format is open: the full spec, a JSON Schema, the exercise catalog and example programs are on GitHub — nononog2/gymexe-program (MIT).