mcpField
R
review-checklist

review-checklist

github.com/lobehubテスト・品質83.6k51 回インストール今日更新
リポジトリ

review-checklist について

LobeChat のコード貢献者向けレビュー用スキルです。正確性、安全性、テスト、ローカライズ、ルーティング、再利用、DB マイグレーション、クラウドへの影響を確認します。

主な機能

  1. 01正確性とセキュリティの確認
  2. 02テストカバレッジと分離の指針
  3. 03ローカライズとルーティングの確認
  4. 04共有 UI とユーティリティの再利用
  5. 05DB マイグレーションの安全策
  6. 06クラウド影響の確認項目

活用シーン

  1. 01バグ修正や機能 PR のレビュー
  2. 02新しい DB モデルやリポジトリの確認
  3. 03ローカライズとデスクトップルートの確認
  4. 04クラウドデプロイに関わる変更の評価

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/lobehub/lobehub --skill review-checklist

インストール後、Claude Code で/review-checklistを入力して読み込まれたか確認します。

詳細

レビューチェックリスト

正確性

  • console.log / console.debug の消し忘れ — debug パッケージを使うか、削除してください
  • try/catch 内で return await が抜けていないか — https://typescript-eslint.io/rules/return-await/ を参照(現時点では型情報が必要なため、ESLint 設定には含まれていません)
  • 修正や実装を、より簡潔かつ効率的に、または互換性を高める形にできませんか?

セキュリティ

  • console.* や debug() の出力に機密データ(API キー、トークン、認証情報)が含まれていない
  • ターミナルに Base64 の出力がない — 出力が極端に長くなり、フリーズするため
  • シークレットをハードコードしていない — 環境変数を使用する

テスト

  • バグ修正には、修正したシナリオを網羅するテストを含める必要があります
  • 新しいロジック(サービス、ストアアクション、ユーティリティ)にはテストカバレッジが必要です
  • 新しいデータベース Model/Repository(packages/database/src/models/**、src/repositories/**)には、同じ階層に __tests__/<name>.test.ts を追加する必要があります。ユーザー分離テストも含めてください。BM25 検索は describe.skipIf(!isServerDB) でガードしてください(/testing → db-model-test.md を参照)
  • 既存のテストで、変更した動作も引き続きカバーできていますか?
  • /testing スキルを参照し、vi.mock より vi.spyOn を優先してください

i18n

  • ユーザーに表示する新しい文字列には、ハードコードしたテキストではなく i18n キーを使用する
  • キーは {feature}.{context}.{action|status} の命名規則で src/locales/default/{namespace}.ts に追加する
  • PR では、すべての言語の locales/ 翻訳を更新する(pnpm i18n)

SPA / ルーティング

  • desktopRouter のペア: 差分で src/spa/router/desktopRouter.config.tsx に変更を加えた場合、同じルートパスとネスト構造で src/spa/router/desktopRouter.config.desktop.tsx も更新していますか?片方のファイルだけを編集すると、差異が生じたり画面が真っ白になったりすることがよくあります。

再利用

  • 新しく書いたコードは、packages/utils や共有モジュールにある既存のユーティリティと重複していませんか?
  • わずかな違いしかないコードブロックのコピー&ペースト — 共通関数に切り出してください
  • antd のインポートは、@lobehub/ui のラッパーコンポーネント(Input、Button、Modal、Avatar など)に置き換えられませんか?
  • ハードコードした色ではなく antd-style のトークンシステムを使用してください。ランタイムでの計算が必要な場合を除き、createStyles + token より createStaticStyles + cssVar.* を優先してください

データベース

  • マイグレーションスクリプトは冪等にする必要があります(IF NOT EXISTS、IF EXISTS ガード)

クラウドへの影響

このリポジトリに依存する下流のクラウドデプロイがあります。クラウド側の更新が必要になる可能性のある変更には注意してください。

  • バックエンドのルートパスの変更 — 例:src/app/(backend)/webapi/chat/route.ts の名前変更、またはエクスポートの変更
  • SSR ページパスの変更 — 例:src/app/[variants]/(auth)/ 配下のファイルの移動や名前変更
  • 依存関係のバージョン更新 — 例:package.json の next や drizzle-orm のアップグレード
  • @lobechat/business-* のエクスポート変更 — 例:src/business/ の関数名の変更や、packages/business/ の型シグネチャの変更
  • src/business/ と packages/business/ で、コメントやコードにクラウド向けの商用ロジックを公開してはなりません

コメント