Parse and build Intervals.icu workout text format
npm install intervals-icu-workout-parser


Parse and build Intervals.icu workout text format.
Documentation | Workout Library | Format Spec
``bash`
npm install intervals-icu-workout-parser
`typescript
import { parseWorkoutStructure, WorkoutBuilder, serializeWorkout } from 'intervals-icu-workout-parser'
// Parse workout text → AST
const structure = parseWorkoutStructure(
Sweet Spot
Warmup
- 10m 60%
Main Set 3x
- 8m 88-94%
- 4m 55%
Cooldown
- 10m 50%)
// Build workout programmatically
const workout = new WorkoutBuilder()
.title('Sweet Spot')
.section('Warmup')
.step().time(10).power(60).add()
.section('Main Set').repeat(3)
.step().time(8).powerRange(88, 94).add()
.step().time(4).power(55).add()
.section('Cooldown')
.step().time(10).power(50).add()
.buildWorkout()
// Serialize AST → text
const text = serializeWorkout(workout)
``
- Parse - Convert Intervals.icu text to structured AST
- Build - Create workouts with fluent builder API
- Serialize - Convert AST back to text format
- Metrics - Calculate duration, TSS, intensity factor
- TypeScript - Full type definitions included
- Getting Started
- API Reference
- Format Specification
- Workout Library
Machine-readable documentation for AI assistants:
- llms.txt - Package API
- llms-spec.txt - Format specification
MIT