CoachZed
CoachZed reads a workout catalog, asks an AI client for a day-by-day training plan, and writes schedule JSON plus calendar feeds.
Configuration
You can set shared defaults with:
CoachZed.configure do |config|
config.workout_catalog_dir = "workouts"
config.output_dir = "results"
end
CoachZed.new also loads defaults from either:
.coach_zed.ymlin the current directory~/.config/coach_zed.yml
If a config file is present, you can initialize with just client:.
Generated files are written beneath output_dir:
output_dir/schedulesoutput_dir/feeds
Development
After checking out the repo, run bin/setup to install dependencies. Then, run rake spec to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install. Releases are automated through GitHub Actions: conventional commits determine the next version, the workflow updates lib/coach_zed/version.rb and CHANGELOG.md, tags the release, builds the gem, and publishes the package to rubygems.org.
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/coach_zed. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the code of conduct.
License
The gem is available as open source under the terms of the MIT License.
Code of Conduct
Everyone interacting in the CoachZed project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.