endurance-coach 0.1.1 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/README.md +3 -0
  2. package/dist/cli.js +318 -35
  3. package/dist/expander/expander.d.ts +20 -0
  4. package/dist/expander/expander.js +339 -0
  5. package/dist/expander/index.d.ts +8 -0
  6. package/dist/expander/index.js +9 -0
  7. package/dist/expander/types.d.ts +169 -0
  8. package/dist/expander/types.js +6 -0
  9. package/dist/expander/zones.d.ts +50 -0
  10. package/dist/expander/zones.js +159 -0
  11. package/dist/index.d.ts +4 -0
  12. package/dist/index.js +9 -1
  13. package/dist/schema/compact-plan.d.ts +175 -0
  14. package/dist/schema/compact-plan.js +64 -0
  15. package/dist/schema/compact-plan.schema.d.ts +277 -0
  16. package/dist/schema/compact-plan.schema.js +205 -0
  17. package/dist/templates/index.d.ts +10 -0
  18. package/dist/templates/index.js +13 -0
  19. package/dist/templates/interpolate.d.ts +51 -0
  20. package/dist/templates/interpolate.js +204 -0
  21. package/dist/templates/loader.d.ts +19 -0
  22. package/dist/templates/loader.js +129 -0
  23. package/dist/templates/template.schema.d.ts +401 -0
  24. package/dist/templates/template.schema.js +101 -0
  25. package/dist/templates/template.types.d.ts +155 -0
  26. package/dist/templates/template.types.js +7 -0
  27. package/dist/templates/yaml-parser.d.ts +15 -0
  28. package/dist/templates/yaml-parser.js +18 -0
  29. package/package.json +2 -1
  30. package/templates/bike/CLAUDE.md +7 -0
  31. package/templates/bike/easy.yaml +38 -0
  32. package/templates/bike/endurance.yaml +42 -0
  33. package/templates/bike/hills.yaml +80 -0
  34. package/templates/bike/overunders.yaml +81 -0
  35. package/templates/bike/rest.yaml +16 -0
  36. package/templates/bike/sweetspot.yaml +80 -0
  37. package/templates/bike/tempo.yaml +79 -0
  38. package/templates/bike/threshold.yaml +83 -0
  39. package/templates/bike/vo2max.yaml +84 -0
  40. package/templates/brick/CLAUDE.md +7 -0
  41. package/templates/brick/halfironman.yaml +72 -0
  42. package/templates/brick/ironman.yaml +72 -0
  43. package/templates/brick/olympic.yaml +70 -0
  44. package/templates/brick/sprint.yaml +70 -0
  45. package/templates/plan-viewer.html +22 -22
  46. package/templates/run/CLAUDE.md +7 -0
  47. package/templates/run/easy.yaml +36 -0
  48. package/templates/run/fartlek.yaml +40 -0
  49. package/templates/run/hills.yaml +36 -0
  50. package/templates/run/intervals.1k.yaml +63 -0
  51. package/templates/run/intervals.400.yaml +63 -0
  52. package/templates/run/intervals.800.yaml +63 -0
  53. package/templates/run/intervals.mile.yaml +64 -0
  54. package/templates/run/long.yaml +41 -0
  55. package/templates/run/progression.yaml +49 -0
  56. package/templates/run/race.5k.yaml +36 -0
  57. package/templates/run/recovery.yaml +36 -0
  58. package/templates/run/rest.yaml +16 -0
  59. package/templates/run/strides.yaml +49 -0
  60. package/templates/run/tempo.yaml +56 -0
  61. package/templates/run/threshold.yaml +56 -0
  62. package/templates/strength/CLAUDE.md +7 -0
  63. package/templates/strength/core.yaml +56 -0
  64. package/templates/strength/foundation.yaml +65 -0
  65. package/templates/strength/full.yaml +73 -0
  66. package/templates/strength/maintenance.yaml +62 -0
  67. package/templates/swim/CLAUDE.md +7 -0
  68. package/templates/swim/aerobic.yaml +67 -0
  69. package/templates/swim/easy.yaml +51 -0
  70. package/templates/swim/openwater.yaml +60 -0
  71. package/templates/swim/rest.yaml +16 -0
  72. package/templates/swim/technique.yaml +67 -0
  73. package/templates/swim/threshold.yaml +75 -0
  74. package/templates/swim/vo2max.yaml +88 -0
@@ -0,0 +1,88 @@
1
+ id: swim.vo2max
2
+ name: VO2max Swim
3
+ sport: swim
4
+ type: vo2max
5
+ category: speed
6
+
7
+ params:
8
+ reps:
9
+ type: int
10
+ required: true
11
+ default: 8
12
+ min: 4
13
+ max: 12
14
+ description: Number of 100m repeats at CSS-5s pace
15
+ rest_secs:
16
+ type: int
17
+ default: 30
18
+ description: Rest between 100m repeats in seconds
19
+
20
+ structure:
21
+ warmup:
22
+ - type: warmup
23
+ name: Easy swim
24
+ distance: 300m
25
+ duration: 6min
26
+ pace: Easy
27
+ intensity: Zone 1
28
+ - type: warmup
29
+ name: Drill set
30
+ description: "6x50m drill/swim"
31
+ duration: 8min
32
+ intensity: Zone 1-2
33
+ main:
34
+ - type: intervals
35
+ repeats: "${reps}"
36
+ work:
37
+ type: work
38
+ name: 100m @ CSS-5s
39
+ distance: 100m
40
+ pace: "${paces.css} - 5s/100m"
41
+ intensity: Zone 5
42
+ recovery:
43
+ type: recovery
44
+ name: Rest
45
+ duration: "${rest_secs}s"
46
+ - type: intervals
47
+ repeats: "4"
48
+ work:
49
+ type: work
50
+ name: 50m FAST
51
+ distance: 50m
52
+ pace: Sprint
53
+ intensity: Zone 5+
54
+ recovery:
55
+ type: recovery
56
+ name: Rest
57
+ duration: 30s
58
+ cooldown:
59
+ - type: cooldown
60
+ name: Easy swim
61
+ distance: 300m
62
+ pace: Very easy
63
+ intensity: Zone 1
64
+
65
+ humanReadable: |
66
+ VO2MAX SWIM
67
+
68
+ WARM-UP:
69
+ - 300m easy
70
+ - 6 x 50m drill/swim alternating
71
+
72
+ MAIN SET:
73
+ ${reps} x 100m @ CSS-5s/100m
74
+ Pace: ${paces.css} minus 5 seconds per 100m
75
+ Rest: ${rest_secs}s between each
76
+
77
+ Then:
78
+ 4 x 50m FAST (near max effort)
79
+ Rest: 30s between each
80
+
81
+ COOL-DOWN: 300m easy
82
+
83
+ Total: ~${300 + 300 + (reps * 100) + 200 + 300}m
84
+
85
+ estimatedDuration: "${14 + (reps * 2) + 6 + 6}"
86
+ targetZone: Z5
87
+ rpe: "8-9"
88
+ notes: High-intensity session for VO2max development