Skip to main content

毎週の依存関係更新 PR

毎週 Devin セッションをスケジュールし、古くなったパッケージを検出してテストを実行し、更新 PR を作成します。
AuthorCognition
Category自動化
Featuresスケジュール
1

週次スケジュールを作成する

app.devin.ai を開き、Settings > Schedules に移動します。Create schedule をクリックして、次のように設定します:
  • Frequency: Weekly — 例: 毎週月曜 午前7:00 UTC (0 7 * * 1)
  • Prompt: 下記の依存関係アップデート用プロンプトを貼り付ける
チームが依存関係アップグレードをどのように扱うかについて Playbook を使っている場合(例: 更新後は常に npm run build を実行する、devDependencies はスキップする、など)、それをスケジュールに紐づけておくと、毎回同じプロセスで実行されます。
2

Knowledge を追加してアップデート方針を制御する

すべてのパッケージを自動更新すべきとは限りません。Settings > Knowledge に移動し、Devin に何をスキップすべきか、あるいは慎重に扱うべきかを伝えるエントリーを追加します:
  • react を v18 より先には更新しないこと — 別ブランチで v19 への移行作業中です。
  • @types/node は常に使用している Node.js のバージョン (20.x) に合わせて固定すること。
  • eslint-plugin-import はスキップすること — カスタムの lint 設定と衝突します。
  • テストコマンドは npm test ではなく npm run test:ci です。
これらの Knowledge エントリーはすべてのスケジュール実行にわたって保持されるため、毎回プロンプトで繰り返さなくても Devin が制約を尊重します。
3

Devin の成果をレビューする

毎週月曜、Devin はリポジトリで古くなっているパッケージを確認し、代わりに PR を作成します。典型的な週では次のような成果が得られます:PR #1 — 安全な更新(パッチ + マイナー):
## Dependency Updates — Week of Feb 10

| Package         | From    | To      | Type  |
|-----------------|---------|---------|-------|
| axios           | 1.6.2   | 1.6.8   | patch |
| react-query     | 5.17.0  | 5.22.1  | minor |
| tailwindcss     | 3.4.1   | 3.4.6   | patch |
| typescript      | 5.3.3   | 5.3.5   | patch |

847 件のテストがすべてパスしました。npm audit による脆弱性は検出されませんでした。
PR #2 — メジャーアップデート(分離し、メモ付き):
## Major Update: zod 3.x → 4.0.0

Breaking changes (CHANGELOG より):
- `z.object().strict()` がデフォルト動作になりました
- `z.enum` には少なくとも 1 つの値が必要になりました
- 非推奨だった `.check()` メソッドが削除されました

この PR でのコード変更:
- 明示的な `.strict()` 呼び出しを削除するために 3 つのスキーマファイルを更新
- src/schemas/status.ts の空の enum にフォールバック値を追加
Devin は各 PR ごとに個別にテストスイートを実行するため、安全なバッチはすぐにマージしつつ、メジャーアップデートは時間をかけてレビューできます。
4

改善と拡張を重ねる

週次スケジュールが動き始めたら、時間をかけて洗練させていくことができます。任意のスケジュール済みセッションに返信して、Devin に追加の指示を伝えます:スムーズに運用するためのヒント:
  • フロントエンドとバックエンドを分ける — リポジトリに両方含まれている場合は、2 つのスケジュールを作成し、各 PR の対象を絞ってレビューしやすくします。
  • マージ前に CI を最後まで実行させる — 見た目には安全そうなマイナーアップデートでも、微妙なバグを引き起こす可能性があります。Devin はテストを実行しますが、フル CI パイプラインを流すことで、さらに高い信頼性を得られます。
  • 実行履歴の監視、コードフリーズ中のスケジュール一時停止、cron 式の調整には、Schedules ページ を確認してください。