CODEOWNERS ジェネレータ
所有権ルールをクリーンで整列されたGitHub CODEOWNERSファイルに変換します。所有者のないパターン、既に無効な重複ルール、サポートされていない !否定、および無効な所有者トークンを検出します。また、GitHubのラストマッチ優先順序に従って、特定のパスに実際に適用されるルールを決定します。
入力
1行に1つのルール: <パターン> <所有者1> [所有者2 ...]。所有者は@username、@org/team、またはメールアドレスです。空にしてパスを所有者なしとマークします。#で始まる行はコメントです。後のルールは同じパスの前のルールを上書きします。
GitHubのラストマッチ優先順序に従い、このパスに実際に適用されるルールを表示します。
出力
| 行 | パターン | 問題 |
|---|---|---|
| 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_HEREIOTools 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/CODEOWNERS、CODEOWNERS、または docs/CODEOWNERS に存在し、必須レビュアーのブランチ保護ルールを制御することもできます。
このジェネレータの使い方
- 所有権ルールボックスにルールを貼り付けます。1行に1つ: パターン、その後に1つ以上の所有者 (
*.js @web-team,/docs/ @doc-team @jane-doe)。#で始まる行はコメントとして保持されます。 - ジェネレータはファイルを返し、所有者は読みやすい列に整列され、警告テーブルで見つかった問題がリストされます。
- 必要に応じてファイルパスをテストにパスを入力します。ツールはGitHubのラストマッチ優先順序に従い、そのパスに実際に適用されるルールを決定し、その所有者を表示します。
- 結果をコピーするか、
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 グロブパターンテスターを使用します。