BikeControl (SwiftControl)
使用 Zwift Click、Zwift Play、Shimano Di2,或任何藍牙控制器搭配 MyWhoosh、Rouvy、Zwift 等。可於 iOS、Android、Windows 與 macOS 免費試用。
AI 翻譯
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
陸上競技部向けの練習記録・予定・出欠・大会結果・ノート共有アプリ。Next.js 16 / React 19 / Supabase / Tailwind CSS v4 を使用する。 本番は tuat-tf.vercel.app。アプリはVercel、DB/Authは所有者PCのWSL内Supabase、画像は非公開R2。旧クラウドSupabaseへ接続先だけを戻してはいけない。 開発ルールと完了条件は AGENTS.md、運用は PC本番運用、文書全体は 文書案内 を参照する。 ルートディレクトリが現行アプリ。新アプリの tuat-tf-next/ は別packageで、現行アプリのビルド・lint・テスト対象から除外している。 1. Node.js 22.12以降(この変更は24系で検証)を用意する。 2. npm ci でロックファイルに合わせて依存を導入する。 3. .env.example を参照して、開発先に対応した .env.local を用意する。Supabase、Googleログイン、画像、通知、同期の設定は別々で、最初の4変数だけで全機能が動く構成ではない。秘密値はGitやログへ出さない。 4. npm run dev を実行し、http://localhost:3000 を開く。檢視完整 README ↗
陸上競技部向けの練習記録・予定・出欠・大会結果・ノート共有アプリ。Next.js 16 / React 19 / Supabase / Tailwind CSS v4 を使用する。
本番はCloudflareの公開入口から所有者PCへ接続し、アプリ・DB・認証・非公開画像をPC内で運用する。PC外には暗号化バックアップを保存する。旧クラウドへの業務データの切替・書戻しは再開しない。公開入口と稼働状態は PC本番運用 の最新注記を優先する。
検証版・未公開版を含む開発基準は codex/unified-development-20261020 に集約した。所有者PCの作業場所は D:\TUAT_TF\.worktrees\unified-development-20261020。取り込み元・採否・検証と公開保留の範囲は 一本化記録 に記載する。元の作業コピーは履歴保全用であり、この統合版を今後の変更の土台にする。
開発ルールと完了条件は AGENTS.md、運用は PC本番運用、文書全体は 文書案内 を参照する。
ルートディレクトリが現行アプリ。新アプリは D:\TUAT_TF_NEXT_PAUSED へ移して休止中。オーナーの明示指示なしに再開せず、現行アプリのビルド・lint・テストへ混ぜない。
npm ci でロックファイルに合わせて依存を導入する。.env.local を用意する。Supabase、Googleログイン、画像、通知、同期の設定は別々で、最初の4変数だけで全機能が動く構成ではない。秘密値はGitやログへ出さない。npm run dev を実行し、http://localhost:3000 を開く。独立した検証DBを新規構築する場合、スキーマは supabase/migrations/ の履歴を基に準備する。既存のCLIリンクや .env.local が現在の本番DBを指すとは限らない。DB変更は対象接続先・バックアップ・dry-run・適用履歴を確認してから行う。現在のPC本番に対する手順を、新規クラウドプロジェクト向けコマンドで代用しない。
GoogleログインにはAuthプロバイダーとコールバック設定が必要。権限は roles と profile_roles の複数ロール方式で、アプリのロール管理とDBのRLSにより制御する。
| コマンド | 用途 |
|---|---|
npm run dev | ローカル開発 |
npm run check:environment | Node.js・直接依存の実バージョンをロックファイルと照合(読取のみ) |
npm test | 現行アプリのVitest |
npm run test:tooling | 開発環境診断の合成テスト |
npm run test:ops | バックアップ・予備同期・GAS・ガラス描画の合成テスト |
npm run test:ops:integration | ループバックHTTPを使う中継・定期処理の合成テスト |
npx tsc --noEmit | 型検査 |
npx eslint <変更ファイル> | 変更箇所のlint |
npm run lint | リポジトリのlint(既存の指摘も含む) |
npm run build | 現在の環境設定でビルド |
npm start | ビルドしたアプリを起動 |
検証前に npm run check:environment を実行する。package.jsonが新しくても、実行中のNode.jsや既存node_modulesが古い場合がある。診断は自動インストールや本番への通信を行わない。運用の実行スクリプトをテスト代わりに起動しない。
本番のrelease作成・起動は PC hostの手順 と最新の運用記録に従う。古いビルドスクリプトや同名フォルダを、本番と同じ構成だと判断して起動しない。
全体品質改善の公開保留を維持する。公開時は 完了の定義 に従い、最新masterへ統合してbuild・pushし、PC releaseと公開 /api/version の対象SHA一致まで確認する。Vercelも更新する場合は同じSHAのProduction READYを確認する。Vercelの設定変更には別途具体的な承認が必要。東京リージョン hnd1 を維持する。
一般Previewへ本番のDB/管理キーを複製しない。デプロイ・DB・環境変数の同時変更を複数担当で行わない。
@/lib/queries を呼ぶ。実体は src/lib/queries/ の機能別モジュール。cacheComponents と experimental.staleTimes は再導入しない。過去のiOS PWAフリーズの経緯はAGENTSと next.config.ts のコメントを参照する。