English | 日本語
patchgate は PR変更差分の品質ゲート です。
セキュリティ専用ではなく、次の4軸を1つのスコア (0-100) で判定します。
- テスト不足 (
test_gap) - 破壊的変更リスク (
dangerous_change) - 依存更新リスク (
dependency_update) - レビュー優先度 (
P0..P3)
- Nix前提: 開発・CIの実行環境を固定
- マルチプラットフォーム必須: Linux / macOS / Windows で検証
- 低変動費設計: 実行の主役はローカル/CI、SaaSはメタデータのみ
以下のコマンドは、必ず nix develop に入ったシェルの中で実行してください。
# Nix shell
nix develop
# 実行
cargo run -p patchgate-cli -- scan --mode warnJSON出力:
cargo run -p patchgate-cli -- scan --format jsonconfig/policy.toml.example を、patchgate を適用したい対象プロジェクトのルートへ
policy.toml として配置して使います。
cp config/policy.toml.example /path/to/project_root/policy.toml対象プロジェクトでローカル管理にしたい場合は、.gitignore にも追加してください。
printf '\n/policy.toml\n' >> /path/to/project_root/.gitignorepatchgate の実行も、nix develop に入った状態で行う前提です。
patchgate scan --mode warn|enforce --scope staged|worktree|repo --format text|jsonpatchgate doctor
0: 成功(warn実行、またはenforceで gate pass)1:enforceでscore < fail_threshold(gate fail)2: 入力エラー(scanオプション値不正)3: 設定エラー(設定ファイル読み込み/設定値不正)4: 実行エラー(差分収集・評価・キャッシュ)5: 出力エラー(JSON/レポート書き込み)6: GitHub publish エラー
docs/patchgate-action.yml を参照してください。
- 差分ベースの3チェック (テスト不足 / 危険ファイル変更 / 依存更新)
- スコアリングとfail threshold
warn/enforceモード- JSON出力
- SQLiteキャッシュ(同一差分は再計算スキップ)