mgifos/quick-plan
56.5
Adequate · 20 September 2026
1.2k
lines of production code
Scala
primary language
1
measurement over time
What this system is
This system is a command-line tool for managing Garmin Connect workouts, allowing users to define, import, and schedule training plans from CSV files. It supports both running and cycling activities with flexible step definitions, automatic cooldowns, and metric/imperial unit conversions. The application handles authentication via OAuth and synchronizes workout data with the Garmin Connect API.
Features
Initial release of Garmin Connect workout import and scheduling CLI
This release introduces a new command-line tool that allows users to define, import, and schedule workouts on Garmin Connect using CSV-based weekly plans. The application handles authentication via a multi-step OAuth flow, parses workout definitions (including nested repeats, custom targets like heart rate or power, and metric/imperial units), and synchronizes them with the Garmin Connect API. Users can import workout definitions, schedule them on specific dates, and optionally delete existing workouts with matching names before importing.
src/main · high confidence
Initial release of Quick Plan CLI for Garmin workout management
Introduces the Quick Plan command-line tool, which allows users to define, import, and schedule Garmin Connect workouts from CSV-based weekly training plans. The tool supports both running and cycling workouts with a flexible notation for steps like warmup, repeat, and cooldown, including automatic cooldown addition via the \--auto-cooldown\ flag. It handles metric and imperial measurement systems and targets Garmin Connect via email/password authentication. The project is built with Scala 3, configured with Databricks-style formatting and linting rules (scalafmt/scalafix), and is currently at version 0.5.2-SNAPSHOT.
(repo-wide) · high confidence
Test coverage
Added comprehensive test coverage for workout parsing, authentication, and API integration; Added test fixtures for structured and CSV workout plans.
Dependencies
Initial project setup with Scala 3 and Typelevel ecosystem dependencies
The build configuration introduces the 'quick-plan' project, upgrading the language to Scala 3.8.2 and establishing a dependency stack centered on the Typelevel ecosystem, including Cats-Effect 3.7.0, fs2 3.12.2, http4s 0.23.31, and Circe 0.14.15 for JSON handling. Additional libraries include Logback for logging, Scopt for command-line parsing, and ScalaCSV for data processing, alongside ScalaTest for testing.
(dependencies) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Baseline
- First survey — no prior run to compare against. CAI 56.
Lenses
- Code Health 96
- Architecture 69
- Maturity 59
- Readiness 41
- Security 100
Changes since last survey
- 82 commits — 77 feature/other, 5 fixes
By area
- (root) — 41 commits
- src/main — 27 commits
- (repo) — 10 commits
- src/test — 3 commits
- project/plugins.sbt — 1 commit
Notable commits
- fix: Fixed: Failed to login to Garmin #6
- fix: Fixed: workout names #8
- fix: Merge pull request #21 from mgifos/bug/20-schedule-refs
- fix: Readme steps notation fix
- fix: fix: Login was not successful #60
- change: Add automatically cooldown: lap-button as an additional step of each workout #40
- change: Add power and cadence as possible targets
- change: Add support for custom workouts
- change: Additional step type 'go' provided to support custom workouts fully #29
- change: Allow cleaning of workouts
- change: Allow cleaning of workouts #33 (based on the existing -x option)
- change: Custom HR target spec #25
- change: Detect workout definition type automatically #42
- change: Formatted with new scalafmt format
- change: Garmin Connect Login Failure #53 quickfix
- change: Garmin connect workout deletion, definition and scheduling through Command line
- change: Improved stream error handling
- change: Initial commit
- change: Initial import of model and parsers
- change: Json dump
- …and 62 more
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
mgifos/quick-plan was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 20 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit a94b0abf6026f9ba571387210a648cd6373a7f6e — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-b51f968c9b10.