尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证正在加载完整 README。 以下为已保存的摘录。
Physiotherapy coaching platform — an iOS app for clients and a web portal for the coach.
Both surfaces read Supabase. packages/shared/src/mock.ts still exists but is reached only
by the portal's /preview route, which is a design sandbox — no product screen renders from
it. Treat a new import of it outside /preview as a mistake.
Progress against the plan, and the findings worth keeping from each phase, live in
docs/PLAN.md.
Node 24, Xcode 26.6, CocoaPods, the Supabase CLI, and a Docker runtime — all installed on
the development machine. The cont查看完整 README ↗Physiotherapy coaching platform — an iOS app for clients and a web portal for the coach.
Plan and checkpoints: docs/PLAN.md · Architecture: docs/ARCHITECTURE.md · Importing programmes: docs/IMPORT.md · Claude extension: docs/MCP.md · Strava & calendars: docs/INTEGRATIONS.md
apps/web Next.js 16 coach portal
apps/mobile Expo SDK 57 iOS client app
apps/companion athletes' web companion (static PWA), served by the portal at /companion
packages/shared Types, domain calculations, design tokens, seed data — one source of truth
packages/mcp MCP server: Claude drafting programmes into a coach's account
supabase/ Migrations, RLS policy tests, Edge Functions
docs/ Plan and architecture
npm install
Coach portal on http://localhost:4310:
npm run dev:web
iOS app in the Simulator:
npm run ios
Typecheck everything:
npm run typecheck
| Item | State | |
|---|---|---|
| ✅ | Monorepo, TypeScript, shared domain package | Done |
| ✅ | Coach portal — roster, client deep-dive, programme builder, library, messaging | Live on real data |
| ✅ | iOS app — Today, session logging, progress, nutrition, profile | Live on real data |
| ✅ | Supabase schema, RLS policies, pgTAP isolation tests | Applied locally and hosted; 88 assertions green |
| ✅ | CI: typecheck, lint, unit tests, portal build, RLS tests | Running on every PR |
| ✅ | TestFlight | 0.2.0 (15) submitted 2026-09-04 |
Both surfaces read Supabase. packages/shared/src/mock.ts still exists but is reached only
by the portal's /preview route, which is a design sandbox — no product screen renders from
it. Treat a new import of it outside /preview as a mistake.
Progress against the plan, and the findings worth keeping from each phase, live in docs/PLAN.md.
Node 24, Xcode 26.6, CocoaPods, the Supabase CLI, and a Docker runtime — all installed on
the development machine. The container runtime here is OrbStack, not Docker Desktop, so
open -a Docker finds nothing; start it with open -a OrbStack.
Local stack:
supabase start # Postgres, auth, storage; Mailpit at :54324 catches every email
npm run seed # rebuilds the demo world through the real APIs as the real users
supabase stop preserves the database by default, so seeded data survives a restart. Pass
--no-backup to discard it.
Build against an iOS 26.5 simulator. Xcode 26.6 ships the iOS 26.5 SDK, and a 27.0
runtime is newer than the SDK — it is not a valid destination. CocoaPods needs a UTF-8
locale, so prefix build commands with LANG=en_US.UTF-8 unless it is set in your shell.
supabase/migrations. Never edit schema in the dashboard.supabase/tests/rls_isolation_test.sql is the CP1 gate.packages/shared/src/tokens.ts. If the
brand changes, re-run the palette validator rather than hand-picking hexes.