kinemotion

CLAUDE.md

This file is the always-on context for agents working in this repository. Keep it high-signal and evergreen.

Repository Purpose

Kinemotion provides video-based kinematic analysis for athletic performance.

Supported jump analyses:

Current pose estimator:

Architecture Snapshot

src/kinemotion/
  cli.py
  api.py
  core/
  drop_jump/
  countermovement_jump/
  squat_jump/
tests/
frontend/
backend/

High-level flow: frontend -> backend -> src/kinemotion analysis engine -> Supabase -> frontend

Canonical Commands

Setup:

asdf install
uv sync

Development checks:

uv run ruff check --fix
uv run ruff format
uv run pyright
uv run pytest

Useful test commands:

uv run pytest tests/core/
uv run pytest tests/countermovement_jump/
uv run pytest tests/drop_jump/
uv run pytest tests/squat_jump/

CLI examples:

uv run kinemotion dropjump-analyze video.mp4
uv run kinemotion cmj-analyze video.mp4
uv run kinemotion sj-analyze video.mp4 --mass 75.0

Code Quality Constraints

Critical Domain Gotchas

Video processing:

Counter Movement Jump:

Squat Jump:

Task Routing and Specialists

Project subagents live in .claude/agents/. Use them for domain-heavy tasks (biomechanics, CV, backend, QA, docs, DevOps).

Reference:

Read X When Y

Read these only when task-relevant (progressive disclosure):

Source-of-Truth Policy

When instructions in this file conflict with executable config or scripts:

Avoid hard-coding volatile values (test counts, temporary percentages, release-only numbers).

Maintenance Cadence

Refresh this file:

Checklist for refresh: