Commit Graph

1 Commits

Author SHA1 Message Date
sumulige 2cae3c67b2 feat: maintain local Zwift workout catalog
Write synced workouts into the local Zwift Workouts directory and maintain the matching workouts.files manifest entries so the Zwift client can discover generated .zwo files.

Apply the same local catalog update and cleanup path to Intervals.icu and TrainingPeaks managed workouts, while preserving unmanaged custom workout manifest entries.

Expose a small launcher status readout for active provider, cached workout metadata, local file presence, and manifest health.

Use a configurable ZWIFT_WORKOUTS_DIR Docker Compose bind mount instead of committing a host-specific path or credentials.

Privacy review: no secrets, tokens, account IDs, or hard-coded local user paths are added. Existing credential references are code variables only.

Verification: .venv/bin/python -m unittest discover -s tests; git diff --cached --check; docker compose config.
2026-05-23 22:12:03 +08:00