# ansible

Задаёт стандарты написания плейбуков Ansible: правила именования задач, формат коллекций FQCN, разделение секретов в Ansible Vault и проверки через ansible-lint.

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

## Что делает

Правило предписывает ИИ писать плейбуки и роли по строгим соглашениям. Каждое имя задачи должно начинаться с глагола действия с заглавной буквы, без точки на конце. Для модулей обязательно указание полных имён коллекций (FQCN), таких как `ansible.builtin`. Модули `shell` и `command` запрещены к вызову без параметров `creates` или `removes`, иначе ломается идемпотентность.

Для секретов в Ansible Vault правило требует создавать в каталоге `group_vars/<group>` два файла: `vars` со ссылками Jinja2 и зашифрованный `vault` с префиксом `vault_`. Повышение привилегий через `become: true` допускается только на уровне конкретных задач, если суперпользователь не нужен для всех шагов плейбука.

Форматирование фиксирует отступы в 2 пробела, многострочные словари и одинарные кавычки для строк. Для проверки синтаксиса используются `ansible-lint` и `yamllint`, а также запуск `ansible-playbook --syntax-check`.

## Установка

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

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

### Claude Code

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

### Codex

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

### Cursor

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

### Windsurf (Devin Desktop)

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

### Cline

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

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

## Когда брать
- структурировать секреты через разделение файлов `vars` и зашифрованного `vault`
- перевести модули задач на полные имена коллекций FQCN вроде `ansible.builtin`
- выстроить единообразный порядок секций и параметров внутри задач
- убрать неидемпотентные вызовы `shell` и `command`

## Примеры запросов агенту
- Напиши таску для создания пользователя с явным указанием `state: present` и правами через `become: true`.
- Раздели переменные базы данных на открытый `vars` и зашифрованный `vault` для группы серверов.
- Проверь синтаксис плейбука `site.yml` через `ansible-lint` и найди неидемпотентные команды.

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

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

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