kinemotion 0.32.0__tar.gz → 0.32.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of kinemotion might be problematic. Click here for more details.

Files changed (395) hide show
  1. {kinemotion-0.32.0 → kinemotion-0.32.1}/.basic-memory/deployment/vercel-monorepo-deployment-best-practice.md +1 -1
  2. kinemotion-0.32.1/.basic-memory/development/basic-memory-naming-hook-analysis.md +148 -0
  3. kinemotion-0.32.1/.basic-memory/development/claude-code-hook-configuration.md +343 -0
  4. kinemotion-0.32.1/.basic-memory/development/frontend-dependencies-analysis-nov-2025.md +186 -0
  5. kinemotion-0.32.1/.basic-memory/development/hook-complete-audit-summary.md +284 -0
  6. kinemotion-0.32.1/.basic-memory/development/hook-configuration-audit.md +260 -0
  7. kinemotion-0.32.1/.basic-memory/development/hook-quick-reference.md +281 -0
  8. kinemotion-0.32.1/.basic-memory/development/using-multiple-mcp-reasoning-servers-simultaneously.md +304 -0
  9. kinemotion-0.32.1/.basic-memory/project-management/mcp-sequential-thinking-alternatives-analysis.md +233 -0
  10. {kinemotion-0.32.0 → kinemotion-0.32.1}/.basic-memory/strategy/deployment-decision-analysis-for-kinemotion.md +5 -5
  11. kinemotion-0.32.1/.claude/hooks/fix-basic-memory-names.sh +116 -0
  12. kinemotion-0.32.1/.claude/settings.local.json +82 -0
  13. kinemotion-0.32.1/.cursor/mcp.json +42 -0
  14. {kinemotion-0.32.0 → kinemotion-0.32.1}/.gitignore +9 -4
  15. kinemotion-0.32.1/.mcp.json +62 -0
  16. {kinemotion-0.32.0 → kinemotion-0.32.1}/.pre-commit-config.yaml +3 -0
  17. {kinemotion-0.32.0 → kinemotion-0.32.1}/CHANGELOG.md +52 -0
  18. {kinemotion-0.32.0 → kinemotion-0.32.1}/PKG-INFO +1 -1
  19. kinemotion-0.32.1/frontend/.yarn/releases/yarn-4.12.0.cjs +942 -0
  20. kinemotion-0.32.1/frontend/.yarnrc.yml +7 -0
  21. {kinemotion-0.32.0 → kinemotion-0.32.1}/frontend/src/hooks/useAnalysis.ts +1 -1
  22. {kinemotion-0.32.0 → kinemotion-0.32.1}/pyproject.toml +1 -1
  23. {kinemotion-0.32.0 → kinemotion-0.32.1}/uv.lock +1 -1
  24. kinemotion-0.32.0/.claude/hooks/fix-basic-memory-names.sh +0 -50
  25. kinemotion-0.32.0/frontend/.pnp.loader.mjs +0 -2126
  26. kinemotion-0.32.0/frontend/.yarn/install-state.gz +0 -0
  27. kinemotion-0.32.0/frontend/.yarnrc.yml +0 -7
  28. {kinemotion-0.32.0 → kinemotion-0.32.1}/.basic-memory/README.md +0 -0
  29. {kinemotion-0.32.0 → kinemotion-0.32.1}/.basic-memory/api/api-reference-quick-commands.md +0 -0
  30. {kinemotion-0.32.0 → kinemotion-0.32.1}/.basic-memory/biomechanics/camera-perspective-analysis-45deg-vs-lateral.md +0 -0
  31. {kinemotion-0.32.0 → kinemotion-0.32.1}/.basic-memory/biomechanics/cmj-landing-detection-window-validation.md +0 -0
  32. {kinemotion-0.32.0 → kinemotion-0.32.1}/.basic-memory/biomechanics/cmj-physiological-bounds-for-validation.md +0 -0
  33. {kinemotion-0.32.0 → kinemotion-0.32.1}/.basic-memory/biomechanics/cmj-validation-implementation-complete.md +0 -0
  34. {kinemotion-0.32.0 → kinemotion-0.32.1}/.basic-memory/biomechanics/drop-jump-vs-cmj-key-differences.md +0 -0
  35. {kinemotion-0.32.0 → kinemotion-0.32.1}/.basic-memory/biomechanics/technical-implementation-45deg-perspective-correction.md +0 -0
  36. {kinemotion-0.32.0 → kinemotion-0.32.1}/.basic-memory/codebase/codebase-architecture-overview.md +0 -0
  37. {kinemotion-0.32.0 → kinemotion-0.32.1}/.basic-memory/development/ci-caching-issue-investigation-deep-squat-test-failure.md +0 -0
  38. {kinemotion-0.32.0 → kinemotion-0.32.1}/.basic-memory/development/ci-vs-local-test-failure-investigation.md +0 -0
  39. {kinemotion-0.32.0 → kinemotion-0.32.1}/.basic-memory/development/cmj-phase-detection-testing-gap-analysis.md +0 -0
  40. {kinemotion-0.32.0 → kinemotion-0.32.1}/.basic-memory/development/development-standards-quality-gates.md +0 -0
  41. {kinemotion-0.32.0 → kinemotion-0.32.1}/.basic-memory/project-management/issue-12-mvp-scaffolding-complete.md +0 -0
  42. {kinemotion-0.32.0 → kinemotion-0.32.1}/.basic-memory/project-management/issue-12-unblocked-tasks-breakdown.md +0 -0
  43. {kinemotion-0.32.0 → kinemotion-0.32.1}/.basic-memory/project-management/issue-12-use-real-metrics-now.md +0 -0
  44. {kinemotion-0.32.0 → kinemotion-0.32.1}/.basic-memory/project-management/kinemotion-project-setup-complete.md +0 -0
  45. {kinemotion-0.32.0 → kinemotion-0.32.1}/.basic-memory/project-management/specialized-subagents-routing-guide.md +0 -0
  46. {kinemotion-0.32.0 → kinemotion-0.32.1}/.basic-memory/strategy/mvp-feedback-collection-plan.md +0 -0
  47. {kinemotion-0.32.0 → kinemotion-0.32.1}/.basic-memory/strategy/mvp-first-strategic-direction.md +0 -0
  48. {kinemotion-0.32.0 → kinemotion-0.32.1}/.basic-memory/strategy/mvp-validation-checkpoints.md +0 -0
  49. {kinemotion-0.32.0 → kinemotion-0.32.1}/.basic-memory/strategy/strategic-priority-tasks-current-roadmap.md +0 -0
  50. {kinemotion-0.32.0 → kinemotion-0.32.1}/.claude/agents/biomechanics-specialist.md +0 -0
  51. {kinemotion-0.32.0 → kinemotion-0.32.1}/.claude/agents/computer-vision-engineer.md +0 -0
  52. {kinemotion-0.32.0 → kinemotion-0.32.1}/.claude/agents/devops-cicd-engineer.md +0 -0
  53. {kinemotion-0.32.0 → kinemotion-0.32.1}/.claude/agents/frontend-developer.md +0 -0
  54. {kinemotion-0.32.0 → kinemotion-0.32.1}/.claude/agents/ml-data-scientist.md +0 -0
  55. {kinemotion-0.32.0 → kinemotion-0.32.1}/.claude/agents/project-manager.md +0 -0
  56. {kinemotion-0.32.0 → kinemotion-0.32.1}/.claude/agents/python-backend-developer.md +0 -0
  57. {kinemotion-0.32.0 → kinemotion-0.32.1}/.claude/agents/qa-test-engineer.md +0 -0
  58. {kinemotion-0.32.0 → kinemotion-0.32.1}/.claude/agents/technical-writer.md +0 -0
  59. {kinemotion-0.32.0 → kinemotion-0.32.1}/.dockerignore +0 -0
  60. {kinemotion-0.32.0 → kinemotion-0.32.1}/.gitattributes +0 -0
  61. {kinemotion-0.32.0 → kinemotion-0.32.1}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  62. {kinemotion-0.32.0 → kinemotion-0.32.1}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  63. {kinemotion-0.32.0 → kinemotion-0.32.1}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  64. {kinemotion-0.32.0 → kinemotion-0.32.1}/.github/dependabot.yml +0 -0
  65. {kinemotion-0.32.0 → kinemotion-0.32.1}/.github/pull_request_template.md +0 -0
  66. {kinemotion-0.32.0 → kinemotion-0.32.1}/.github/workflows/deploy.yml +0 -0
  67. {kinemotion-0.32.0 → kinemotion-0.32.1}/.github/workflows/docs.yml +0 -0
  68. {kinemotion-0.32.0 → kinemotion-0.32.1}/.github/workflows/release.yml +0 -0
  69. {kinemotion-0.32.0 → kinemotion-0.32.1}/.github/workflows/security.yml +0 -0
  70. {kinemotion-0.32.0 → kinemotion-0.32.1}/.github/workflows/test.yml +0 -0
  71. {kinemotion-0.32.0 → kinemotion-0.32.1}/.readthedocs.yml +0 -0
  72. {kinemotion-0.32.0 → kinemotion-0.32.1}/.serena/.gitignore +0 -0
  73. {kinemotion-0.32.0 → kinemotion-0.32.1}/.serena/memories/camera-perspective-validation-study.md +0 -0
  74. {kinemotion-0.32.0 → kinemotion-0.32.1}/.serena/memories/code_style_and_conventions.md +0 -0
  75. {kinemotion-0.32.0 → kinemotion-0.32.1}/.serena/memories/github-project-setup-summary.md +0 -0
  76. {kinemotion-0.32.0 → kinemotion-0.32.1}/.serena/memories/mvp-first-strategy.md +0 -0
  77. {kinemotion-0.32.0 → kinemotion-0.32.1}/.serena/memories/project_overview.md +0 -0
  78. {kinemotion-0.32.0 → kinemotion-0.32.1}/.serena/memories/specialist-agents-routing.md +0 -0
  79. {kinemotion-0.32.0 → kinemotion-0.32.1}/.serena/memories/suggested_commands.md +0 -0
  80. {kinemotion-0.32.0 → kinemotion-0.32.1}/.serena/project.yml +0 -0
  81. {kinemotion-0.32.0 → kinemotion-0.32.1}/.tool-versions +0 -0
  82. {kinemotion-0.32.0 → kinemotion-0.32.1}/CLAUDE.md +0 -0
  83. {kinemotion-0.32.0 → kinemotion-0.32.1}/CODE_OF_CONDUCT.md +0 -0
  84. {kinemotion-0.32.0 → kinemotion-0.32.1}/CONTRIBUTING.md +0 -0
  85. {kinemotion-0.32.0 → kinemotion-0.32.1}/Dockerfile +0 -0
  86. {kinemotion-0.32.0 → kinemotion-0.32.1}/GEMINI.md +0 -0
  87. {kinemotion-0.32.0 → kinemotion-0.32.1}/LICENSE +0 -0
  88. {kinemotion-0.32.0 → kinemotion-0.32.1}/README.md +0 -0
  89. {kinemotion-0.32.0 → kinemotion-0.32.1}/SECURITY.md +0 -0
  90. {kinemotion-0.32.0 → kinemotion-0.32.1}/backend/.dockerignore +0 -0
  91. {kinemotion-0.32.0 → kinemotion-0.32.1}/backend/.env.example +0 -0
  92. {kinemotion-0.32.0 → kinemotion-0.32.1}/backend/Dockerfile +0 -0
  93. {kinemotion-0.32.0 → kinemotion-0.32.1}/backend/README.md +0 -0
  94. {kinemotion-0.32.0 → kinemotion-0.32.1}/backend/docs/fly-deployment.md +0 -0
  95. {kinemotion-0.32.0 → kinemotion-0.32.1}/backend/docs/implementation-summary.md +0 -0
  96. {kinemotion-0.32.0 → kinemotion-0.32.1}/backend/docs/setup.md +0 -0
  97. {kinemotion-0.32.0 → kinemotion-0.32.1}/backend/docs/tests.md +0 -0
  98. {kinemotion-0.32.0 → kinemotion-0.32.1}/backend/fly.toml +0 -0
  99. {kinemotion-0.32.0 → kinemotion-0.32.1}/backend/pyproject.toml +0 -0
  100. {kinemotion-0.32.0 → kinemotion-0.32.1}/backend/src/kinemotion_backend/__init__.py +0 -0
  101. {kinemotion-0.32.0 → kinemotion-0.32.1}/backend/src/kinemotion_backend/app.py +0 -0
  102. {kinemotion-0.32.0 → kinemotion-0.32.1}/backend/tests/README.md +0 -0
  103. {kinemotion-0.32.0 → kinemotion-0.32.1}/backend/tests/__init__.py +0 -0
  104. {kinemotion-0.32.0 → kinemotion-0.32.1}/backend/tests/conftest.py +0 -0
  105. {kinemotion-0.32.0 → kinemotion-0.32.1}/backend/tests/test_api_endpoints.py +0 -0
  106. {kinemotion-0.32.0 → kinemotion-0.32.1}/backend/tests/test_error_handling.py +0 -0
  107. {kinemotion-0.32.0 → kinemotion-0.32.1}/backend/tests/test_health.py +0 -0
  108. {kinemotion-0.32.0 → kinemotion-0.32.1}/backend/tests/test_r2_integration.py +0 -0
  109. {kinemotion-0.32.0 → kinemotion-0.32.1}/backend/tests/test_validation.py +0 -0
  110. {kinemotion-0.32.0 → kinemotion-0.32.1}/backend/uv.lock +0 -0
  111. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/README.md +0 -0
  112. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/api/cmj.md +0 -0
  113. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/api/core.md +0 -0
  114. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/api/dropjump.md +0 -0
  115. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/api/overview.md +0 -0
  116. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/development/agents-guide.md +0 -0
  117. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/development/errors-findings.md +0 -0
  118. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/development/testing.md +0 -0
  119. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/development/type-hints.md +0 -0
  120. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/development/validation-plan.md +0 -0
  121. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/development/validation-roadmap.md +0 -0
  122. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/development/wallball-norep-detection.md +0 -0
  123. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/guides/bulk-processing.md +0 -0
  124. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/guides/camera-setup.md +0 -0
  125. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/guides/cloud-run-deployment.md +0 -0
  126. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/guides/cmj-guide.md +0 -0
  127. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/guides/cmj-recording-protocol-es.md +0 -0
  128. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/guides/cmj-recording-protocol.md +0 -0
  129. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/guides/deployment-checklist.md +0 -0
  130. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/guides/local-testing.md +0 -0
  131. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/guides/setup-issue-12.md +0 -0
  132. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/index.md +0 -0
  133. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/quick-start.md +0 -0
  134. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/reference/cloud-run-quick-reference.md +0 -0
  135. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/reference/json-output-format.md +0 -0
  136. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/reference/json-structure-comparison.md +0 -0
  137. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/reference/parameters.md +0 -0
  138. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/reference/pose-systems.md +0 -0
  139. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/paper-downloader/HOW-TO-FIND-DOIS.md +0 -0
  140. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/paper-downloader/README.md +0 -0
  141. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/paper-downloader/dois.txt +0 -0
  142. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/paper-downloader/download.py +0 -0
  143. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/paper-downloader/pyproject.toml +0 -0
  144. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/paper-downloader/uv.lock +0 -0
  145. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/sports-biomechanics-pose-estimation.md +0 -0
  146. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/MANUAL-DOWNLOAD-GUIDE.md +0 -0
  147. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/README.md +0 -0
  148. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/convert_pdfs.py +0 -0
  149. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/markdown/athlete-monitoring/2001_Foster_Session-RPE-Training-Monitoring.md +0 -0
  150. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/markdown/athlete-monitoring/2015_Buchheit_GPS-Accelerometers-Stride-Stiffness.md +0 -0
  151. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/markdown/athlete-monitoring/2018_Flatt_HRV-Recovery-Swimmers.md +0 -0
  152. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/markdown/athlete-monitoring/2018_Saw_Training-Camps-Monitoring.md +0 -0
  153. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/markdown/athlete-monitoring/2018_Ward_Putting-i-in-Team.md +0 -0
  154. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/markdown/injury-prevention/2011_Petersen_Nordic-Hamstring-Prevention.md +0 -0
  155. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/markdown/injury-prevention/2011_Wilk_Shoulder-GIRD-Baseball-Pitchers.md +0 -0
  156. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/markdown/injury-prevention/2012_Hewit_Multidirectional-Leg-Asymmetry.md +0 -0
  157. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/markdown/injury-prevention/2015_Ford_Hip-Neuromuscular-Exercise-Valgus.md +0 -0
  158. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/markdown/injury-prevention/2015_Mosler_Hip-Groin-Pain-Factors.md +0 -0
  159. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/markdown/injury-prevention/2015_Sconce_Nordic-Hamstring-Validity.md +0 -0
  160. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/markdown/injury-prevention/2016_Mendez-Villanueva_Hamstring-MRI-Regional.md +0 -0
  161. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/markdown/injury-prevention/2016_Read_Youth-Soccer-Injury-Risk.md +0 -0
  162. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/markdown/injury-prevention/2017_Mason-Mackay_Ankle-Dorsiflexion-Landing.md +0 -0
  163. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/markdown/injury-prevention/2017_Mendiguchia_Hamstring-Treatment-Algorithm.md +0 -0
  164. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/markdown/injury-prevention/2018_Balsalobre-Fernandez_Ankle-Dorsiflexion-App.md +0 -0
  165. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/markdown/injury-prevention/2018_Bramah_Pathological-Gait-Running-Injuries.md +0 -0
  166. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/markdown/injury-prevention/2020_Fidai_Fatigue-Knee-Valgus-Youth.md +0 -0
  167. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/markdown/jump-performance/2011_Harper_10-to-5-Jump-Test.md +0 -0
  168. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/markdown/jump-performance/2012_Samozino_Optimal-Force-Velocity-Profile.md +0 -0
  169. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/markdown/jump-performance/2014_Samozino_FV-Imbalance.md +0 -0
  170. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/markdown/jump-performance/2016_Jimenez-Reyes_Force-Velocity-Training.md +0 -0
  171. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/markdown/jump-performance/2016_Morin-Samozino_Power-Force-Velocity-Profiles.md +0 -0
  172. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/markdown/jump-performance/2018_Garcia-Ramos_Two-Point-Method-Optimization.md +0 -0
  173. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/markdown/jump-performance/2022_Wells_Golf-Clubhead-CMJ.md +0 -0
  174. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/markdown/running-biomechanics/2005_Morin_Running-Stiffness-Measurement.md +0 -0
  175. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/markdown/running-biomechanics/2015_Balsalobre-Fernandez_Strength-Training-Running-Economy.md +0 -0
  176. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/markdown/running-biomechanics/2016_Balsalobre-Fernandez_iPhone-Running-Mechanics.md +0 -0
  177. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/markdown/running-biomechanics/2016_Moore_Economical-Running-Technique.md +0 -0
  178. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/markdown/running-biomechanics/2020_Filter_Curve-Sprint-Test-Soccer.md +0 -0
  179. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/markdown/running-biomechanics/2020_Harper_Horizontal-Deceleration-Radar.md +0 -0
  180. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/markdown/running-biomechanics/2021_vanOeveren_Running-Biomechanics-Synthesis.md +0 -0
  181. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/markdown/running-biomechanics/2024_Bramah_Sprint-Mechanics-Assessment-Score.md +0 -0
  182. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/markdown/smartphone-technology/2015_Balsalobre-Fernandez_iPhone-Vertical-Jump.md +0 -0
  183. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/markdown/smartphone-technology/2022_Bishop_MyJumpLab-Validation.md +0 -0
  184. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/markdown/velocity-based-training/2011_Jidovtseff_Load-Velocity-1RM-Prediction.md +0 -0
  185. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/markdown/velocity-based-training/2016_Conceicao_Movement-Velocity-Lower-Limb.md +0 -0
  186. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/markdown/velocity-based-training/2016_Pareja-Blanco_Velocity-Loss-Training.md +0 -0
  187. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/markdown/velocity-based-training/2017_Balsalobre-Fernandez_Barbell-Velocity-1RM.md +0 -0
  188. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/markdown/velocity-based-training/2020_Balsalobre-Fernandez_Barbell-Trajectory-Snatch.md +0 -0
  189. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/markdown/velocity-based-training/2023_Balsalobre-Fernandez_AI-Barbell-Velocity.md +0 -0
  190. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/online-references-for-papers.md +0 -0
  191. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/pdfs/athlete-monitoring/2001_Foster_Session-RPE-Training-Monitoring.pdf +0 -0
  192. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/pdfs/athlete-monitoring/2015_Buchheit_GPS-Accelerometers-Stride-Stiffness.pdf +0 -0
  193. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/pdfs/athlete-monitoring/2018_Flatt_HRV-Recovery-Swimmers.pdf +0 -0
  194. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/pdfs/athlete-monitoring/2018_Saw_Training-Camps-Monitoring.pdf +0 -0
  195. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/pdfs/athlete-monitoring/2018_Ward_Putting-i-in-Team.pdf +0 -0
  196. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/pdfs/injury-prevention/2011_Petersen_Nordic-Hamstring-Prevention.pdf +0 -0
  197. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/pdfs/injury-prevention/2011_Wilk_Shoulder-GIRD-Baseball-Pitchers.pdf +0 -0
  198. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/pdfs/injury-prevention/2012_Hewit_Multidirectional-Leg-Asymmetry.pdf +0 -0
  199. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/pdfs/injury-prevention/2015_Ford_Hip-Neuromuscular-Exercise-Valgus.pdf +0 -0
  200. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/pdfs/injury-prevention/2015_Mosler_Hip-Groin-Pain-Factors.pdf +0 -0
  201. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/pdfs/injury-prevention/2015_Sconce_Nordic-Hamstring-Validity.pdf +0 -0
  202. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/pdfs/injury-prevention/2016_Mendez-Villanueva_Hamstring-MRI-Regional.pdf +0 -0
  203. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/pdfs/injury-prevention/2016_Read_Youth-Soccer-Injury-Risk.pdf +0 -0
  204. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/pdfs/injury-prevention/2017_Mason-Mackay_Ankle-Dorsiflexion-Landing.pdf +0 -0
  205. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/pdfs/injury-prevention/2017_Mendiguchia_Hamstring-Treatment-Algorithm.pdf +0 -0
  206. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/pdfs/injury-prevention/2018_Balsalobre-Fernandez_Ankle-Dorsiflexion-App.pdf +0 -0
  207. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/pdfs/injury-prevention/2018_Bramah_Pathological-Gait-Running-Injuries.pdf +0 -0
  208. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/pdfs/injury-prevention/2020_Fidai_Fatigue-Knee-Valgus-Youth.pdf +0 -0
  209. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/pdfs/jump-performance/2011_Harper_10-to-5-Jump-Test.pdf +0 -0
  210. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/pdfs/jump-performance/2012_Samozino_Optimal-Force-Velocity-Profile.pdf +0 -0
  211. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/pdfs/jump-performance/2014_Samozino_FV-Imbalance.pdf +0 -0
  212. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/pdfs/jump-performance/2016_Jimenez-Reyes_Force-Velocity-Training.pdf +0 -0
  213. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/pdfs/jump-performance/2016_Morin-Samozino_Power-Force-Velocity-Profiles.pdf +0 -0
  214. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/pdfs/jump-performance/2018_Garcia-Ramos_Two-Point-Method-Optimization.pdf +0 -0
  215. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/pdfs/jump-performance/2022_Wells_Golf-Clubhead-CMJ.pdf +0 -0
  216. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/pdfs/running-biomechanics/2005_Morin_Running-Stiffness-Measurement.pdf +0 -0
  217. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/pdfs/running-biomechanics/2015_Balsalobre-Fernandez_Strength-Training-Running-Economy.pdf +0 -0
  218. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/pdfs/running-biomechanics/2016_Balsalobre-Fernandez_iPhone-Running-Mechanics.pdf +0 -0
  219. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/pdfs/running-biomechanics/2016_Moore_Economical-Running-Technique.pdf +0 -0
  220. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/pdfs/running-biomechanics/2020_Filter_Curve-Sprint-Test-Soccer.pdf +0 -0
  221. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/pdfs/running-biomechanics/2020_Harper_Horizontal-Deceleration-Radar.pdf +0 -0
  222. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/pdfs/running-biomechanics/2021_vanOeveren_Running-Biomechanics-Synthesis.pdf +0 -0
  223. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/pdfs/running-biomechanics/2024_Bramah_Sprint-Mechanics-Assessment-Score.pdf +0 -0
  224. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/pdfs/smartphone-technology/2015_Balsalobre-Fernandez_iPhone-Vertical-Jump.pdf +0 -0
  225. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/pdfs/smartphone-technology/2022_Bishop_MyJumpLab-Validation.pdf +0 -0
  226. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/pdfs/velocity-based-training/2011_Jidovtseff_Load-Velocity-1RM-Prediction.pdf +0 -0
  227. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/pdfs/velocity-based-training/2016_Conceicao_Movement-Velocity-Lower-Limb.pdf +0 -0
  228. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/pdfs/velocity-based-training/2016_Pareja-Blanco_Velocity-Loss-Training.pdf +0 -0
  229. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/pdfs/velocity-based-training/2017_Balsalobre-Fernandez_Barbell-Velocity-1RM.pdf +0 -0
  230. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/pdfs/velocity-based-training/2020_Balsalobre-Fernandez_Barbell-Trajectory-Snatch.pdf +0 -0
  231. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/research/thirdparty/pdfs/velocity-based-training/2023_Balsalobre-Fernandez_AI-Barbell-Velocity.pdf +0 -0
  232. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/strategy/1-STRATEGIC_SUMMARY.md +0 -0
  233. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/strategy/2-STRATEGIC_ANALYSIS.md +0 -0
  234. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/strategy/MVP_FEEDBACK_COLLECTION.md +0 -0
  235. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/strategy/MVP_VALIDATION_CHECKPOINTS.md +0 -0
  236. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/strategy/README.md +0 -0
  237. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/strategy/STYLE_GUIDE.md +0 -0
  238. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/strategy/agent-assessments/BACKEND_ARCHITECTURE/01-executive-summary.md +0 -0
  239. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/strategy/agent-assessments/BACKEND_ARCHITECTURE/02-technical-assessment.md +0 -0
  240. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/strategy/agent-assessments/BACKEND_ARCHITECTURE/03-refactoring-roadmap.md +0 -0
  241. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/strategy/agent-assessments/BACKEND_ARCHITECTURE/README.md +0 -0
  242. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/strategy/agent-assessments/BIOMECHANICS/01-executive-summary.md +0 -0
  243. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/strategy/agent-assessments/BIOMECHANICS/02-technical-assessment.md +0 -0
  244. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/strategy/agent-assessments/BIOMECHANICS/03-reference-guide.md +0 -0
  245. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/strategy/agent-assessments/BIOMECHANICS/README.md +0 -0
  246. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/strategy/agent-assessments/COMPUTER_VISION/01-executive-summary.md +0 -0
  247. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/strategy/agent-assessments/COMPUTER_VISION/02-real-time-architecture.md +0 -0
  248. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/strategy/agent-assessments/COMPUTER_VISION/03-implementation-checklist.md +0 -0
  249. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/strategy/agent-assessments/COMPUTER_VISION/README.md +0 -0
  250. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/strategy/agent-assessments/CONSOLIDATED/01-agent-consensus.md +0 -0
  251. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/strategy/agent-assessments/CONSOLIDATED/02-critical-findings.md +0 -0
  252. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/strategy/agent-assessments/CONSOLIDATED/03-roadmap-adjustments.md +0 -0
  253. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/strategy/agent-assessments/CONSOLIDATED/04-decision-points.md +0 -0
  254. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/strategy/agent-assessments/CONSOLIDATED/README.md +0 -0
  255. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/strategy/agent-assessments/CONSOLIDATED/risk-register.md +0 -0
  256. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/strategy/agent-assessments/CONSOLIDATED/timeline-roadmap.md +0 -0
  257. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/strategy/agent-assessments/DEVOPS_CI_CD/01-executive-summary.md +0 -0
  258. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/strategy/agent-assessments/DEVOPS_CI_CD/02-infrastructure-assessment.md +0 -0
  259. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/strategy/agent-assessments/DEVOPS_CI_CD/03-implementation-roadmap.md +0 -0
  260. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/strategy/agent-assessments/DEVOPS_CI_CD/README.md +0 -0
  261. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/strategy/agent-assessments/ML_DATA_SCIENCE/01-executive-summary.md +0 -0
  262. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/strategy/agent-assessments/ML_DATA_SCIENCE/02-technical-assessment.md +0 -0
  263. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/strategy/agent-assessments/ML_DATA_SCIENCE/03-parameter-specifications.md +0 -0
  264. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/strategy/agent-assessments/ML_DATA_SCIENCE/README.md +0 -0
  265. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/strategy/agent-assessments/QA_TESTING/01-executive-summary.md +0 -0
  266. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/strategy/agent-assessments/QA_TESTING/02-roadmap-assessment.md +0 -0
  267. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/strategy/agent-assessments/QA_TESTING/03-testing-checklists.md +0 -0
  268. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/strategy/agent-assessments/QA_TESTING/README.md +0 -0
  269. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/strategy/agent-assessments/TECHNICAL_WRITING/01-executive-summary.md +0 -0
  270. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/strategy/agent-assessments/TECHNICAL_WRITING/02-documentation-strategy.md +0 -0
  271. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/strategy/agent-assessments/TECHNICAL_WRITING/03-action-plan.md +0 -0
  272. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/strategy/agent-assessments/TECHNICAL_WRITING/README.md +0 -0
  273. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/technical/framerate.md +0 -0
  274. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/technical/implementation-details.md +0 -0
  275. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/technical/imu-metadata.md +0 -0
  276. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/technical/real-time-analysis.md +0 -0
  277. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/technical/triple-extension.md +0 -0
  278. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/translations/es/camera-setup.md +0 -0
  279. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/validation/determinism-test.md +0 -0
  280. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/validation/known-height-validation.md +0 -0
  281. {kinemotion-0.32.0 → kinemotion-0.32.1}/docs/validation-status.md +0 -0
  282. {kinemotion-0.32.0 → kinemotion-0.32.1}/examples/bulk/README.md +0 -0
  283. {kinemotion-0.32.0 → kinemotion-0.32.1}/examples/bulk/bulk_processing.py +0 -0
  284. {kinemotion-0.32.0 → kinemotion-0.32.1}/examples/bulk/simple_example.py +0 -0
  285. {kinemotion-0.32.0 → kinemotion-0.32.1}/examples/programmatic_usage.py +0 -0
  286. {kinemotion-0.32.0 → kinemotion-0.32.1}/frontend/.editorconfig +0 -0
  287. {kinemotion-0.32.0 → kinemotion-0.32.1}/frontend/.env.example +0 -0
  288. {kinemotion-0.32.0 → kinemotion-0.32.1}/frontend/.gitattributes +0 -0
  289. {kinemotion-0.32.0 → kinemotion-0.32.1}/frontend/.gitignore +0 -0
  290. {kinemotion-0.32.0 → kinemotion-0.32.1}/frontend/README.md +0 -0
  291. {kinemotion-0.32.0 → kinemotion-0.32.1}/frontend/index.html +0 -0
  292. {kinemotion-0.32.0 → kinemotion-0.32.1}/frontend/package.json +0 -0
  293. {kinemotion-0.32.0 → kinemotion-0.32.1}/frontend/src/App.tsx +0 -0
  294. {kinemotion-0.32.0 → kinemotion-0.32.1}/frontend/src/components/ErrorBoundary.tsx +0 -0
  295. {kinemotion-0.32.0 → kinemotion-0.32.1}/frontend/src/components/ErrorDisplay.tsx +0 -0
  296. {kinemotion-0.32.0 → kinemotion-0.32.1}/frontend/src/components/LoadingSpinner.tsx +0 -0
  297. {kinemotion-0.32.0 → kinemotion-0.32.1}/frontend/src/components/RecentUploads.tsx +0 -0
  298. {kinemotion-0.32.0 → kinemotion-0.32.1}/frontend/src/components/ResultsDisplay.tsx +0 -0
  299. {kinemotion-0.32.0 → kinemotion-0.32.1}/frontend/src/components/ResultsSkeleton.tsx +0 -0
  300. {kinemotion-0.32.0 → kinemotion-0.32.1}/frontend/src/components/UploadForm.tsx +0 -0
  301. {kinemotion-0.32.0 → kinemotion-0.32.1}/frontend/src/hooks/useRecentUploads.ts +0 -0
  302. {kinemotion-0.32.0 → kinemotion-0.32.1}/frontend/src/index.css +0 -0
  303. {kinemotion-0.32.0 → kinemotion-0.32.1}/frontend/src/main.tsx +0 -0
  304. {kinemotion-0.32.0 → kinemotion-0.32.1}/frontend/src/types/api.ts +0 -0
  305. {kinemotion-0.32.0 → kinemotion-0.32.1}/frontend/src/vite-env.d.ts +0 -0
  306. {kinemotion-0.32.0 → kinemotion-0.32.1/frontend}/vercel.json +0 -0
  307. {kinemotion-0.32.0 → kinemotion-0.32.1}/frontend/vite.config.ts +0 -0
  308. {kinemotion-0.32.0 → kinemotion-0.32.1}/frontend/yarn.lock +0 -0
  309. {kinemotion-0.32.0 → kinemotion-0.32.1}/justfile +0 -0
  310. {kinemotion-0.32.0 → kinemotion-0.32.1}/local_dev.sh +0 -0
  311. {kinemotion-0.32.0 → kinemotion-0.32.1}/mkdocs.yml +0 -0
  312. {kinemotion-0.32.0 → kinemotion-0.32.1}/presentation/.gitignore +0 -0
  313. {kinemotion-0.32.0 → kinemotion-0.32.1}/presentation/README.md +0 -0
  314. {kinemotion-0.32.0 → kinemotion-0.32.1}/presentation/demos/.gitignore +0 -0
  315. {kinemotion-0.32.0 → kinemotion-0.32.1}/presentation/demos/README.md +0 -0
  316. {kinemotion-0.32.0 → kinemotion-0.32.1}/presentation/demos/api_demo.ipynb +0 -0
  317. {kinemotion-0.32.0 → kinemotion-0.32.1}/presentation/demos/batch_processing_demo.py +0 -0
  318. {kinemotion-0.32.0 → kinemotion-0.32.1}/presentation/demos/sample_data/.gitkeep +0 -0
  319. {kinemotion-0.32.0 → kinemotion-0.32.1}/presentation/presentation_guide.md +0 -0
  320. {kinemotion-0.32.0 → kinemotion-0.32.1}/presentation/revealjs/.gitignore +0 -0
  321. {kinemotion-0.32.0 → kinemotion-0.32.1}/presentation/revealjs/Makefile +0 -0
  322. {kinemotion-0.32.0 → kinemotion-0.32.1}/presentation/revealjs/README.md +0 -0
  323. {kinemotion-0.32.0 → kinemotion-0.32.1}/presentation/revealjs/slides.md +0 -0
  324. {kinemotion-0.32.0 → kinemotion-0.32.1}/presentation/speaker_script.md +0 -0
  325. {kinemotion-0.32.0 → kinemotion-0.32.1}/requirements-docs.txt +0 -0
  326. {kinemotion-0.32.0 → kinemotion-0.32.1}/samples/cmjs/README.md +0 -0
  327. {kinemotion-0.32.0 → kinemotion-0.32.1}/scripts/README.md +0 -0
  328. {kinemotion-0.32.0 → kinemotion-0.32.1}/scripts/SCRIPTS_QUICKREF.md +0 -0
  329. {kinemotion-0.32.0 → kinemotion-0.32.1}/scripts/analyze_determinism_variance.py +0 -0
  330. {kinemotion-0.32.0 → kinemotion-0.32.1}/scripts/basic-memory-utils.sh +0 -0
  331. {kinemotion-0.32.0 → kinemotion-0.32.1}/scripts/generate_test_data.py +0 -0
  332. {kinemotion-0.32.0 → kinemotion-0.32.1}/scripts/plot_validation_results.py +0 -0
  333. {kinemotion-0.32.0 → kinemotion-0.32.1}/scripts/project/README.md +0 -0
  334. {kinemotion-0.32.0 → kinemotion-0.32.1}/scripts/project/add-issue.sh +0 -0
  335. {kinemotion-0.32.0 → kinemotion-0.32.1}/scripts/project/batch-set-fields.sh +0 -0
  336. {kinemotion-0.32.0 → kinemotion-0.32.1}/scripts/project/helpers.sh +0 -0
  337. {kinemotion-0.32.0 → kinemotion-0.32.1}/scripts/project/list.sh +0 -0
  338. {kinemotion-0.32.0 → kinemotion-0.32.1}/scripts/project/set-field.sh +0 -0
  339. {kinemotion-0.32.0 → kinemotion-0.32.1}/scripts/project/set-status.sh +0 -0
  340. {kinemotion-0.32.0 → kinemotion-0.32.1}/scripts/project/summary.sh +0 -0
  341. {kinemotion-0.32.0 → kinemotion-0.32.1}/scripts/project.sh +0 -0
  342. {kinemotion-0.32.0 → kinemotion-0.32.1}/scripts/test_determinism.sh +0 -0
  343. {kinemotion-0.32.0 → kinemotion-0.32.1}/scripts/validate_known_heights.py +0 -0
  344. {kinemotion-0.32.0 → kinemotion-0.32.1}/sonar-project.properties +0 -0
  345. {kinemotion-0.32.0 → kinemotion-0.32.1}/src/kinemotion/__init__.py +0 -0
  346. {kinemotion-0.32.0 → kinemotion-0.32.1}/src/kinemotion/api.py +0 -0
  347. {kinemotion-0.32.0 → kinemotion-0.32.1}/src/kinemotion/cli.py +0 -0
  348. {kinemotion-0.32.0 → kinemotion-0.32.1}/src/kinemotion/cmj/__init__.py +0 -0
  349. {kinemotion-0.32.0 → kinemotion-0.32.1}/src/kinemotion/cmj/analysis.py +0 -0
  350. {kinemotion-0.32.0 → kinemotion-0.32.1}/src/kinemotion/cmj/cli.py +0 -0
  351. {kinemotion-0.32.0 → kinemotion-0.32.1}/src/kinemotion/cmj/debug_overlay.py +0 -0
  352. {kinemotion-0.32.0 → kinemotion-0.32.1}/src/kinemotion/cmj/joint_angles.py +0 -0
  353. {kinemotion-0.32.0 → kinemotion-0.32.1}/src/kinemotion/cmj/kinematics.py +0 -0
  354. {kinemotion-0.32.0 → kinemotion-0.32.1}/src/kinemotion/core/__init__.py +0 -0
  355. {kinemotion-0.32.0 → kinemotion-0.32.1}/src/kinemotion/core/auto_tuning.py +0 -0
  356. {kinemotion-0.32.0 → kinemotion-0.32.1}/src/kinemotion/core/cli_utils.py +0 -0
  357. {kinemotion-0.32.0 → kinemotion-0.32.1}/src/kinemotion/core/cmj_metrics_validator.py +0 -0
  358. {kinemotion-0.32.0 → kinemotion-0.32.1}/src/kinemotion/core/cmj_validation_bounds.py +0 -0
  359. {kinemotion-0.32.0 → kinemotion-0.32.1}/src/kinemotion/core/debug_overlay_utils.py +0 -0
  360. {kinemotion-0.32.0 → kinemotion-0.32.1}/src/kinemotion/core/dropjump_metrics_validator.py +0 -0
  361. {kinemotion-0.32.0 → kinemotion-0.32.1}/src/kinemotion/core/dropjump_validation_bounds.py +0 -0
  362. {kinemotion-0.32.0 → kinemotion-0.32.1}/src/kinemotion/core/filtering.py +0 -0
  363. {kinemotion-0.32.0 → kinemotion-0.32.1}/src/kinemotion/core/formatting.py +0 -0
  364. {kinemotion-0.32.0 → kinemotion-0.32.1}/src/kinemotion/core/metadata.py +0 -0
  365. {kinemotion-0.32.0 → kinemotion-0.32.1}/src/kinemotion/core/pose.py +0 -0
  366. {kinemotion-0.32.0 → kinemotion-0.32.1}/src/kinemotion/core/quality.py +0 -0
  367. {kinemotion-0.32.0 → kinemotion-0.32.1}/src/kinemotion/core/smoothing.py +0 -0
  368. {kinemotion-0.32.0 → kinemotion-0.32.1}/src/kinemotion/core/video_io.py +0 -0
  369. {kinemotion-0.32.0 → kinemotion-0.32.1}/src/kinemotion/dropjump/__init__.py +0 -0
  370. {kinemotion-0.32.0 → kinemotion-0.32.1}/src/kinemotion/dropjump/analysis.py +0 -0
  371. {kinemotion-0.32.0 → kinemotion-0.32.1}/src/kinemotion/dropjump/cli.py +0 -0
  372. {kinemotion-0.32.0 → kinemotion-0.32.1}/src/kinemotion/dropjump/debug_overlay.py +0 -0
  373. {kinemotion-0.32.0 → kinemotion-0.32.1}/src/kinemotion/dropjump/kinematics.py +0 -0
  374. {kinemotion-0.32.0 → kinemotion-0.32.1}/src/kinemotion/py.typed +0 -0
  375. {kinemotion-0.32.0 → kinemotion-0.32.1}/tests/__init__.py +0 -0
  376. {kinemotion-0.32.0 → kinemotion-0.32.1}/tests/core/test_quality.py +0 -0
  377. {kinemotion-0.32.0 → kinemotion-0.32.1}/tests/test_adaptive_threshold.py +0 -0
  378. {kinemotion-0.32.0 → kinemotion-0.32.1}/tests/test_api.py +0 -0
  379. {kinemotion-0.32.0 → kinemotion-0.32.1}/tests/test_aspect_ratio.py +0 -0
  380. {kinemotion-0.32.0 → kinemotion-0.32.1}/tests/test_cli_cmj.py +0 -0
  381. {kinemotion-0.32.0 → kinemotion-0.32.1}/tests/test_cli_dropjump.py +0 -0
  382. {kinemotion-0.32.0 → kinemotion-0.32.1}/tests/test_cli_imports.py +0 -0
  383. {kinemotion-0.32.0 → kinemotion-0.32.1}/tests/test_cmj_analysis.py +0 -0
  384. {kinemotion-0.32.0 → kinemotion-0.32.1}/tests/test_cmj_joint_angles.py +0 -0
  385. {kinemotion-0.32.0 → kinemotion-0.32.1}/tests/test_cmj_kinematics.py +0 -0
  386. {kinemotion-0.32.0 → kinemotion-0.32.1}/tests/test_cmj_physiological_bounds.py +0 -0
  387. {kinemotion-0.32.0 → kinemotion-0.32.1}/tests/test_com_estimation.py +0 -0
  388. {kinemotion-0.32.0 → kinemotion-0.32.1}/tests/test_contact_detection.py +0 -0
  389. {kinemotion-0.32.0 → kinemotion-0.32.1}/tests/test_dropjump_validation_integration.py +0 -0
  390. {kinemotion-0.32.0 → kinemotion-0.32.1}/tests/test_filtering.py +0 -0
  391. {kinemotion-0.32.0 → kinemotion-0.32.1}/tests/test_formatting.py +0 -0
  392. {kinemotion-0.32.0 → kinemotion-0.32.1}/tests/test_joint_angles.py +0 -0
  393. {kinemotion-0.32.0 → kinemotion-0.32.1}/tests/test_kinematics.py +0 -0
  394. {kinemotion-0.32.0 → kinemotion-0.32.1}/tests/test_polyorder.py +0 -0
  395. {kinemotion-0.32.0 → kinemotion-0.32.1}/tests/test_video_io.py +0 -0
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  title: Vercel Monorepo Deployment Best Practice
3
3
  type: note
