Skip to content

Changelog

All notable changes to this project will be documented in this file.

  • README exampleDurninWomersley quick-start used skinfolds= keyword argument, which raised TypeError against the *args signature. Switched to positional form.
  • ActivityLevel documentationdocs-library/meal-planning.md listed "light" and "extra" as accepted values; only "sedentary", "moderate", and "very" exist on the enum. Corrected the accepted-values table.
  • Author metadata updated to jeffallan (https://jeffallan.github.io); removes stale attribution from the original v0.1.x package author.
  • Package description and marketing copy reframed from “ACSM-sourced equations” to “validated, research-backed equations” across README, PyPI description, marketplace metadata, and the docs site landing page. Deep scholarly references (equation-source citations in reference docs) kept intact.
  • README header — new capsule-render banner (sky blue → amber gradient), stats line, and shields.io badge row (PyPI version, Python versions, license, Claude Code Plugin, stars, CI). Matches style of sibling repos.
  • Docs-site landing page — real install commands (/plugin marketplace add + npx skills add) replace the stub claude install command.
  • Terminology unified on “Agent Skills” (capitalized) across README and docs site.
  • Release workflowactions/configure-pages@v5 now passes enablement: true so GitHub Pages auto-initializes on first run; future releases don’t require manual Pages-enable gymnastics.
  • CI now triggers on PRs to develop (previously master-only) and declares workflow_call so release.yml can reuse it.
  • Package build config — explicit [tool.setuptools.packages.find] ensures only fitness_tools/ ships; prevents site/, skills/, and docs-library/ from confusing setuptools flat-layout auto-discovery.
  • Type system: StrEnum enums (Sex, BodyType, ActivityLevel, Goal) replace raw strings
  • Frozen dataclasses: BodyCompositionResult, MacroTargets, RepEstimate for structured return values
  • Centralized validation module (fitness_tools/validation.py) with shared input checks
  • CI pipeline: GitHub Actions with ruff linting, mypy strict type checking, and pytest matrix (Python 3.11/3.12/3.13)
  • Claude skills plugin: 3 specialized skills (body-composition, rep-max, meal-planner) with YAML frontmatter and reference files
  • Documentation site: Astro + Starlight on GitHub Pages, replacing Sphinx/Read the Docs
  • py.typed marker for PEP 561 typed package support
  • 11-rep bug: RM_Estimator now correctly handles 11 repetitions (was off-by-one in percentage table lookup)
  • Migrated build system from setup.py to pyproject.toml
  • All documentation converted from RST to Markdown
  • Minimum Python version raised to 3.11 (from 3.6)
  • Package status promoted to “Production/Stable”
  • Links in README
  • Initial release
  • Body composition calculations (Durnin-Womersley, Jackson-Pollock 3/4/7-site)
  • Rep max estimation using ACSM percentage table
  • Macronutrient meal planning by body type