PR事前チェック (Pre-PR check)
すべての項目を実行し、合格/不合格を表形式で報告します。不合格の場合はその根拠(コマンドと簡潔な結果)も示します。
-
make check— すべてのターゲット(docs-check、lint + SAST、test、build、license)が合格していること。ただし、以下の2つのケースは例外:- ドキュメントのみのPR(
docs(design): …、ADR、docs):make docs-checkが合格すれば十分。 - スタックが未選択のリポジトリ(ターゲットが
not configuredと表示 — ADR-0001 が未承認):そのターゲットは N/A(未設定) と報告する。「合格」とは扱わず、また停止理由にもしない。レシピをexit 0で合格させるように変更してはいけない。
また、
make e2eはユーザーに見える部分を変更した場合(e2e テストを追加・変更)、make dastはミドルウェア、ヘッダー、Cookie、エラーページ、新しいルートに触れた場合に実行する。 - ドキュメントのみのPR(
-
git diff origin/main...HEAD --stat— 変更されたファイルが作業対象のみであることを確認する。ビルド出力、.env、個人ファイルなどが含まれていないこと。 -
一時ログの消し忘れ:
git diff origin/main...HEAD | grep -n '\[DBG-'— 何も見つからないこと(fix-bugの項目3)。 -
差分内のシークレットを検出:
git diff origin/main...HEAD | grep -nEi '(api[_-]?key|secret|token|password|BEGIN .*PRIVATE KEY)'— 見つかった場合は停止し報告する。 -
新しい環境変数はすべて
.env.exampleに追加されていること。 -
追加・アップグレードされた依存関係(ロックファイル、go.mod、Dockerfile の
FROMの差分を確認):バージョンとライセンスがdocs/dependencies.mdと一致し、PR説明に記載されていること。 -
新しいマイグレーション(存在する場合):実行可能でロールバック可能であること。
-
ドキュメント:README、docs、ADR(
docs/adr/)が変更に応じて更新されていること。ドメインの新しい用語は CONTEXT.md に記載され、コード内の名前が CONTEXT.md と一致していること。 -
reviewスキルに従ってレビューする(Claude Code:サブエージェントreviewer;他のエージェント:.agents/skills/review/SKILL.mdを読み、自身の差分を確認する) — 「修正必須」の項目をすべて修正してから先に進む。 -
コミットメッセージは Conventional Commits 形式であり、ブランチ名は
mainではないこと。 -
PR説明には
Closes #<issue>を含めること(issue がない場合は先に作成する)。さらに## CHANGELOGセクションが必要(カテゴリ + 1行の日本語(ユーザー視点)または-)。CHANGELOG.md自体は編集しないこと(docs/release.md参照)。 -
UI に触れる場合:ハードコードされた文字列がないこと、すべての言語のキーが揃っていること、色の直値がないこと、
th/en× light / dark の両方で見た目が正常であること(docs/ui.md参照)。
いずれかの項目が不合格の場合、PRを開いてはいけません。先に修正するか、何がブロックしているのかを報告してください。