diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..3b67c88 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,30 @@ +# 依存パッケージの定期更新 PR(Dependabot version updates) +# 脆弱性検出(Dependabot alerts / security updates)はリポジトリ設定で有効化済み(本ファイルとは独立に動く) +version: 2 +updates: + # NuGet(packages.config は本体・テストの各プロジェクト直下にある) + - package-ecosystem: "nuget" + directories: + - "/TIASshot" + - "/TIASshot.Tests" + schedule: + interval: "weekly" + open-pull-requests-limit: 5 + commit-message: + prefix: "[update]" + groups: + minor-and-patch: + update-types: + - "minor" + - "patch" + + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "weekly" + commit-message: + prefix: "[update]" + groups: + actions: + patterns: + - "*" diff --git a/CLAUDE.md b/CLAUDE.md index 1c231f3..66f12c4 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -4,7 +4,7 @@ ## 開発進捗 -最新: テンプレートを最新版(`0ac68c7`)に同期.補助エージェント(advisor/deps-analyst/ops-runner)・`/consult`・`/deps-update`・`/commit merge`・テンプレート改変台帳が追加された.`.github/dependabot.yml` と Dependabot alerts の有効化は未対応 +最新: テンプレートを最新版(`0ac68c7`)に同期し,補助エージェント(advisor/deps-analyst/ops-runner)・`/consult`・`/deps-update`・`/commit merge`・テンプレート改変台帳を導入.あわせて Dependabot(alerts / security updates の有効化・`.github/dependabot.yml`)をセットアップ ※ 本欄は**最新ステップ 1 行のみ上書き更新**.詳細な進捗履歴(動機・設計判断・失敗パターン)は [docs/PROGRESS.md](docs/PROGRESS.md) に追記する.運用ルールは `.claude/rules/progress-log.md` を参照(該当ファイル編集時に自動ロードされる). ## 必須ルール(コード実装時) diff --git "a/docs/02_ENV/ENV_03_\347\256\241\347\220\206\350\200\205\347\224\250\347\222\260\345\242\203\346\247\213\347\257\211\346\211\213\351\240\206.md" "b/docs/02_ENV/ENV_03_\347\256\241\347\220\206\350\200\205\347\224\250\347\222\260\345\242\203\346\247\213\347\257\211\346\211\213\351\240\206.md" index 85f1594..cc15aec 100644 --- "a/docs/02_ENV/ENV_03_\347\256\241\347\220\206\350\200\205\347\224\250\347\222\260\345\242\203\346\247\213\347\257\211\346\211\213\351\240\206.md" +++ "b/docs/02_ENV/ENV_03_\347\256\241\347\220\206\350\200\205\347\224\250\347\222\260\345\242\203\346\247\213\347\257\211\346\211\213\351\240\206.md" @@ -10,6 +10,25 @@ - 既定ブランチ: `main`.`main` への直接 push は行わず,作業ブランチ → PR 経由でマージする(`.claude/rules/git-conventions.md`). - 新しい開発マシンでは `git clone` 後に [ENV_02_環境構築手順](ENV_02_環境構築手順.md) に従う. +## GitHub リポジトリのセキュリティ設定 (Repository Security Settings) + +Dependabot alerts(既知脆弱性の検出)と Dependabot security updates(脆弱性を直す PR の自動作成)はリポジトリごとに既定で OFF のため,リポジトリ作成後に有効化する.**2026-08-28 に有効化済み**(冪等なので再実行してよい). + +```bash +gh api -X PUT repos/{owner}/{repo}/vulnerability-alerts # Dependabot alerts(依存グラフも同時に有効化される) +gh api -X PUT repos/{owner}/{repo}/automated-security-fixes # Dependabot security updates +``` + +検証は次のとおり(`vulnerability-alerts` は 204 で有効・404 で無効,`automated-security-fixes` は `{"enabled":true}` で有効). + +```bash +gh api repos/{owner}/{repo}/vulnerability-alerts -i +gh api repos/{owner}/{repo}/automated-security-fixes +``` + +- 実行にはリポジトリの admin 権限が必要(無いと 403).手順の詳細・トラブル対応は `.claude/skills/setup/reference.md`「GitHub リポジトリのセキュリティ設定」を参照する. +- 依存パッケージの定期更新 PR は `.github/dependabot.yml` で設定しており,本設定とは独立に動く(後述の「CI・自動化」). + ## 外部 SDK・ライセンス (External SDKs & Licenses) カメラ制御 SDK はリポジトリに含めず,各開発マシンへ個別に導入する.入手元とライセンスの管理は管理者が把握しておく. @@ -35,5 +54,7 @@ ## CI・自動化 (CI & Automation) -- 現時点で CI(GitHub Actions 等)は構築していない(`.github/` なし).ビルド・テストはローカルで行う([ENV_04_開発コマンド](ENV_04_開発コマンド.md)). +- 現時点で CI(GitHub Actions 等)は構築していない.ビルド・テストはローカルで行う([ENV_04_開発コマンド](ENV_04_開発コマンド.md)). - 将来 CI を導入する場合は,x64・packages.config・ネイティブ DLL(OpenCvSharp)依存を満たすランナー構成が必要になる点に注意する. +- `.github/dependabot.yml` で依存パッケージの定期更新 PR を設定している(NuGet: `TIASshot`/`TIASshot.Tests` の各 packages.config,週 1 回,マイナー/パッチは 1 PR にまとめる.メジャー更新も個別 PR で作成する).GitHub Actions の更新も対象に含めてあるため,CI を追加した時点で自動的に追従される. +- Dependabot の PR は `/deps-update` で処理する(ゲートを満たすものだけマージし,メジャー更新・CI 赤は分析付きで報告される).**本プロジェクトは CI が無いためゲートはローカル検証(x64 ビルド+テスト)で判定される**点に注意する. diff --git a/docs/PROGRESS.md b/docs/PROGRESS.md index ffaaf54..e4eaefc 100644 --- a/docs/PROGRESS.md +++ b/docs/PROGRESS.md @@ -119,4 +119,5 @@ - [x] **テンプレートを最新版に同期(補助エージェント・依存更新・テンプレート改変台帳の導入)** (2026-08-28): `/sync-template` で programming-template を `061d1c4` → `0ac68c7` に追従.補助エージェント(`advisor`/`deps-analyst`/`ops-runner`)と skill(`/consult`・`/deps-update`・`/commit merge`),テンプレート改変台帳(`.claude/template-overrides.md`+`template-customization` rule)が入った. - 設計判断: テンプレート側で `task-*` skill が team 層から共通層に移り,solo でも Issue ベースのタスク管理を併用できるようになったため配置した.進捗記録(本ファイル+CLAUDE.md 進捗欄)は従来どおり運用し,Issue は補助として扱う. - マージ必須ファイルは上書きせず差分統合した(`.gitignore` は VS/NuGet 等の固有ルールを保持,`CLAUDE.md` は共通セクションのみ更新,`settings.json` は既存の PreToolUse フック配線を保持して `permissions.allow` を追加).テンプレート由来ファイルのローカル改変は 0 件だったため台帳は空で開始. - - 後段: 新しい GUIDE_01 は Dependabot alerts / security updates の有効化と `.github/dependabot.yml` を前提にしているが本リポジトリには未設定.`/deps-update` を使うにはこの設定が要る. + - 続けて,新しい GUIDE_01 が前提にする Dependabot をセットアップした.リポジトリ設定(alerts / security updates)を `gh api` で有効化し,`.github/dependabot.yml`(NuGet: `TIASshot`/`TIASshot.Tests` の packages.config,週 1 回,マイナー/パッチをまとめる.メジャー更新も個別 PR で作らせる.GitHub Actions も対象)を追加した.手順は ENV_03 に転記. + - 後段: CI(GitHub Actions)が無いため,`/deps-update` のマージゲートはローカル検証(x64 ビルド+テスト)で判定することになる.OpenCvSharp や実機カメラ SDK に関わる更新は実機確認が要る点は変わらない.