BikeControl (SwiftControl)
使用 Zwift Click、Zwift Play、Shimano Di2 或任何藍牙控制器,搭配 MyWhoosh、Rouvy、Zwift 等。iOS、Android、Windows、macOS 均可免費試用。
AI 翻译
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证正在加载完整 README。 以下为已保存的摘录。
Adaptive training app for climbers. Ten climbing-performance capacities, load-based
progression, sourced protocols, testable benchmarks, form guides, rest timers and
session tracking.
Built for one athlete: 35, 62kg, 7a+, three sessions a week, home and gym.
Training model: see 7bit-handover-v10.md.
Design system: see 7bit-handoff-v9.md.
• Node.js v22+ (@capacitor/cli requires >=22, Next 16 requires >=20.9)
• Xcode (for iOS development — macOS only)
Opens the web app at http://localhost:3000.查看完整 README ↗Adaptive training app for climbers. Ten climbing-performance capacities, load-based progression, sourced protocols, testable benchmarks, form guides, rest timers and session tracking.
Built for one athlete: 35, 62kg, 7a+, three sessions a week, home and gym.
Training model: see 7bit-handover-v10.md.
Design system: see 7bit-handoff-v9.md.
@capacitor/cli requires >=22, Next 16 requires >=20.9)npm install
npm run dev
Opens the web app at http://localhost:3000.
npm install # Install all dependencies (Next.js, React, Capacitor, etc.)
npm run build # Compile the app into static files (out/ folder)
npx cap sync ios # Copy static files in, resolve the native plugins
npx cap open ios # Open the Xcode project
In Xcode:
The first build resolves three Swift packages (status bar, splash screen,
haptics) from ios/App/CapApp-SPM/Package.swift. That takes a minute once; it
is cached afterwards.
| Bundle ID | com.sevenbit.circuittraining |
| Display name | 7Bit |
| Orientation | Portrait only |
| Devices | iPhone only |
| Deployment target | iOS 15 |
| Appearance | Light, locked — the app has no dark theme |
Native behaviour lives in src/native/native.ts: status bar styling, splash
dismissal and haptics, each behind a platform check so the same build still
runs in a browser. Screen wake during rest timers uses the Screen Wake Lock
API (src/hooks/use-wake-lock.ts) rather than a plugin, so it works in the
PWA too.
Both are drawn from public/images/logo.svg, so the home screen icon and the
in-app logo can never drift apart:
pip3 install pillow
python3 tools/generate-ios-assets.py
npm run build && npx cap sync ios
Then Cmd+R in Xcode to see the update.
No paid Apple Developer account needed for personal testing.
The main branch auto-deploys to Vercel on push. Preview deploys are created for every PR.
src/
core/ Pure TypeScript business logic (no React, shared with iOS)
types, config, engine, protocols, benchmarks, session data
storage/ Storage abstraction (localStorage now, Supabase later)
store/ Zustand state management
hooks/ React hooks (timer, swipe, audio)
components/ React components + CSS Modules
app/ Next.js app router (layout, page, globals.css)
ios/ Xcode project (generated by Capacitor)
legacy/ Original vanilla JS version (reference only)
public/ Static assets (images, manifest.json)
Next.js 16 (App Router) · TypeScript · React 19 · Zustand · Recharts · @use-gesture/react · Capacitor 8 (iOS)