Go to file
Moritz Graf 8e55078c14 feat: Implement Analyze and Plan features, Smart Sync, Theming, and Optional Auth 2026-01-01 14:22:48 +01:00
.gemini feat: Implement Analyze and Plan features, Smart Sync, Theming, and Optional Auth 2026-01-01 14:22:48 +01:00
backend feat: Implement Analyze and Plan features, Smart Sync, Theming, and Optional Auth 2026-01-01 14:22:48 +01:00
data/local feat: Implement Analyze and Plan features, Smart Sync, Theming, and Optional Auth 2026-01-01 14:22:48 +01:00
docs feat: Implement Analyze and Plan features, Smart Sync, Theming, and Optional Auth 2026-01-01 14:22:48 +01:00
frontend feat: Implement Analyze and Plan features, Smart Sync, Theming, and Optional Auth 2026-01-01 14:22:48 +01:00
.gitignore feat: Implement Analyze and Plan features, Smart Sync, Theming, and Optional Auth 2026-01-01 14:22:48 +01:00
README.md feat: Implement Analyze and Plan features, Smart Sync, Theming, and Optional Auth 2026-01-01 14:22:48 +01:00
backend.log feat: Implement Analyze and Plan features, Smart Sync, Theming, and Optional Auth 2026-01-01 14:22:48 +01:00
fitmop.sh feat: Implement Analyze and Plan features, Smart Sync, Theming, and Optional Auth 2026-01-01 14:22:48 +01:00
frontend.log feat: Implement Analyze and Plan features, Smart Sync, Theming, and Optional Auth 2026-01-01 14:22:48 +01:00

README.md

Fitness Antigravity

Your personal fitness coach powered by Gemini CLI, Garmin Connect, and Withings.

Features

  • Data Sync: Sync your Garmin workouts and Withings weightings locally.
  • Visualization: Beautiful Vue JS frontend to track your progress.
  • Strength Training: Create custom Garmin strength workouts locally.
  • Gemini Recommendations: Get AI-driven training advice for endurance and strength.
  • 100% Test Coverage: Robust Python backend with full unit test coverage.

Project Structure

  • backend/: Python source code and unit tests.
  • frontend/: Vue JS web application.
  • data/local/: Local storage for synced fitness data.
  • docs/: Detailed documentation and setup guides.

Setup Instructions

Quick Start (FitMop)

The easiest way to run the entire project is using the FitMop orchestrator:

  1. Run bash fitmop.sh.
  2. Open http://localhost:5173 in your browser.
  3. Enter your Garmin credentials in the UI. They will be stored securely in .env_garmin.

Manual Backend Setup

  1. Navigate to backend/.
  2. Install uv if you haven't: brew install uv.
  3. Install dependencies: uv sync.

Frontend

  1. Navigate to frontend/.
  2. Install dependencies: npm install.
  3. Start the dev server: npm run dev.

Usage

  • Run sync scripts manually to update local data.
  • Use the CLI/TUI in backend/ to create workouts and get recommendations.

Documentation