尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
🔍 コードレビュー引き継ぎ (2026-07-09) — 全面監査で 47 Issue 起票済み・修正フェーズ homegohan を Claude Sonnet 5 × Fable 5 の二重監査+独立検証で全面レビューし、GitHub Issue 47件を起票しました。 次の作業者は まず統合トラッカー #1012 を読むこと(修正順・依存関係・検証SQL・目次が全部そこにあります)。 コードを触る前に必ず 前提作業 #1056(未コミット4ファイルの破棄) を消化してください。 現状サマリ • リポジトリ: ~/homegohan(リモート DaisukeHori/homegohan-app) • 監査基準: コミット済み HEAD。作業ツリー版は使わない • 起票: 親トラッカー #1012 / 前提作業 #1056 / 指摘 #1013-#1055 / UX追加 #1057-#1058 • 内訳: critical 20 / high 18 / medium 7 着手順(#1012 のプレイブック要約) 1. 【前提】#1056 = 未コミット4ファイルを破棄(コミット済み監査修正の巻き戻しなので必ず最初に)檢視完整 README ↗
[!IMPORTANT] 🔍 コードレビュー引き継ぎ (2026-07-09) — 全面監査で 47 Issue 起票済み・修正フェーズ
homegohan を Claude Sonnet 5 × Fable 5 の二重監査+独立検証で全面レビューし、GitHub Issue 47件を起票しました。 次の作業者は まず統合トラッカー #1012 を読むこと(修正順・依存関係・検証SQL・目次が全部そこにあります)。 コードを触る前に必ず 前提作業 #1056(未コミット4ファイルの破棄) を消化してください。
~/homegohan(リモート DaisukeHori/homegohan-app)git checkout -- \
src/app/api/account/delete/route.ts \
src/app/api/admin/organizations/route.ts \
src/schemas/membership/family-invite.ts \
src/schemas/membership/organization-invite.ts
WITH CHECK 欠如)で1 migration にまとめる。続けて #1016-#1020(認証バイパス/IDOR/REVOKE漏れ)、#1022(レート制限)、#1036(モバイル)verified = コード上裏取り済 / needs-verification = 実DB状態次第needs-verification(#1020 #1025 #1026 #1027 #1028 #1040)は着手前に各Issueのコメント欄の読み取り専用SELECTを Supabase で1回流して確定してから直すhomegohan-app/ ・.worktrees/ ・.claude/ は無視(旧ツリー残骸。編集・参照しない)src/lib/db-logger.ts、Edge Functions は _shared/db-logger.ts を必ず使うsrc/lib/build-nutrition-input.ts 経由signOut の前に src/lib/user-storage.ts の clearUserScopedLocalStorage() を呼ぶroles は公式12種('banned' 禁止)、plan_keys 9種、SubscriptionStatus 7値createServerClient<Database> で型付け(#1023 の引数不一致の再発防止)npm run typecheck / npm run lint / npm test / npm run test:e2enpx [email protected] db diffdeploy-supabase-*.yml が main push で無条件適用(テストゲート無し=#1034 で是正対象)GET /api/org/invites が参照する organizations/departments/role/department_id は migration 管理外のレガシースキーマの可能性(誤検知寄りに格下げ済み)ai_consultation_* / ai_action_logs / nutrition_targets / health_insights / health_challenges / user_badges の DDL・RLS がリポジトリに無い → 本番で RLS 確認し migration として取り込むことほめゴハンの monorepo です。Web アプリ、Expo mobile アプリ、Supabase Edge Functions、共有パッケージを同じリポジトリで管理しています。
homegohan/
├── src/ # Next.js 15 Web アプリ (App Router)
├── apps/mobile/ # Expo / React Native モバイルアプリ (iOS / Android)
├── supabase/
│ ├── functions/ # Supabase Edge Functions (Deno)
│ └── migrations/ # DB マイグレーション
├── packages/core/ # Web / Mobile 共有ロジック
└── tests/ # Vitest テスト (e2e 以外)
└── e2e/ # Playwright E2E テスト
Node 18 では @supabase/supabase-js の警告が出るため、ローカル開発・CI・Vercel ともに Node 20.x を前提にしてください。
# 1. 依存関係インストール
npm install
# 2. 環境変数を設定 (.env.local を作成)
# → ENV_SETUP.md を参照
# 3. 開発サーバー起動
npm run dev
# http://localhost:3000 で確認
環境変数の詳細セットアップは ENV_SETUP.md を参照してください。
src/: Next.js Web アプリapps/mobile/: Expo / React Native アプリsupabase/functions/: Supabase Edge Functionspackages/core/: 共有ロジックtests/: Vitest テストdocs/, SPECIFICATION.md: 補足ドキュメントnpm run dev # Web 開発サーバー起動
npm run build # プロダクションビルド
npm run typecheck # 型チェック
npm run lint # ESLint
npm test # Vitest ユニットテスト
npm run test:e2e # Playwright E2E (開発サーバー自動起動)
npm run mobile:start # モバイル Metro bundler 起動
詳細な手順・環境変数設定は CONTRIBUTING.md を参照してください。
# ユニットテスト
npm run test
# インテグレーションテスト (ローカル Supabase + ローカル dev サーバが必要。本番には向けない)
# bash scripts/supabase-local.sh start && bash scripts/supabase-local.sh env .env.local
# npm run dev # 別ターミナル
npm run test:integration -- tests/integration/operator/admin-
tests/e2e/ は vitest の除外対象です (vitest.config.ts の exclude を参照)。
# ローカル (開発サーバー自動起動)
npm run test:e2e
# MVP spec のみ高速実行
npm run test:e2e:mvp
# 本番 / ステージング環境を対象にする場合
PLAYWRIGHT_BASE_URL=https://homegohan-app.vercel.app npm run test:e2e
E2E テスト用ユーザーの認証情報は環境変数 E2E_USER_EMAIL / E2E_USER_PASSWORD で渡します。
CI では GitHub Secrets に同名で登録してください。
# Maestro CLI インストール (初回のみ)
curl -Ls https://get.maestro.mobile.dev | bash
# シミュレーター起動後に実行
cd apps/mobile && maestro test maestro/
cd apps/mobile && npm test
.github/workflows/e2e.yml が PR (および手動トリガー) で Playwright E2E を実行します。
対象パス: src/**, tests/e2e/**, playwright.config.ts, package.json, package-lock.json。
レポートは playwright-report artifact として 14 日間保持されます。
PR マージ前のチェック方針は CONTRIBUTING.md を参照してください。
SPECIFICATION.md と docs/ も更新してください。