メインコンテンツへスキップ
チームのスタイルガイドとアーキテクチャ原則を、強制適用できるポリシーに変換します。定期実行されるこの自動化は、コードベースをスキャンして既知のアンチパターン (ハードコードされた認証情報、SQLインジェクションにつながる箇所、非推奨のAPIの利用、禁止されたインポート) を検出し、チケットを起票し、安全な場合は自動修正PRも作成します。

このテンプレートを利用する

DevinでCode Pattern Enforcerを開き、デフォルト設定で自動化を作成します。保存する前にカスタマイズできます。

この自動化でできること

リンターが字句レベルの問題を検出するのに対し、この自動化は意味レベルの問題を検出します。たとえば、APIの誤用、非推奨のモジュール、パフォーマンス上のアンチパターン、既製のリンターでは検出できないセキュリティ上の懸念などです。パターンを平易な英語で記述すると、Devinがスケジュールに従ってリポジトリ全体に適用します。

仕組み

トリガー: スケジュールイベントrecurring
  • イベント: schedule:recurring
    • 条件:
      • rruleFREQ=WEEKLY;BYDAY=MO;BYHOUR=9;BYMINUTE=0 と一致する
Devinが行うこと: イベントの前提情報をすべて含むセッションを開始し、以下のプロンプトを実行して、失敗した場合は (任意で) 通知します。

前提条件

プロンプトの例

このテンプレートには、次のプロンプトが含まれています。Use template をクリックしたあとで編集することも、そのまま使用することもできます。

設定手順

  1. Devin で Automations → Templates を開きます。
  2. Code Pattern Enforcer をクリックします。このテンプレートがあらかじめ入力された状態で作成ページが開きます。
  3. 必要な統合 を接続し、まだであれば MCP サーバーをインストールします。
  4. トリガー条件内のプレースホルダー値を置き換えます (たとえば、your-org/your-repo を実際の repo に置き換えます) 。
  5. プロンプトを確認し、チームの言い回し、慣例、ガードレールに合わせて調整します。
  6. Create automation をクリックします。
ほとんどの自動化テンプレートには、初期段階の展開でコストを抑えるための 推奨 ACU 上限と呼び出し回数上限 が含まれています。自動化の挙動に十分な確信が持てるまではそのままにしておき、その後、ワークロードに合わせて引き上げてください。

このテンプレートを利用する場面

  • 大規模なコードベース全体で、チーム固有のアーキテクチャ上の慣習を徹底したい場合
  • 非推奨となった社内 API から移行する場合
  • 既製の SAST ツールだけでは不十分な、先回りしたセキュリティ対策を行う場合
  • 暗黙知を、運用可能なパターンとして明文化する場合

カスタマイズのアイデア

  • Knowledge を使って、パターンをわかりやすい英語で説明する
  • 対象を特定のリポジトリ、ディレクトリ、またはファイルタイプに限定する
  • パターンごとに、自動修正するかチケットを起票するかを決める
  • 広範囲をカバーするには、SonarQube Quality Gate の対処法 と組み合わせる

関連項目