4
- permalink: deployment/vercel-monorepo-best-practice
4
+ permalink: deployment/vercel-monorepo-deployment-best-practice
5
5
  tags:
6
6
  - vercel
7
7
  - deployment
@@ -0,0 +1,148 @@
1
+ ---
2
+ title: Basic Memory Naming Hook Analysis and Fix
3
+ type: note
4
+ permalink: development/basic-memory-naming-hook-analysis
5
+ tags:
6
+ - development
7
+ - tooling
8
+ - naming-conventions
9
+ - hook
10
+ ---
11
+
12
+ # Basic Memory Naming Hook Analysis and Fix
13
+
14
+ ## Issue Identified
15
+
16
+ The hook script `/.claude/hooks/fix-basic-memory-names.sh` was not properly converting filenames to kebab-case when creating `.basic-memory/` notes. Files were being created with concatenated names like:
17
+
18
+ ❌ `frontenddependenciesanalysisnov2025.md`
19
+
20
+ Instead of:
21
+
22
+ ✅ `frontend-dependencies-analysis-nov-2025.md`
23
+
24
+ ## Root Cause Analysis
25
+
26
+ The hook script had **two distinct problems**:
27
+
28
+ ### 1. **Original Function Logic Flaw**
29
+ The `to_kebab_case()` function wasn't handling word boundaries correctly:
30
+
31
+ ```bash
32
+ # OLD (broken)
33
+ sed 's/[[:space:]]\+/-/g' | # Convert spaces to hyphens
34
+ tr '[:upper:]' '[:lower:]' | # Convert to lowercase
35
+ sed 's/[^a-z0-9-]//g' # Remove non-alphanumeric (except hyphens)
36
+ ```
37
+
38
+ **Problem**: Without camelCase handling, "Frontend Dependencies" → "frontend dependencies" → "frontenddependencies" (spaces already removed, can't convert to hyphens)
39
+
40
+ ### 2. **Files Created Without Separators**
41
+ More critically: When files are **created without word separators** (spaces, underscores, camelCase), the hook cannot reverse-engineer word boundaries. For example:
42
+ - Input: `frontenddependenciesanalysisnov2025` (no separators)
43
+ - Function output: `frontenddependenciesanalysisnov2025` (no way to know where word breaks are)
44
+
45
+ **This is a limitation of any text-based kebab-case conversion function** - it requires existing word boundaries to work with.
46
+
47
+ ## Solution Implemented
48
+
49
+ ### 1. **Enhanced Kebab-Case Function**
50
+ Added camelCase handling to the conversion function:
51
+
52
+ ```bash
53
+ to_kebab_case() {
54
+ echo "$1" | \
55
+ sed 's/[[:space:]]\+/-/g' | # Spaces → hyphens
56
+ sed 's/\([a-z]\)\([A-Z]\)/\1-\2/g' | # camelCase → kebab-case
57
+ tr '[:upper:]' '[:lower:]' | # All lowercase
58
+ sed 's/[^a-z0-9-]//g' | # Remove non-alphanumeric
59
+ sed 's/-\+/-/g' # Collapse multiple hyphens
60
+ }
61
+ ```
62
+
63
+ Now handles:
64
+ - ✅ `"Frontend Dependencies Analysis"` → `frontend-dependencies-analysis`
65
+ - ✅ `"CMJPhysiologicalBounds"` → `cmj-physiological-bounds`
66
+ - ✅ `"Test-File-Name"` → `test-file-name`
67
+
68
+ ### 2. **Fixed Bash Syntax Error**
69
+ **Critical bug found:** The original script used `local` keyword outside of function scope, which caused "can only be used in a function" errors.
70
+
71
+ **Fixed by:** Removing `local` keyword from script-level variables. Variables are now declared without `local`:
72
+
73
+ ```bash
74
+ # BEFORE (broken)
75
+ dir=$(dirname "$file") # ❌ Inside while loop, not a function
76
+ basename=$(basename "$file")
77
+
78
+ # AFTER (fixed)
79
+ dir=$(dirname "$file") # ✅ Works correctly now
80
+ basename=$(basename "$file")
81
+ ```
82
+
83
+ ### 3. **Detection for Concatenated Filenames**
84
+ Added logic to detect and warn about files with no word separators:
85
+
86
+ ```bash
87
+ # Check if the new_name is significantly shorter (indicates concatenation)
88
+ original_len=${#basename}
89
+ new_len=${#new_name}
90
+ if [ $((original_len - new_len)) -gt 5 ]; then
91
+ echo "⚠️ Cannot auto-fix: $basename (no word separators detected)"
92
+ echo " → Please rename manually to follow kebab-case"
93
+ ```
94
+
95
+ Now the hook will:
96
+ - ✅ Auto-fix: `"Frontend Dependencies Analysis.md"` → `frontend-dependencies-analysis.md`
97
+ - ✅ Auto-fix: `"CMJPhysiologicalBounds.md"` → `cmj-physiological-bounds.md`
98
+ - ⚠️ Warn about: `"frontenddependenciesanalysisnov2025.md"` (needs manual rename)
99
+
100
+ ### 4. **Manual File Fix**
101
+ Fixed the existing incorrectly-named file:
102
+
103
+ ```bash
104
+ # BEFORE
105
+ .basic-memory/development/frontenddependenciesanalysisnov2025.md
106
+
107
+ # AFTER
108
+ .basic-memory/development/frontend-dependencies-analysis-nov-2025.md
109
+ ```
110
+
111
+ ### 5. **Comprehensive Summary Output**
112
+ The hook now provides clear feedback:
113
+
114
+ ```bash
115
+ ✅ Fixed 26 basic-memory filename(s) to kebab-case
116
+ ⚠️ Found X file(s) that need manual renaming
117
+ ```
118
+
119
+ ## How to Prevent Future Issues
120
+
121
+ When creating new `.basic-memory/` notes, ensure that **naming functions already use word separators**:
122
+
123
+ ### ✅ GOOD: Uses spaces (or camelCase)
124
+ ```markdown
125
+ write_note("Frontend Dependencies Analysis Nov 2025", "...", "development")
126
+ ```
127
+
128
+ ### ❌ AVOID: Concatenated without separators
129
+ ```markdown
130
+ write_note("FrontendDependenciesAnalysisNov2025", "...", "development")
131
+ ```
132
+
133
+ ## Hook Behavior Summary
134
+
135
+ The hook now:
136
+
137
+ 1. **Scans** all `.basic-memory/**/*.md` files
138
+ 2. **Attempts auto-fix** for files with word separators (spaces, camelCase, etc.)
139
+ 3. **Warns** about files with no detectable word boundaries
140
+ 4. **Git stages** all changes automatically
141
+ 5. **Outputs summary** of what was fixed or needs attention
142
+
143
+ **Trigger**: Runs after user prompts (when using Claude Code hooks)
144
+
145
+ ## Files Updated
146
+
147
+ - ✅ `.claude/hooks/fix-basic-memory-names.sh` - Enhanced conversion logic + detection
148
+ - ✅ `.basic-memory/development/frontend-dependencies-analysis-nov-2025.md` - Renamed from concatenated version
@@ -0,0 +1,343 @@
1
+ ---
2
+ title: Claude Code Hook Configuration - best-basic-memory-names
3
+ type: note
4
+ permalink: development/claude-code-hook-configuration
5
+ tags:
6
+ - development
7
+ - tooling
8
+ - hooks
9
+ - claude-code
10
+ - automation
11
+ - naming-conventions
12
+ ---
13
+
14
+ # Claude Code Hook Configuration: fix-basic-memory-names
15
+
16
+ ## Overview
17
+
18
+ This document describes the complete configuration of the `fix-basic-memory-names` hook, which automatically normalizes `.basic-memory/` filenames to follow kebab-case naming conventions.
19
+
20
+ **Hook Type:** `UserPromptSubmit`
21
+ **Script:** `.claude/hooks/fix-basic-memory-names.sh`
22
+ **Configuration File:** `.claude/settings.local.json`
23
+
24
+ ## Why This Matters
25
+
26
+ The `.basic-memory/` directory stores project knowledge, and filename consistency is critical for:
27
+ - **Predictability**: Easy to guess and find notes
28
+ - **URL safety**: Kebab-case works in URLs and permalinks
29
+ - **Tool compatibility**: MCP basic-memory functions require consistent naming
30
+ - **Git history**: Consistent naming reduces merge conflicts
31
+
32
+ ## Hook Configuration
33
+
34
+ ### Hook Registration
35
+
36
+ ```json
37
+ {
38
+ "hooks": {
39
+ "UserPromptSubmit": [
40
+ {
41
+ "hooks": [
42
+ {
43
+ "type": "command",
44
+ "command": "$CLAUDE_PROJECT_DIR/.claude/hooks/fix-basic-memory-names.sh",
45
+ "statusMessage": "Normalizing basic-memory filenames to kebab-case...",
46
+ "timeout": 30000
47
+ }
48
+ ]
49
+ }
50
+ ]
51
+ }
52
+ }
53
+ ```
54
+
55
+ **Location:** `.claude/settings.local.json` (lines 3-17)
56
+
57
+ ### Configuration Details
58
+
59
+ | Field | Value | Purpose |
60
+ |-------|-------|---------|
61
+ | **Hook Type** | `UserPromptSubmit` | Runs when user submits a prompt, before Claude processes it |
62
+ | **Script Path** | `$CLAUDE_PROJECT_DIR/.claude/hooks/fix-basic-memory-names.sh` | Absolute reference to hook script (expandable) |
63
+ | **Status Message** | "Normalizing basic-memory filenames to kebab-case..." | User-visible feedback during execution |
64
+ | **Timeout** | 30000 ms (30s) | Reasonable for file I/O operations across many files |
65
+
66
+ ## Script Implementation
67
+
68
+ ### Entry Point
69
+
70
+ ```bash
71
+ #!/bin/bash
72
+ set -euo pipefail
73
+ ```
74
+
75
+ **Why `set -euo pipefail`?**
76
+ - `set -e` - Exit immediately if any command fails
77
+ - `set -u` - Error on undefined variables
78
+ - `set -o pipefail` - Pipe fails if any command in chain fails
79
+ - Makes script robust and fail-fast
80
+
81
+ ### Error Handling
82
+
83
+ ```bash
84
+ handle_error() {
85
+ local line_num=$1
86
+ echo "❌ Hook error on line $line_num" >&2
87
+ exit 1
88
+ }
89
+ trap 'handle_error $LINENO' ERR
90
+ ```
91
+
92
+ **Features:**
93
+ - Catches errors and reports exact line number
94
+ - Outputs to stderr (standard for errors)
95
+ - Exits cleanly with error code 1
96
+ - Claude Code recognizes this and blocks operations if needed
97
+
98
+ ### Debug Logging
99
+
100
+ ```bash
101
+ DEBUG="${DEBUG:-0}"
102
+ debug_log() {
103
+ if [ "$DEBUG" = "1" ]; then
104
+ echo "[DEBUG] $*" >&2
105
+ fi
106
+ }
107
+ ```
108
+
109
+ **Usage:**
110
+ ```bash
111
+ # Enable debug logging when testing
112
+ DEBUG=1 bash .claude/hooks/fix-basic-memory-names.sh
113
+
114
+ # Normal execution (no debug output)
115
+ bash .claude/hooks/fix-basic-memory-names.sh
116
+ ```
117
+
118
+ ### Kebab-Case Conversion
119
+
120
+ The `to_kebab_case()` function handles:
121
+
122
+ 1. **Spaces** → hyphens: `"Frontend Dependencies"` → `"frontend-dependencies"`
123
+ 2. **camelCase** → kebab-case: `"CMJPhysiologicalBounds"` → `"cmj-physiological-bounds"`
124
+ 3. **Mixed separators**: `"Test-File-Name"` → `"test-file-name"`
125
+ 4. **Multiple hyphens**: Collapse to single hyphen
126
+
127
+ ```bash
128
+ to_kebab_case() {
129
+ echo "$1" | \
130
+ sed 's/[[:space:]]\+/-/g' | # Spaces → hyphens
131
+ sed 's/\([a-z]\)\([A-Z]\)/\1-\2/g' | # camelCase → kebab-case
132
+ tr '[:upper:]' '[:lower:]' | # All lowercase
133
+ sed 's/[^a-z0-9-]//g' | # Remove non-alphanumeric (except hyphens)
134
+ sed 's/-\+/-/g' # Collapse multiple hyphens
135
+ }
136
+ ```
137
+
138
+ ### File Processing Loop
139
+
140
+ ```bash
141
+ while IFS= read -r file; do
142
+ # ... validation ...
143
+ dir=$(dirname "$file")
144
+ basename=$(basename "$file")
145
+ new_name=$(to_kebab_case "${basename%.md}")
146
+ new_path="${dir}/${new_name}.md"
147
+
148
+ if [ "$file" != "$new_path" ]; then
149
+ # Check for concatenation (no word separators)
150
+ original_len=${#basename}
151
+ new_len=${#new_name}
152
+
153
+ if [ $((original_len - new_len)) -gt 5 ]; then
154
+ # ⚠️ Cannot auto-fix - warn user
155
+ else
156
+ # ✅ Auto-fix with git staging
157
+ git rm --cached "$file" 2>/dev/null || true
158
+ mv "$file" "$new_path"
159
+ git add "$new_path" 2>/dev/null || true
160
+ fi
161
+ fi
162
+ done < <(find .basic-memory -name "*.md" -type f 2>/dev/null || true)
163
+ ```
164
+
165
+ **Key behaviors:**
166
+ - Safely iterates with `IFS= read -r` (handles spaces/special chars)
167
+ - Detects concatenated filenames (no separators) and warns instead of mangling
168
+ - Stages git operations immediately for clean commit history
169
+ - Continues on find errors (|| true)
170
+
171
+ ### Exit Codes
172
+
173
+ | Code | Meaning | Action |
174
+ |------|---------|--------|
175
+ | 0 | Success | Hook completed, files may have been fixed |
176
+ | 1 | Error | Hook encountered errors, Claude Code may block |
177
+
178
+ ## Best Practices Applied
179
+
180
+ ### 1. Script Initialization
181
+ ✅ Shebang: `#!/bin/bash` (portable)
182
+ ✅ Error handling: `set -euo pipefail` with trap
183
+ ✅ Documented: Comments for each section
184
+
185
+ ### 2. Security
186
+ ✅ No recursive eval or backticks
187
+ ✅ Quoted variables: `"$var"` not $var
188
+ ✅ Minimal git operations (rm/add only)
189
+
190
+ ### 3. User Feedback
191
+ ✅ Status messages for each outcome
192
+ ✅ Debug logging for troubleshooting
193
+ ✅ Clear warnings for manual intervention
194
+
195
+ ### 4. Reliability
196
+ ✅ Timeout protection: 30s limit in config
197
+ ✅ Error recovery: Continues on transient failures
198
+ ✅ Atomic operations: Git staging prevents corruption
199
+
200
+ ## Troubleshooting
201
+
202
+ ### Hook Not Running
203
+
204
+ **Check 1: Script Executable?**
205
+ ```bash
206
+ ls -la .claude/hooks/fix-basic-memory-names.sh
207
+ # Should show: -rwx--x--x (755 permissions)
208
+ chmod +x .claude/hooks/fix-basic-memory-names.sh # Fix if needed
209
+ ```
210
+
211
+ **Check 2: Configuration Correct?**
212
+ ```bash
213
+ # View hook configuration
214
+ cat .claude/settings.local.json | grep -A 5 "UserPromptSubmit"
215
+
216
+ # Should see reference to fix-basic-memory-names.sh
217
+ ```
218
+
219
+ **Check 3: Enable Debug Logging**
220
+ ```bash
221
+ # Test hook directly
222
+ cd /project/root
223
+ DEBUG=1 bash .claude/hooks/fix-basic-memory-names.sh
224
+ ```
225
+
226
+ ### Files Not Being Renamed
227
+
228
+ **Likely causes:**
229
+ 1. Files already have correct names (no changes needed)
230
+ 2. Files have no word separators (concatenated) - hook warns instead
231
+ 3. Git operations failing (check permissions)
232
+
233
+ **Debug:**
234
+ ```bash
235
+ DEBUG=1 bash .claude/hooks/fix-basic-memory-names.sh
236
+ # Look for "[DEBUG]" output lines showing what was checked
237
+ ```
238
+
239
+ ### Timeout Errors
240
+
241
+ If hook times out (> 30s):
242
+ - Increase timeout in settings.json: `"timeout": 60000`
243
+ - Check if find is slow: `time find .basic-memory -name "*.md"`
244
+ - If needed, exclude large directories with `! -path "*/.git/*"`
245
+
246
+ ## Testing the Hook
247
+
248
+ ### Manual Test
249
+
250
+ ```bash
251
+ cd /Users/feniix/src/personal/cursor/dropjump-claude
252
+
253
+ # Test with debug output
254
+ DEBUG=1 bash .claude/hooks/fix-basic-memory-names.sh
255
+
256
+ # Expected output:
257
+ # [DEBUG] Starting basic-memory filename normalization
258
+ # [DEBUG] Scan complete: fixed=0 warned=0 errors=0
259
+ ```
260
+
261
+ ### Create Test File
262
+
263
+ ```bash
264
+ # Create a test file with bad naming
265
+ touch .basic-memory/development/TestBadNaming.md
266
+
267
+ # Run hook
268
+ bash .claude/hooks/fix-basic-memory-names.sh
269
+
270
+ # Check result
271
+ ls .basic-memory/development/ | grep -i test
272
+ # Should show: test-bad-naming.md
273
+
274
+ # Clean up
275
+ rm .basic-memory/development/test-bad-naming.md
276
+ ```
277
+
278
+ ## Integration with Claude Code
279
+
280
+ ### How It Works in Claude Code
281
+
282
+ 1. **User submits prompt** → Hook triggered
283
+ 2. **Hook scans** `.basic-memory/*.md` files
284
+ 3. **For each file:**
285
+ - Compare current vs. kebab-case name
286
+ - If different AND has word separators → Auto-fix
287
+ - If different AND NO word separators → Warn user
288
+ 4. **Git staging** happens automatically
289
+ 5. **Hook exits** with status code (0=success, 1=error)
290
+
291
+ ### Performance Impact
292
+
293
+ - **Overhead**: ~50-200ms per prompt (depends on file count)
294
+ - **Files scanned**: All `.basic-memory/**/*.md` (~30-40 files typically)
295
+ - **Operations**: Quick stat checks + optional git operations
296
+
297
+ ## Related Files
298
+
299
+ - **Hook Script**: `.claude/hooks/fix-basic-memory-names.sh`
300
+ - **Configuration**: `.claude/settings.local.json`
301
+ - **Analysis Document**: `.basic-memory/development/basic-memory-naming-hook-analysis.md`
302
+ - **Official Docs**: https://docs.claude.com/en/docs/claude-code/hooks-guide
303
+
304
+ ## References
305
+
306
+ ### Claude Code Hooks Guide
307
+ https://docs.claude.com/en/docs/claude-code/hooks-guide
308
+
309
+ ### Key Sections
310
+ - Hook Events Overview - explains UserPromptSubmit and others
311
+ - Code Formatting Hook - example of PostToolUse hook
312
+ - File Protection Hook - example of using jq for input parsing
313
+
314
+ ### Bash Best Practices
315
+ - `set -euo pipefail` - Standard for robust scripts
316
+ - `trap 'cleanup' EXIT` - Cleanup pattern
317
+ - Error handling with `$?` - Exit code checking
318
+
319
+ ## Maintenance
320
+
321
+ ### When to Update
322
+
323
+ | Scenario | Action |
324
+ |----------|--------|
325
+ | Add new `.basic-memory/` folder | Hook automatically covers (uses find) |
326
+ | Change kebab-case rules | Update `to_kebab_case()` function |
327
+ | Adjust timeout | Edit `settings.local.json` timeout value |
328
+ | Add debug capability | Already supported (DEBUG=1) |
329
+
330
+ ### Version History
331
+
332
+ - **v1.0** - Initial implementation with camelCase support
333
+ - **v1.1** - Added debug logging and error handling
334
+ - **v1.2** - Added detection for concatenated filenames (no auto-fix)
335
+ - **v2.0** - Proper configuration in settings.json with timeout
336
+
337
+ ## Future Improvements
338
+
339
+ - [ ] Check for duplicate files after renaming
340
+ - [ ] Support for other file types (.json, .yml)
341
+ - [ ] Logging to file for audit trail
342
+ - [ ] Integration with Git pre-commit hook
343
+ - [ ] Webhook notifications on changes
@@ -0,0 +1,186 @@
1
+ ---
2
+ title: Frontend Dependencies Analysis Nov 2025
3
+ type: note
4
+ permalink: development/frontend-dependencies-analysis-nov-2025-1
5
+ tags:
6
+ - frontend
7
+ - dependencies
8
+ - vite
9
+ - react
10
+ - typescript
11
+ - devops
12
+ ---
13
+
14
+ # Frontend Dependencies Analysis - November 2025
15
+
16
+ ## Current State
17
+ - React: ^18.3.1 (April 2024)
18
+ - Vite: ^5.1.0 (January 2024)
19
+ - TypeScript: ^5.3.3 (November 2023)
20
+ - Terser: ^5.31.0 (just added - GOOD)
21
+ - @vitejs/plugin-react: ^4.3.0
22
+ - @types packages: vary from 18.3.0 to 20.11.0
23
+
24
+ ## Latest Available Versions
25
+
26
+ ### React Ecosystem
27
+ - **React Latest**: 19.2.0 (October 2025) - mature, 1+ year stable
28
+ - **React 18 Latest**: 18.3.1 (April 2024) - still maintained, zero CVEs
29
+ - **React DOM Latest**: 19.2.0 or 18.3.1
30
+ - **@types/react Latest**: 18.3.3 (for React 18)
31
+ - **@types/react-dom Latest**: 18.3.0 (for React 18)
32
+
33
+ ### Build Tools
34
+ - **Vite Latest**: 6.3+ (November 2025) - production-ready since Dec 2024
35
+ - **Vite 5 Latest**: 5.4.1 (still maintained)
36
+ - **@vitejs/plugin-react Latest**: 4.3.x (works with both Vite 5 & 6)
37
+ - **TypeScript Latest**: 5.9.x (December 2024)
38
+
39
+ ### Code Quality
40
+ - **Terser Latest**: 5.31.0+ (current, good)
41
+ - **@types/node Latest**: 20.12.x (safe patch bump from 20.11.0)
42
+
43
+ ## Codebase Compatibility Assessment
44
+
45
+ ### React 19 Readiness: ✅ READY
46
+ The codebase is **already React 19 compatible**:
47
+ - Using `React.createRoot()` (modern API) ✓
48
+ - Using modern hooks (useState, useEffect, useContext) ✓
49
+ - No PropTypes (using TypeScript instead) ✓
50
+ - No string refs or legacy APIs ✓
51
+ - No findDOMNode usage ✓
52
+ - Proper Error Boundary implementation ✓
53
+ - Using React.StrictMode ✓
54
+
55
+ ### Vite 6 Readiness: ✅ READY
56
+ Simple SPA configuration is backward compatible:
57
+ - Minimal vite.config.ts (no advanced features) ✓
58
+ - Using @vitejs/plugin-react (stable in both v5 & v6) ✓
59
+ - No SSR configuration ✓
60
+ - Standard TypeScript config ✓
61
+
62
+ ## MVP Deployment Recommendation
63
+
64
+ ### TIER 1: IMMEDIATE UPGRADES (Safe, Zero Risk)
65
+ ```json
66
+ {
67
+ "typescript": "^5.9.3",
68
+ "@types/node": "^20.12.0",
69
+ "@types/react": "^18.3.3",
70
+ "@types/react-dom": "^18.3.0",
71
+ "terser": "^5.31.0"
72
+ }
73
+ ```
74
+ **Rationale**: All safe minor/patch updates, no breaking changes, better TypeScript strict mode compliance
75
+
76
+ ### TIER 2: OPTIONAL (Very Low Risk)
77
+ ```json
78
+ {
79
+ "vite": "^5.4.1"
80
+ }
81
+ ```
82
+ **Rationale**: Stay on Vite 5 (fully maintained), get latest v5 features without major refactor
83
+
84
+ ### TIER 3: POST-MVP (After Validation)
85
+ ```json
86
+ {
87
+ "react": "^19.2.0",
88
+ "react-dom": "^19.2.0",
89
+ "vite": "^6.3.0"
90
+ }
91
+ ```
92
+ **Rationale**: After MVP validation, upgrade to latest stable versions with new capabilities
93
+
94
+ ## Breaking Changes Analysis
95
+
96
+ ### React 18 → 19
97
+ **If upgrading later:**
98
+ - Removed: ReactDOM.render (we use createRoot ✓)
99
+ - Removed: PropTypes (we use TypeScript ✓)
100
+ - Removed: Legacy Context API (not used ✓)
101
+ - Changed: Error handling via window.reportError
102
+ - No changes needed to current codebase
103
+
104
+ ### Vite 5 → 6
105
+ **If upgrading later:**
106
+ - Environment API changes (internal only, backward compatible)
107
+ - Default browser target updated (baseline-widely-available)
108
+ - Removed: Sass legacy API (not used)
109
+ - Node.js requirement: 20.19+ / 22.12+ (already compatible)
110
+ - Config remains unchanged for simple SPAs
111
+
112
+ ### TypeScript 5.3 → 5.9
113
+ - **No breaking changes** in our strict mode config
114
+ - Better type inference
115
+ - Enhanced strict mode features
116
+ - All updates are safe
117
+
118
+ ## Security Status
119
+ - React 18.3.1: ✓ No known CVEs
120
+ - React 19.2.0: ✓ No known CVEs
121
+ - Vite 5.4.1: ✓ No known CVEs
122
+ - Vite 6.3+: ✓ No known CVEs
123
+ - TypeScript 5.9: ✓ No known CVEs
124
+ - Terser 5.31.0: ✓ No known CVEs
125
+
126
+ ## Vercel Deployment Readiness
127
+ - ✓ Vite officially supported on Vercel
128
+ - ✓ React + TypeScript recommended stack
129
+ - ✓ Current vite.config.ts compatible
130
+ - ✓ tsconfig.json properly configured
131
+ - ✓ Node.js support: 18+ (Vercel provides)
132
+
133
+ ## Recommended Action Plan
134
+
135
+ 1. **Week 1 (MVP)**: Update TIER 1 packages only
136
+ - Run `yarn upgrade typescript @types/node @types/react @types/react-dom`
137
+ - Verify build: `yarn build`
138
+ - Deploy to Vercel
139
+
140
+ 2. **Week 2-4 (Post-MVP)**: Evaluate Vite upgrade
141
+ - Test Vite 5.4.1
142
+ - Profile build times
143
+ - Monitor user feedback
144
+
145
+ 3. **Month 2 (Post-MVP Validation)**: Plan major upgrades
146
+ - React 18 → 19 migration (if benefits justify)
147
+ - Vite 5 → 6 migration (for new tooling features)
148
+ - Systematic testing and rollback plan
149
+
150
+ ## Package.json Recommendation (MVP Ready)
151
+
152
+ ```json
153
+ {
154
+ "name": "kinemotion-frontend",
155
+ "private": true,
156
+ "version": "0.1.0",
157
+ "type": "module",
158
+ "packageManager": "yarn@4.12.0",
159
+ "scripts": {
160
+ "dev": "vite",
161
+ "build": "tsc && vite build",
162
+ "preview": "vite preview",
163
+ "type-check": "tsc --noEmit"
164
+ },
165
+ "dependencies": {
166
+ "react": "^18.3.1",
167
+ "react-dom": "^18.3.1"
168
+ },
169
+ "devDependencies": {
170
+ "@types/node": "^20.12.0",
171
+ "@types/react": "^18.3.3",
172
+ "@types/react-dom": "^18.3.0",
173
+ "@vitejs/plugin-react": "^4.3.0",
174
+ "terser": "^5.31.0",
175
+ "typescript": "^5.9.3",
176
+ "vite": "^5.4.1"
177
+ }
178
+ }
179
+ ```
180
+
181
+ ## Next Steps
182
+ 1. Update package.json with TIER 1 changes
183
+ 2. Run `yarn install`
184
+ 3. Run `yarn build` and `yarn type-check`
185
+ 4. Deploy to Vercel
186
+ 5. Schedule post-MVP evaluation for TIER 2 & 3 upgrades