d48cda4081
CI / Test (ubuntu-latest, Node 18.x, bun) (push) Failing after 15m1s
CI / Test (ubuntu-latest, Node 18.x, npm) (push) Failing after 15m1s
CI / Test (ubuntu-latest, Node 18.x, pnpm) (push) Failing after 15m1s
CI / Test (ubuntu-latest, Node 18.x, yarn) (push) Failing after 15m1s
CI / Test (ubuntu-latest, Node 20.x, bun) (push) Failing after 17m13s
CI / Test (ubuntu-latest, Node 20.x, npm) (push) Failing after 18m42s
CI / Test (ubuntu-latest, Node 20.x, pnpm) (push) Failing after 15m0s
CI / Test (ubuntu-latest, Node 20.x, yarn) (push) Failing after 49m44s
CI / Test (ubuntu-latest, Node 22.x, bun) (push) Failing after 51m55s
CI / Test (ubuntu-latest, Node 22.x, pnpm) (push) Failing after 21m57s
CI / Test (ubuntu-latest, Node 22.x, npm) (push) Failing after 37m39s
CI / Test (ubuntu-latest, Node 22.x, yarn) (push) Failing after 34m7s
CI / Validate Components (push) Failing after 37m15s
CI / Python Tests (push) Failing after 10m1s
CI / Security Scan (push) Failing after 10m1s
CI / Lint (push) Failing after 17m12s
CI / Coverage (push) Failing after 20m19s
CI / Test (macos-latest, Node 18.x, bun) (push) Has been cancelled
CI / Test (macos-latest, Node 18.x, npm) (push) Has been cancelled
CI / Test (macos-latest, Node 18.x, pnpm) (push) Has been cancelled
CI / Test (macos-latest, Node 18.x, yarn) (push) Has been cancelled
CI / Test (windows-latest, Node 18.x, npm) (push) Has been cancelled
CI / Test (windows-latest, Node 18.x, pnpm) (push) Has been cancelled
CI / Test (windows-latest, Node 18.x, yarn) (push) Has been cancelled
CI / Test (macos-latest, Node 20.x, bun) (push) Has been cancelled
CI / Test (macos-latest, Node 20.x, npm) (push) Has been cancelled
CI / Test (macos-latest, Node 20.x, pnpm) (push) Has been cancelled
CI / Test (macos-latest, Node 20.x, yarn) (push) Has been cancelled
CI / Test (windows-latest, Node 20.x, npm) (push) Has been cancelled
CI / Test (windows-latest, Node 20.x, pnpm) (push) Has been cancelled
CI / Test (windows-latest, Node 20.x, yarn) (push) Has been cancelled
CI / Test (macos-latest, Node 22.x, bun) (push) Has been cancelled
CI / Test (macos-latest, Node 22.x, npm) (push) Has been cancelled
CI / Test (macos-latest, Node 22.x, pnpm) (push) Has been cancelled
CI / Test (macos-latest, Node 22.x, yarn) (push) Has been cancelled
CI / Test (windows-latest, Node 22.x, npm) (push) Has been cancelled
CI / Test (windows-latest, Node 22.x, pnpm) (push) Has been cancelled
CI / Test (windows-latest, Node 22.x, yarn) (push) Has been cancelled
4.6 KiB
4.6 KiB
コードレビュー基準
目的
コードレビューは、コードがマージされる前に品質、セキュリティ、保守性を確保します。このルールは、コードレビューの実施タイミングと方法を定義します。
レビューのタイミング
必須レビュートリガー:
- コードの作成または修正後
- 共有ブランチへのコミット前
- セキュリティに関わるコードが変更された場合(認証、決済、ユーザーデータ)
- アーキテクチャの変更時
- プルリクエストのマージ前
レビュー前の要件:
レビューを依頼する前に、以下を確認してください:
- すべての自動チェック(CI/CD)が通過している
- マージコンフリクトが解決されている
- ブランチがターゲットブランチと最新状態である
レビューチェックリスト
コードを完了とマークする前に:
- コードが読みやすく、適切に命名されている
- 関数が焦点を絞っている(50行未満)
- ファイルが凝集している(800行未満)
- 深いネストがない(4レベル以上)
- エラーが明示的に処理されている
- ハードコードされたシークレットや認証情報がない
- console.logやデバッグ文がない
- 新機能にテストが存在する
- テストカバレッジが最低80%を満たしている
セキュリティレビュートリガー
以下の場合はsecurity-reviewerエージェントを使用してください:
- 認証または認可コード
- ユーザー入力の処理
- データベースクエリ
- ファイルシステム操作
- 外部APIコール
- 暗号化操作
- 決済または金融コード
レビュー重大度レベル
| レベル | 意味 | アクション |
|---|---|---|
| CRITICAL | セキュリティ脆弱性またはデータ損失リスク | BLOCK - マージ前に修正必須 |
| HIGH | バグまたは重大な品質問題 | WARN - マージ前に修正すべき |
| MEDIUM | 保守性の懸念 | INFO - 修正を検討 |
| LOW | スタイルまたは軽微な提案 | NOTE - 任意 |
エージェントの使用
コードレビューには以下のエージェントを使用してください:
| エージェント | 目的 |
|---|---|
| code-reviewer | 一般的なコード品質、パターン、ベストプラクティス |
| security-reviewer | セキュリティ脆弱性、OWASP Top 10 |
| typescript-reviewer | TypeScript/JavaScript固有の問題 |
| python-reviewer | Python固有の問題 |
| go-reviewer | Go固有の問題 |
| rust-reviewer | Rust固有の問題 |
レビューワークフロー
1. git diffを実行して変更を理解する
2. セキュリティチェックリストを最初に確認する
3. コード品質チェックリストをレビューする
4. 関連するテストを実行する
5. カバレッジ >= 80%を検証する
6. 詳細レビューに適切なエージェントを使用する
よくある問題の検出
セキュリティ
- ハードコードされた認証情報(APIキー、パスワード、トークン)
- SQLインジェクション(クエリでの文字列連結)
- XSS脆弱性(エスケープされていないユーザー入力)
- パストラバーサル(未サニタイズのファイルパス)
- CSRF保護の欠如
- 認証バイパス
コード品質
- 大きな関数(50行超)- より小さく分割
- 大きなファイル(800行超)- モジュールを抽出
- 深いネスト(4レベル超)- 早期リターンを使用
- エラー処理の欠如 - 明示的に処理
- ミューテーションパターン - イミュータブルな操作を優先
- テストの欠如 - テストカバレッジを追加
パフォーマンス
- N+1クエリ - JOINまたはバッチングを使用
- ページネーションの欠如 - クエリにLIMITを追加
- 制約のないクエリ - 制約を追加
- キャッシュの欠如 - 高コスト操作をキャッシュ
承認基準
- 承認: CRITICALまたはHIGHの問題なし
- 警告: HIGHの問題のみ(注意してマージ)
- ブロック: CRITICALの問題が検出
他のルールとの統合
このルールは以下と連携します:
- testing.md - テストカバレッジ要件
- security.md - セキュリティチェックリスト
- git-workflow.md - コミット規約
- agents.md - エージェント委任