# devbox-image-definition

Правило для GitHub Copilot, которое помогает писать YAML-файлы описания образов для Microsoft Dev Box Team Customizations. Пригодится, если вы собираете кастомизации через задачи ~/winget, ~/gitclone и ~/powershell.

- правило · `type=rule` · GitHub Copilot · ★ 40418
- Автор: github · официальный репозиторий GitHub
- Лицензия: MIT · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/github/awesome-copilot/tree/HEAD/instructions/devbox-image-definition.instructions.md
- Обновлён: 2026-10-23
- HTML: https://affpapa.org/nevibecode/rules/devbox-image-definition

## Что делает

Правило задаёт агенту роль специалиста по файлам описания образов Dev Box. Он либо генерирует YAML, который оркеструет доступные задачи кастомизации, либо отвечает на вопросы про их использование. Срабатывает на файлы по маске `**/*.yaml`.

Перед генерацией агент обязан проверить, включены ли инструменты Dev Box, и запросить список доступных задач командой `devbox customizations list-tasks`. Использовать разрешено только те задачи, что реально есть в выводе — иначе YAML окажется невалидным. Если подходящей задачи нет, правило советует взять встроенную `~/powershell` или завести свою задачу кастомизации.

Отдельное требование — префикс `~/` у встроенных задач: `~/winget`, `~/powershell`, `~/gitclone`. Без него имя может совпасть с пользовательской задачей и увести сборку не туда. Для многострочных команд PowerShell правило советует литеральный скаляр `|`. Учтите: без включённых инструментов Dev Box агент сначала предложит их подключить.

## Требования
- Работает с: Azure

## Установка

### GitHub Copilot (родная платформа)

**Вручную: положить файлы**
- Файл: `.github/instructions/devbox-image-definition.instructions.md` — Поле applyTo задаёт, к каким файлам применять

### Claude Code

**Вручную: положить файлы**
- Файл: `.claude/rules/devbox-image-definition.md` — Поле paths во frontmatter ограничивает файлы: applyTo из источника → paths

### Codex

**AGENTS.md**
- Codex читает AGENTS.md: вставьте текст правила туда

### Cursor

**Вручную: положить файлы**
- Файл: `.cursor/rules/devbox-image-definition.mdc` — Во frontmatter: description, globs, alwaysApply. applyTo из источника → globs, иначе правило само не подключится

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/rules/devbox-image-definition.md`

### Cline

**Вручную: положить файлы**
- Файл: `.clinerules/devbox-image-definition.md`

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/github/awesome-copilot/tree/HEAD/instructions/devbox-image-definition.instructions.md

## Когда брать
- сгенерировать YAML-файл описания образа для Dev Box
- проверить, какие задачи кастомизации доступны в окружении
- поставить пакеты через задачу `~/winget`
- клонировать репозиторий в образ через `~/gitclone`
- записать многострочный скрипт PowerShell в кастомизацию

## Примеры запросов агенту
- Сгенерируй файл описания образа Dev Box: поставь git и VS Code через `~/winget`
- Проверь мой YAML кастомизации и убедись, что у встроенных задач стоит префикс `~/`
- Какие задачи кастомизации доступны? Запусти `devbox customizations list-tasks`

Из того же набора: [github/awesome-copilot](https://affpapa.org/nevibecode/by/github/awesome-copilot.md) — 732 карточки

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
