Semantic Version 単位で戦略を柔軟に変えて、パッケージアップデートを自動化する
by
daitasu
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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 だけでも十分開発体験が改善する ▸