intervals-icu-workout-parser
v1.0.0
Published
Parse and build Intervals.icu workout text format
Maintainers
Readme
intervals-icu-workout-parser
Parse and build Intervals.icu workout text format.
Documentation | Workout Library | Format Spec
Installation
npm install intervals-icu-workout-parserQuick Example
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)Features
- 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
Documentation
LLM Integration
Machine-readable documentation for AI assistants:
- llms.txt - Package API
- llms-spec.txt - Format specification
License
MIT
