DEV Community

myougaTheAxo
myougaTheAxo

Posted on • Originally published at zenn.dev

Claude Codeで依存関係更新を自動化する:Renovate・自動マージ・セキュリティPR優先

はじめに

Claude Codeを使って依存関係の更新を自動化する際、Renovateの設定をCLAUDE.mdで管理するパターンが非常に効果的です。本記事では、パッチ・マイナーの自動マージ、stabilityDays設定、@types/*のグルーピング、そしてセキュリティPRの優先処理について解説します。

CLAUDE.mdでのRenovate運用ルール

## 依存関係管理
- Renovate使用: patch/minorは自動マージ(stabilityDays:3)
- @types/* と linting tools はまとめてグルーピング
- セキュリティPRは即時マージ対象(stabilityDays不要)
- dependency-review-actionをPRパイプラインに必須組み込み
Enter fullscreen mode Exit fullscreen mode

renovate.json 設定例

{
  "$schema": "https://docs.renovatebot.com/renovate-schema.json",
  "extends": ["config:base"],
  "stabilityDays": 3,
  "automerge": true,
  "automergeType": "pr",
  "packageRules": [
    {
      "matchUpdateTypes": ["patch", "minor"],
      "automerge": true,
      "stabilityDays": 3
    },
    {
      "matchPackagePatterns": ["^@types/", "eslint", "prettier", "typescript"],
      "groupName": "linting and types",
      "automerge": true
    },
    {
      "matchDepTypes": ["vulnerabilities"],
      "labels": ["security"],
      "automerge": true,
      "stabilityDays": 0,
      "prPriority": 10
    }
  ],
  "vulnerabilityAlerts": {
    "labels": ["security"],
    "automerge": true
  }
}
Enter fullscreen mode Exit fullscreen mode

GitHub Actions: dependency-review-action

PRパイプラインにdependency-reviewを組み込むことで、新たに追加される依存関係のライセンスとCVEをチェックできます。

name: Dependency Review
on:
  pull_request:
    types: [opened, synchronize, reopened]

jobs:
  dependency-review:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/dependency-review-action@v4
        with:
          fail-on-severity: moderate
          deny-licenses: GPL-2.0, AGPL-3.0
Enter fullscreen mode Exit fullscreen mode

セキュリティPRの優先処理

Claude Codeでセキュリティ関連のPRを優先処理するため、CLAUDE.mdに以下のルールを追記します。

## PRレビュー優先度
1. security ラベル付きPR → 最優先(当日レビュー必須)
2. major更新 → 手動レビュー必須、テスト確認後マージ
3. patch/minor → Renovate自動マージに任せる
Enter fullscreen mode Exit fullscreen mode

@types/* のグルーピング戦略

TypeScriptプロジェクトでは@types/*が頻繁に更新されるため、個別PRが乱立しがちです。グルーピングで週1回のまとめPRに統合します。

{
  "packageRules": [
    {
      "matchPackagePatterns": ["^@types/"],
      "groupName": "DefinitelyTyped updates",
      "schedule": ["before 9am on Monday"],
      "automerge": true,
      "stabilityDays": 3
    }
  ]
}
Enter fullscreen mode Exit fullscreen mode

まとめ

  • stabilityDays:3 でnpmリリース直後の不安定パッケージを回避し、安定後に自動マージ
  • セキュリティPRはstabilityDays:0 で即時処理、prPriority:10で最優先レビュー
  • @types/* と linting tools のグルーピング でPR数を大幅削減
  • dependency-review-action でPR単位のライセンス・CVEチェックを自動化

インフラ設計のレビューは **Code Review Pack(¥980)* の /code-review で確認できます。*

prompt-works.jp

Top comments (0)