Sets & syntax
Inside an exercise block, every line describes one set. The basic shape is:
[flag] <reps> @<weight> [flags]
Rep forms
| You write | Meaning |
|---|---|
5 | 5 reps |
amrap | As many reps as possible |
5+ | At least 5 reps, then as many as possible |
8..12 | Rep range — log anywhere from 8 to 12 |
3x8 | Shorthand for 3 sets of 8 |
30s | A 30-second (time-based) set |
1m30s | A 90-second set |
A rep range can't also be AMRAP, and it can't ride the Nx shorthand: 8..12+ and 3x8..12 are both parse errors. Write 8+ or 8..12, and give a range one line per set.
Weight forms
Weights come after an @:
| You write | Meaning |
|---|---|
@%85 | 85% of this exercise's training max |
@%85 of Squat | 85% of another exercise's training max |
@135lbs / @60kg | A fixed load |
@BW | Bodyweight (pull-ups, dips, push-ups) |
@BW+20kg / @BW+45lbs | Bodyweight plus added load |
Flags
Flags annotate a set. warmup goes before the reps; drop and failure go after the
weight:
| Flag | Effect |
|---|---|
warmup | Warm-up set — excluded from working volume |
drop | Drop set |
failure | Taken to failure |
Exercise options
An exercise block can also carry options before its sets:
Bench Press {
rest: 3m // rest between sets
intensity: rpe // log RPE on each set (rpe | rir)
notes: "Pause on chest"
5 @%80
}
Supersets
Group exercises into a superset — they share a single rest timer:
Comments
Use // for line comments. They're preserved with your program, so annotate freely:
Squat (Back Squat) {
5 @%85 // top set — push it
// back-off sets below
3x5 @%75
}
Next up: making programs adapt over time with progressions & hooks.
Percentage ranges, effort targets, and segments
Use @%70..80 for a percentage range and rpe 7..8 for a prescribed effort range. These are targets; log the work and effort you actually complete. Effort options on warmup sets are not recorded as workout effort.
A segmented set is one set with named portions. Use segments followed by quoted names and rep or duration targets separated by commas. For example, 30s segments "Hold" 20s, "Finish" 10s is a 30-second set split into two timed portions.
Optional sessions
Place optional day "Name" { ... } inside a week to add a session separately from its regular training days. The Playground labels these as optional instead of hiding them. Inspect the program in the app before following it.