メインコンテンツにスキップ

CODEOWNERS ジェネレータ

所有権ルールをクリーンで整列されたGitHub CODEOWNERSファイルに変換します。所有者のないパターン、既に無効な重複ルール、サポートされていない !否定、および無効な所有者トークンを検出します。また、GitHubのラストマッチ優先順序に従って、特定のパスに実際に適用されるルールを決定します。

入力

1行に1つのルール: <パターン> <所有者1> [所有者2 ...]。所有者は@username、@org/team、またはメールアドレスです。空にしてパスを所有者なしとマークします。#で始まる行はコメントです。後のルールは同じパスの前のルールを上書きします。

GitHubのラストマッチ優先順序に従い、このパスに実際に適用されるルールを表示します。

出力

生成されたCODEOWNERS
 
警告
パターン問題
No data yet
役に立ちましたか?

このツールを使う他の方法

REST API

curl -X POST https://api.iotools.cloud/v1/tool/codeowners-generator \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "rules": "# Default owners for everything\n*               …",
    "testPath": "docs/setup.md"
  }'

ご自身のアカウントのキーに差し替えてください。ツールのフィールドがそのままリクエストボディになります——ラッパーはありません。

AIエージェントに依頼する

Use the IOTools `codeowners-generator` tool (CODEOWNERS Generator) on this input:

YOUR_INPUT_HERE

IOTools MCPサーバーに接続された任意のエージェントにこれを貼り付け、入力内容を追加してください。

埋め込みウィジェット

<iframe
  src="https://iotools.cloud/embed/codeowners-generator/"
  width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
  title="CODEOWNERS ジェネレータ — iotools.cloud"
  sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
  allow="clipboard-write"
  style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>

ご自身のページに貼り付けるだけ——無料、キー不要、リンクを掲載するだけです。

API/MCP 1回あたりの費用5クレジットから

次の方法でも利用可能

ガイド

所有権ルールを貼り付けると、クリーンで整列されたGitHub CODEOWNERS ファイルが得られます。通常は見落とされるエラーをキャッチする警告リスト付き: 所有者のないパターン、既に無効な重複ルール、! 否定(.gitignoreではサポートされていますがCODEOWNERSではサポートされていません)、および有効な@username@org/team、またはメールアドレスではない所有者トークン。

CODEOWNERS ファイルとは?

CODEOWNERS ファイルは、GitHub(または GitLab/Bitbucket、同じ形式を使用)に対して、プルリクエストが特定のパスに触れたときに自動的にレビューをリクエストすべき人またはチームを指定します。リポジトリ内の .github/CODEOWNERSCODEOWNERS、または docs/CODEOWNERS に存在し、必須レビュアーのブランチ保護ルールを制御することもできます。

このジェネレータの使い方

  1. 所有権ルールボックスにルールを貼り付けます。1行に1つ: パターン、その後に1つ以上の所有者 (*.js @web-team, /docs/ @doc-team @jane-doe)。# で始まる行はコメントとして保持されます。
  2. ジェネレータはファイルを返し、所有者は読みやすい列に整列され、警告テーブルで見つかった問題がリストされます。
  3. 必要に応じてファイルパスをテストにパスを入力します。ツールはGitHubのラストマッチ優先順序に従い、そのパスに実際に適用されるルールを決定し、その所有者を表示します。
  4. 結果をコピーするか、CODEOWNERS としてダウンロードします。

順序が重要な理由

GitHubは重複するCODEOWNERSルールをマージしません。ファイル内の最後にマッチするパターンのみを適用します。ファイルの上部の広いルール(* @global-owner)は、通常、下部のより狭いルール(/docs/ @doc-team)で上書きされます。ファイル内で後で文字通り繰り返されたルールは、それ以前のすべてのコピーをデッドコードにします。どちらもファイルが数行を超えて増えるとうっかり導入されやすく、GitHub自体はエラーを返しません。ジェネレータの警告と「ファイルパスをテスト」検索はGitHubが黙って許可する内容を検出するために特別に存在します。

パターン構文

パターンは .gitignore と同じルールに従いますが、1つの重要な例外があります:

  • / のないパターン(*.js など)はリポジトリ内の任意の深さでマッチします。
  • / で始まるか含むパターン(/docs/ または apps/web/ など)はリポジトリルートに相対的にアンカーされます。
  • 末尾の //build/logs/ など)はそのディレクトリとその内部のすべてにマッチします。
  • * は1つのパスセグメント内でマッチします。** はセグメントを超えてマッチします。
  • .gitignore と異なり、CODEOWNERS は ! 否定パターンをサポートしていません 。ジェネレータは ! で始まるパターンにフラグを立てます。

所有者になれるのは誰?

GitHubユーザー名 (@octocat)、チーム (@my-org/reviewers)、またはGitHubアカウントにリンクされたメールアドレス。所有者のないパターンも有効な構文です。GitHubはこれを「ここではレビュアーは不要」と読みますが、これは上記の広いルールから例外を作成するのに役立ち、うっかり残すのも簡単なため、ジェネレータはいずれにせよ警告としてフラグを立てます。

これはプライベートですか?

はい。すべてはブラウザで実行されます。ルールとテストするファイルパスはサーバーに送信されることはありません。

生成されたビルド出力と依存関係をGitから除外するファイルについては、Gitignore ジェネレータを参照してください。単一のグロブパターンがCODEOWNERSに入れる前に期待するパスにマッチするかどうかを確認するには、Shell グロブパターンテスターを使用します。

githubpull requestcode reviewrequired reviewersrepositoryownershipbranch protectiongit

ツールが気に入りましたか?広告をなくしましょう。

1回のお支払いでアカウントから広告が完全になくなります。サブスクリプションも追跡もありません。