尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗Rackside is a client and session log for independent personal trainers, on iPhone and Apple Watch. Keep clients' goals, injuries, health screening, assessments and waivers in one place; build reusable workouts; schedule and record sessions set by set with a rest timer on your phone or wrist; and track each client's progress over time. Everything stays on the iPhone — no account, no cloud, no tracking.
For developers: product requirements in PRD.md; roadmap and known gaps in BACKLOG.md.
The Xcode project file is generated, not committed. The project is defined by
project.yml; XcodeGen
turns it into Rackside.xcodeproj.
After a fresh clone — or whenever files are added/removed outside Xcode — run:
brew install xcodegen # first time only
xcodegen generate
open Rackside.xcodeproj
Then select the Rackside scheme, pick an iPhone simulator, and ⌘R.
xcodegen generate
xcodebuild -scheme Rackside -destination 'platform=iOS Simulator,name=iPhone 17' test
If xcodebuild complains that it "requires Xcode" even though Xcode is installed,
either prefix commands with DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer
or run once:
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
Notifications and calendar access are optional. Settings → Permissions shows the current status of each and offers an Open Settings link when one has been denied. Session reminders (24 h and 1 h before) are scheduled only while notifications are allowed; "Add to calendar" on a session needs full calendar access and falls back to the first writable calendar when no default is set.
Continuous integration runs xcodegen generate and the simulator test suite on every
pull request (.github/workflows/ci.yml).
Sources/Models/ — SwiftData @Model types and their Codable DTOsSources/Persistence/ — @ModelActor repositories, seed import, store backupSources/Services/ — notifications, messaging, EventKit calendar, PDF reports, export/import archive, app lockSources/Support/ — shared helpers (logging, formatters)Sources/Support/Theme.swift — color/font/spacing tokens (colorsets live in Sources/Assets.xcassets); Sources/Features/Components/ — shared SwiftUI building blocksSources/Features/ — SwiftUI views + view models per feature (Schedule, Clients, Workouts, Exercises, Session, Reports, Settings)Sources/AppIcon.icon/ — Icon Composer package (edit icon.json/Assets/*.svg as text, or open in Icon Composer); Sources/Assets.xcassets/ holds AccentColorTests/ — Swift Testing suite (runs against in-memory containers); Tests/Fixtures/export-v1.json is the frozen export-format compatibility fixture — never regenerate itWatch/ — Apple Watch app (rest timer mirror and quick start); Shared/ — timer and sync code used by both appsdocs/ — GitHub Pages site: user guide, privacy policy, support, changelog; docs/app-store/ — App Store submission kit and screenshotsscripts/ — screenshots.sh (regenerates App Store/guide screenshots from DEBUG demo data via -demoData), sync-changelog.sh, and doc checksthoughts/qrspi/ — design/research/plan artifacts from the initial build