Slide 1

Slide 1 text

Semantic Version 単位で戦略を柔軟に変え て、パッケージアップデートを自動化する 2026.06.12 多摩.dev #3 〜半年記念回〜 @daitasu

Slide 2

Slide 2 text

X 自己紹介 Name: @daitasu Belong to: コミューン株式会社 Favorite: TypeScript, Sauna, Dinosaurs Community: Tachikawa.any

Slide 3

Slide 3 text

今日話すこと dependabot の PR が滞納する問題 ▸ Semantic Version ごとのマージ戦略の考え方 ▸ AIレビュー&自動マージするGitHub Action を作った話 ▸ 導入してどう変わったか ▸

Slide 4

Slide 4 text

dependabotのPR 溜まっていませんか?

Slide 5

Slide 5 text

パッケージアップデートの滞留問題 dependabot が PR を作ってくれる → しかし、レビュー時間がない ▸ 運用の仕組みの整備の形骸化、誰かしらの勇姿で解決してしまう ▹ うまく回せても、対応コストが大きい ▹ 放置するほどに、バージョン差異が肥大化 ▸ 重い腰が着実に重たくなり、負債になってしまう ▹ 脆弱性の露出、LTS切れの危険性 ▸

Slide 6

Slide 6 text

AIでなんとかならないの?

Slide 7

Slide 7 text

AIレビューの問題点 dependabot はビジネスロジックを含むものではない ▸ AI レビューとの相性はいいはず ▹ しかし昨今、サプライチェーン侵害が多発している ▸ 変更差分がOKでも、安易に信頼してマージできるかが分からない ▹ メジャーリリースなど、AIで見たいもの、人が必ず見たいものなど、レベルによって求める段階が違う ▸

Slide 8

Slide 8 text

状況に合わせて、AIのレビュー戦略をさくっと 切り替えられたらいいのに 🤔

Slide 9

Slide 9 text

action つくった

Slide 10

Slide 10 text

cc-deps-patrol とは Claude Code Action で dependabot PR をパトロールする GitHub Action ▸ Semantic Version に応じて4つの戦略を使い分けできる ▸ npm provenance チェック + AI レビューでセキュリティも考慮 ▸ 🔗 github.com/daitasu/cc-deps-patrol ▸

Slide 11

Slide 11 text

従来の dependabot がマージされるまで dependabot が PR を作成してからマージされるまでの一般的な流れ ▸ 人間がレビューし、マージまで持っていく ▸ このレビューがボトルネックとなり、停滞要因となってしまう ▸

Slide 12

Slide 12 text

レビューで抑えたい観点 セキュリティの危険性を担保する(信頼できる開発元かどうかを確認する) ▸ バージョンアップデートにクリティカルな影響がないか ▸ 人が見たい重要な変更は、自動マージは決してしない ▸

Slide 13

Slide 13 text

4つの戦略に分けて AIの対応範囲を決めていく

Slide 14

Slide 14 text

Semantic Version レベルで4つの戦略を選べるように マージ戦略は4つのストラテジーから選択可能 ▸ review-only … AIがレビューコメントのみ残す(マージは しない) ▹ review-and-merge … AIがレビューを行い、問題ないと 判断した場合は自動マージ ▹ verify-and-merge … 信頼できる開発元かどうかのチェ ックのみ行い、問題なければ自動マージ ▹ auto-merge … AIレビュー、開発元チェックは行わず、自 動マージ(非推奨) ▹ 対応Agent は Claude Code ▸

Slide 15

Slide 15 text

① verify-and-merge(patch向け) AI レビューは実施しない(トークン削減) 。開発元の信頼性チェックのみで判断 ▸ 確認項目: ▸ npm provenance(由来検証)/ install スクリプトの有無 / リリース経過日数 ▹ 後で話しますが、これで安心というわけではないです ▹

Slide 16

Slide 16 text

② review-and-merge(minor向け) patch より影響範囲が広いため、AI の目を通してからマージする ▸ npm provenance 前段チェック → AI がアップデート影響をレビュー ▸ 問題なければ Approve + 自動マージ ▹

Slide 17

Slide 17 text

③ review-only(major向け) AI がレビューコメントのみを残す。Approve も自動マージもしない ▸ 破壊的変更は人間が最終判断。コメントがあるだけでも調査工数は大幅に減る ▸

Slide 18

Slide 18 text

使用例 - uses: daitasu/cc-deps-patrol@v1 with: github-token: ${{ steps.app-token.outputs.token }} anthropic-api-key: ${{ secrets.ANTHROPIC_API_KEY }} claude-github-token: ${{ steps.app-token.outputs.token }} patch-strategy: "verify-and-merge" # patch バージョンの戦略 minor-strategy: "review-and-merge" # minor バージョンの戦略 major-strategy: "review-only" # major バージョンの戦略 reviewer-login: "deps-keeper" # github app の名前 review-language: "ja" # レビューコメントの言語 戦略はバージョン種別ごとに柔軟に組み替え可能 ▸

Slide 19

Slide 19 text

導入結果

Slide 20

Slide 20 text

導入結果: verify / review-and-merge AI がレビュー → Approve → 自動マージまで完了

Slide 21

Slide 21 text

導入結果: review-only(Major) AI のレビューコメントが残り、人間が最終判断する

Slide 22

Slide 22 text

導入後の変化 個人開発に入れてみた ▸ 滞っていた dependabot PR が消化されるようになった ▹ review-only のコメントだけでも調査の支援になる ▸ ケースに応じて戦略を柔軟に組み替えられる ▸

Slide 23

Slide 23 text

👍️

Slide 24

Slide 24 text

⚠️

Slide 25

Slide 25 text

今回の信頼元チェックは完璧ではない 過信禁物。最低限のスクリーニングに過ぎない 今回は信頼できる開発元のチェックとして、下記を検出した ▸ npm provenance(由来検証)/ install スクリプトの有無 / リリース経過日数 ▹ npm provenance は「由来の透明性」を証明するだけ ▸ メンテナ認証情報が奪取された場合は防げない(例:🔗2025年9月の chalk/debug 汚染) ▹ install スクリプト検査は回避手法に対応しきれない ▸ 🔗binding.gyp + node-gyp 経由での任意コード実行されるケースも観測されている ▹

Slide 26

Slide 26 text

まとめ zenn にもよければご参照ください! dependabot PR の滞納はAI で解決できる ▸ Semantic Version ごとに戦略を分けるのが肝 ▸ セキュリティは過信せず、最低限のスクリーニング ▸ review-only だけでも十分開発体験が改善する ▸