Перейти к основному содержанию

Генератор CODEOWNERS

Преобразуйте правила ответственности в чистый, выровненный файл GitHub CODEOWNERS. Выявляет шаблоны без владельца, устаревшие дубликаты правил, неподдерживаемое отрицание ! и неверные токены владельцев — а также определяет, какое правило действует для конкретного пути согласно порядку last-match-wins GitHub.

Ввод

Одно правило в строке: <шаблон> <владелец1> [владелец2 ...]. Владельцы — это @username, @org/team или email — оставьте пусто, чтобы отметить путь без владельца. Строки, начинающиеся с #, — это комментарии. Более поздние правила переопределяют более ранние для одного пути.

Узнайте, какое правило действует для этого пути согласно порядку last-match-wins 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"
  }'

Подставьте свой собственный ключ из аккаунта. Поля инструмента — это тело запроса, без обёртки.

Спросите у ИИ-агента

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

YOUR_INPUT_HERE

Вставьте это любому агенту, подключённому к MCP-серверу IOTools, и добавьте свой ввод.

Виджет для встраивания

<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От 5 кредитов

Также доступно через

Руководства

Вставьте правила ответственности и получите чистый, выровненный файл GitHub CODEOWNERS — плюс список предупреждений, выявляющий ошибки, которые обычно остаются незамеченными: шаблон без владельца, устаревшее дублированное правило, отрицание ! (поддерживается в .gitignore, но не в CODEOWNERS) и токены владельцев, которые не являются корректным @username, @org/team или email.

Что такое файл CODEOWNERS?

Файл CODEOWNERS указывает GitHub (или GitLab/Bitbucket, использующим тот же формат), каких людей или команды автоматически запрашивать на рецензию, когда pull request касается определённых путей. Он находится в .github/CODEOWNERS, CODEOWNERS или docs/CODEOWNERS в репозитории и может также управлять правилами защиты ветви для обязательных рецензентов.

Как использовать этот генератор

  1. Вставьте ваши правила в поле Правила ответственности, по одному в строке: шаблон пути, за которым следует один или несколько владельцев (*.js @web-team, /docs/ @doc-team @jane-doe). Строки, начинающиеся с #, сохраняются как комментарии.
  2. Генератор возвращает файл с выровненными владельцами в читаемый столбец и перечисляет все найденные проблемы в таблице Предупреждения.
  3. Опционально введите путь в Проверить путь файла — инструмент определяет, какое правило действует для этого пути согласно реальному порядку last-match-wins GitHub, и показывает его владельцев.
  4. Скопируйте результат или загрузите как CODEOWNERS.

Почему порядок важен

GitHub не объединяет перекрывающиеся правила CODEOWNERS — он применяет только последний совпадающий шаблон в файле, точка. Широкое правило в начале файла (* @global-owner) обычно переопределяется более узким дальше (/docs/ @doc-team), а правило, повторённое позже в файле, делает каждую более раннюю копию мёртвым кодом. Обе ошибки легко допустить случайно, когда файл растёт дальше нескольких строк, и ни одна не производит ошибку самого GitHub — предупреждения генератора и поиск "проверить путь файла" существуют специально, чтобы уловить то, что GitHub молчаливо позволяет.

Синтаксис шаблона

Шаблоны следуют тем же правилам, что и .gitignore, с одним важным исключением:

  • Шаблон без / (как *.js) совпадает на любой глубине репозитория.
  • Шаблон, начинающийся или содержащий / (как /docs/ или apps/web/), привязан к корню репозитория.
  • Завершающий / (как /build/logs/) совпадает с этой директорией и всем в ней.
  • * совпадает в одном сегменте пути; ** пересекает сегменты.
  • В отличие от .gitignore, CODEOWNERS не поддерживает шаблоны отрицания ! — генератор отмечает любой шаблон, начинающийся с !.

Кто может быть владельцем?

Имя пользователя GitHub (@octocat), команда (@my-org/reviewers) или адрес электронной почты, связанный с учётной записью GitHub. Шаблон без владельцев вообще также является корректным синтаксисом — GitHub читает его как "здесь рецензенты не требуются", что полезно для исключения из более широкого правила выше, но легко оставить по ошибке, поэтому генератор отмечает его как предупреждение в любом случае.

Это приватно?

Да — всё работает в вашем браузере. Ваши правила и любой проверяемый путь файла никогда не отправляются на сервер.

Для файла, который исключает сгенерированный вывод сборки и зависимости из Git, см. Генератор Gitignore. Чтобы проверить, совпадает ли один glob-шаблон с ожидаемыми путями перед добавлением в CODEOWNERS, используйте Тестер Shell Glob Pattern.

githubpull requestcode reviewrequired reviewersrepositoryownershipbranch protectiongit

Нравятся инструменты? Уберите рекламу.

Один платёж навсегда убирает всю рекламу с вашего аккаунта. Без подписки, без слежки.