mcpField
M
mergify-config

mergify-config

github.com/mergifyio開発3273 回インストール1 日前に更新
リポジトリ

mergify-config について

mergify-configは、Mergifyのルールを管理する開発者向けのCLIスキルです。公式JSON Schemaによる設定検証と、ローカル設定を使ったプルリクエスト上の動作シミュレーションを行います。

主な機能

  1. 01JSON Schemaによる設定検証
  2. 02プルリクエスト上の動作をシミュレート
  3. 03標準の場所から設定ファイルを検出
  4. 04--config-fileでファイルを指定

活用シーン

  1. 01CIで設定をチェック
  2. 02コミット前にルール変更をテスト
  3. 03GitHubのプルリクエストで想定動作を確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/mergifyio/mergify-cli --skill mergify-config

インストール後、Claude Code で/mergify-configを入力して読み込まれたか確認します。

詳細

Mergify 設定管理

概要

mergify config コマンドグループは、Mergify 設定ファイルを公式スキーマに対して検証するためのツールと、ローカル設定ファイルを使用して特定のプルリクエストに対して Mergify が何を行うかをシミュレートするためのツールを提供します。

コマンド

mergify config validate                              # Validate the configuration file
mergify config simulate PULL_REQUEST_URL             # Simulate actions on a PR

設定ファイルの検出

Mergify CLI は標準的な場所から設定ファイルを自動検出します。順序は次のとおりで、最初に存在したものが優先されます。

  • .mergify.yml、次に .mergify.yaml
  • .mergify/config.yml、次に .mergify/config.yaml
  • .github/mergify.yml、次に .github/mergify.yaml

各場所で両方の拡張子が読み取られ、1 つの場所に両方が存在する場合は .yml が優先されます。複数の設定ファイルを持つリポジトリでは、使用中のファイルと無視されたファイルの名前が stderr に警告として出力されます。エンジンも同じ順序を適用するため、CLI は本番環境が読み取るものをそのまま読み取ります。

--config-file / -f で上書きできます:

mergify config -f path/to/config.yml validate

設定の検証 (validate)

https://docs.mergify.com/mergify-configuration-schema.json から取得した公式 JSON スキーマに対して Mergify 設定ファイルを検証します。

# Validate auto-detected config file
mergify config validate

# Validate a specific file
mergify config -f .mergify.yml validate

出力:

  • 有効な場合: 成功メッセージを出力し、コード 0 で終了します
  • 無効な場合: エラーの数と各エラーのパスおよびメッセージを出力し、コード 1 で終了します

CI での使用:

- name: Validate Mergify config
  run: mergify config validate

アクションのシミュレート (simulate)

ローカル設定ファイルを使用して、特定のプルリクエストに対して Mergify が何を行うかをシミュレートします。これにより、設定変更をコミットする前にテストできます。

mergify config simulate https://github.com/owner/repo/pull/123

必須引数:

  • PULL_REQUEST_URL -- シミュレート対象のプルリクエストの完全な GitHub URL

オプション:

  • --token / -t (env: MERGIFY_TOKEN) -- Mergify の資格情報。mergify auth login が保存した資格情報にフォールバックし、次に GITHUB_TOKEN / gh auth token にフォールバックしますが、後者は Mergify API では非推奨です。
  • --api-url / -u (env: MERGIFY_API_URL) -- Mergify API URL (デフォルト: https://api.mergify.com)

出力: ローカル設定で Mergify がその PR に対して実行するアクションのタイトルと詳細な Markdown サマリーを表示します。

設定の作成と編集

ユーザーが Mergify 設定ファイルの作成、編集、または理解を支援する際は、必ず最初に関連するドキュメントページを取得してください。記憶している知識に頼らないでください。設定形式、利用可能なアクション、条件の構文は時間とともに進化します。

ドキュメントインデックス

https://docs.mergify.com/llms.txt を取得すると、利用可能なすべてのページとその説明を含む完全なドキュメントインデックスが得られます。

主要なリファレンスページ

設定を書く前に、ユーザーのリクエストに関連するページを取得してください。

トピックURL
ファイル形式と構造https://docs.mergify.com/configuration/file-format
条件の構文と属性https://docs.mergify.com/configuration/conditions
データ型(duration、テンプレート)https://docs.mergify.com/configuration/data-types
設定の共有と再利用https://docs.mergify.com/configuration/sharing
ワークフロー自動化の概要https://docs.mergify.com/workflow
利用可能なすべてのアクションhttps://docs.mergify.com/workflow/actions
最初のルールを書くhttps://docs.mergify.com/workflow/writing-your-first-rule
マージキューのルールhttps://docs.mergify.com/merge-queue/rules
マージキューのセットアップhttps://docs.mergify.com/merge-queue/setup
キューの優先度ルールhttps://docs.mergify.com/merge-queue/priority
マージ保護https://docs.mergify.com/merge-protections/setup
カスタム保護ルールhttps://docs.mergify.com/merge-protections/custom-rules
マージ保護の例https://docs.mergify.com/merge-protections/examples
コマンドと制限https://docs.mergify.com/commands
JSON Schemahttps://docs.mergify.com/mergify-configuration-schema.json

個々のアクション(assign、backport、close、comment、copy、dismiss_reviews、 edit、github_actions、label、merge、queue、rebase、request_reviews、review、 squash、update)については、 https://docs.mergify.com/workflow/actions/<action_name> で特定のアクションページを取得してください。

ワークフロー
  1. ユーザーの既存の設定を読む(存在する場合)。現在の状態を把握します
  2. 関連するドキュメントページを取得する。ユーザーが必要とする機能について調べます
  3. 設定を書く、または更新する。ドキュメントに基づいて行います
  4. 検証する: mergify config validate を実行してエラーをチェックします
  5. シミュレートする(任意): 実際の PR に対して mergify config simulate <PR_URL> を実行し、 ルールが期待どおりに動作することを確認します

一般的なパターン

プッシュ前に設定の変更をテストする
# Edit your .mergify.yml locally, then:
mergify config validate
mergify config simulate https://github.com/myorg/myrepo/pull/42
# If both look good, commit and push
CI 検証ゲート
jobs:
  validate-mergify:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Install mergify-cli
        run: pip install mergify-cli
      - name: Validate Mergify config
        run: mergify config validate

コメント