Skip to content
 
 

Repository files navigation

intervals-icu-workout-parser

npm version CI License: MIT

Parse and build Intervals.icu workout text format.

Documentation | Workout Library | Format Spec

Installation

npm install intervals-icu-workout-parser

Quick 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:

License

MIT

About

Parse and build Intervals.icu workout text format

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages