ai Rules And Custom Instructions.ua
# 1.2 AI Rules / Custom Instructions
**🌐 Мова:** [English](./1.2-ai-rules-and-custom-instructions.md) · **Українська**
**Блок:** Foundations
**Практичний проєкт:** [`phaser-memory-cards-MFE`](https://github.com/smnvsergii/phaser-memory-cards-MFE) — гра «знайди пару» на Phaser 3 + Vite + TypeScript, яка також працює як мікрофронтенд.
> Мета цієї нотатки: замість того щоб повторювати конвенції проєкту в кожному промпті (блок 1.1), я кодую їх **один раз** у файл правил, який агент читає автоматично. Нижче — реальний файл, який я додав у гру, і обґрунтування кожної секції.
---
## Яку проблему це вирішує
У [1.1](./1.1-prompt-and-context-engineering.ua.md) я навчився передавати контекст у кожному промпті. Але *той самий* контекст — «це canvas, а не DOM-застосунок», «відступ 4 пробіли», «конфіг лежить у `config.ts`» — був потрібен майже в кожному промпті. Повторювати його марнотратно й легко забути, а забуте обмеження означає неправильну відповідь.
**Файли AI-правил** виносять ці стабільні обмеження з промпта в репозиторій, де агент завантажує їх автоматично на кожен запит.
## Що я додав у `memory-cards`
Один файл [`AGENTS.md`](https://github.com/smnvsergii/phaser-memory-cards-MFE/blob/main/AGENTS.md) у корені репозиторію.
### Чому `AGENTS.md`, а не `.cursorrules`
Форматів кілька: `.cursorrules` (Cursor), `.github/copilot-instructions.md` (Copilot), `CLAUDE.md` (Claude Code) і tool-agnostic `AGENTS.md`. Я обрав **один канонічний `AGENTS.md`** із двох причин:
1. **Уникнути рассинхрону.** Кілька файлів правил неминуче розходяться. Одне джерело істини — у цьому й сенс.
2. **Портативність.** `AGENTS.md` — відкрита конвенція, яка набирає обертів і яку читає більшість агентів; якщо конкретному інструменту потрібне власне ім'я файлу, я зробив би його тонким покажчиком на `AGENTS.md`, а не дублював вміст.
> 💡 Висновок: стався до AI-правил як до будь-якого спільного конфігу — одне джерело істини, без копій, що можуть розійтися.
## Як AI-інструменти насправді його знаходять
Справедливе питання: *якщо файл один, як його бачить кожен інструмент?* У 2024–2025 кожен інструмент мав власне ім'я файлу (`.cursorrules`, `.github/copilot-instructions.md`, `CLAUDE.md`, …). До 2026 індустрія зійшлася на **`AGENTS.md` у корені репозиторію** як відкритому стандарті (під опікою Linux Foundation / Agentic AI Foundation). Більшість агентів — Cursor, GitHub Copilot, Codex, Gemini CLI, Windsurf, Aider, Zed і 20+ інших — тепер читають його **нативно** на старті сесії.
Кілька інструментів усе ще очікують власне ім'я файлу. Для них я додаю **тонкий шим** — файл з одного рядка, що вказує назад на `AGENTS.md`, а не копію:
| Інструмент | Файл у репо | Роль |
| ---------- | ----------- | ---- |
| Більшість агентів | `AGENTS.md` | Джерело істини |
| Claude Code | `CLAUDE.md` | Шим → імпорт `@AGENTS.md` |
| Kiro | `.kiro/steering/project-rules.md` | Шим → включає `AGENTS.md` |
Приклад шима (`CLAUDE.md`):when to use it
Community prompt sourced from the open-source GitHub repo smnvsergii/ai-driven-frontend (MIT). A "ai Rules And Custom Instructions.ua" style prompt — adapt the placeholders and specifics to your task. Imported as-is and not independently retested here, so check the output before relying on it.
tags
codingcommunitydeveloper
source
smnvsergii/ai-driven-frontend · MIT
more in Coding
Coding✓ tested
Senior code review (strict mode)
senior staff engineer running a merciless but fair review
Coding✓ tested
Debug by hypothesis, not by guessing
debugging partner who forms theories before touching code
Coding✓ tested
Generate tests from described behavior
test engineer who writes tests that would actually catch regressions