BluePeriod Docs
開発

PRレビューガイド

メンテナー向けのPRレビュー観点・セキュリティチェック・ワークフロー

PRレビューガイド

本ドキュメントは、BluePeriodのメンテナーがPRをレビューする際の基準とワークフローを定義します。

レビューワークフロー

メンテナーはAIを使ってPRをReviewすることができます。

gh pr diff {番号}

差分を取得し、プロジェクト規約・セキュリティ観点でReviewします。

レビュー観点

1. スコープの整合性

  • PRのSummaryに書かれていない実装が含まれていないか
  • 関連IssueやPlanがある場合、その範囲内に収まっているか
  • スコープクリープ(関係ない修正の混入)がないか

2. 規約への準拠

  • 06_development_guidelines のコーディング規約に従っているか
  • 09_design_system のセマンティックトークンを使用しているか(ハードコードされた色やスペースがないか)
  • 命名規則(camelCase, PascalCase, kebab-case)が正しいか
  • Jotai Atomに...Atom接尾辞がついているか
  • i18n対応が必要な箇所でハードコードされたテキストがないか

3. アーキテクチャの整合性

  • 01_architecture のBFF/BYOKパターンに沿っているか
  • Service Layerが適切に分離されているか(APIハンドラにビジネスロジックがないか)
  • 状態管理(Jotai)のスコープが最小限か

4. セキュリティチェック

以下のパターンを確認:

パターン確認内容
eval(), Function(), new Function()意図が不明な場合は拒否
文字列操作Unicodeエスケープ、ゼロ幅文字の不自然な使用がないか
外部リクエスト不可解なドメインへのリクエストや依存の追加がないか
セキュリティ機構既存の認証・認可の無効化がないか
難読化コードが人間の目で読めるか
機密情報APIキー、トークン、.envの内容が含まれていないか
依存関係新規パッケージが信頼できる出所か。GPL等のコピーレフトでないか

5. 品質

  • TypeScriptの型が適切に使われているか(anyの乱用がないか)
  • エラーハンドリングが漏れていないか
  • ローディング状態のUIが実装されているか(Skeleton推奨)
  • 不要なコメントやデバッグコードが残っていないか

レビュー結果の分類

判定条件
ApproveCI通過 + レビュー観点を満たす
Request Changesセキュリティ問題、規約違反、スコープ外の変更がある
Comment軽微な改善提案。マージをブロックしない

CIの判定基準

CIはdorny/paths-filterによるpath-based条件付き実行を採用しています:

変更対象実行されるCheck
next-app/**bun next:checkbun next:build
fumadocs/**bun fuma:checkbun fuma:build
astro/**bun astro:check
tauri-app/**bun tauri:check(cargo check)
package.json / bun.lockb該当するすべてのCheck

CIが通っていることを第一段階の品質判断に使い、その上で上記のレビュー観点で確認します。

貢献者へのフィードバック

  • 具体的な指摘と改善案をセットで伝える
  • セキュリティ上の指摘は理由を必ず添える
  • 初回コントリビューターには歓迎のトーンを心がける

On this page