Всі rules files виглядають однаково — markdown з інструкціями.
Але під капотом — три різні підходи.
—
1. System Prompt Dump
Весь файл → в контекст на старті сесії.
Хто так робить: GitHub Copilot, Cline
Плюс: просто і надійно
Мінус: великий файл = менше місця для коду
Якщо в тебе 500 рядків правил — вони з'їдають контекст кожної сесії. Навіть коли не потрібні.
—
2. Retrieval-based
AI сам вирішує, які правила підвантажити.
Хто так робить: Cursor (.mdc), Windsurf
Як працює:
- Є 20 файлів з правилами
- Кожен має globs (для яких файлів) і description (коли використовувати)
- AI дивиться на твій запит і підтягує тільки релевантні
Приклад .cursor/rules/react-query.mdc:
---
description: Data fetching standards
globs: **/*.tsx
---
- Use useSuspenseQuery, not useQuery
- Keys in src/queries/keys.tsПрацюєш з .tsx — правило активне.
Працюєш з .py — не засмічує контекст.
Плюс: можеш мати 100 rule files без проблем
Мінус: AI може "забути" підвантажити потрібне
—
3. Tool Use
Правила як виконувані команди.
Хто так робить: Claude Code
Різниця: AI не просто читає інструкції — він може їх запускати.
Приклад .claude/commands/test.md:
1. Run flutter test
2. If fails — show which tests
3. Suggest fixesПишеш /test — воно виконується.
Або AI сам вирішує запустити /test, коли бачить що ти змінив код.
Плюс: автоматизація workflows
Мінус: треба більше налаштування
—
Що вибрати
- Простий проєкт, один тул → System Prompt (Copilot, Cline)
- Великий проєкт, багато контексту → Retrieval (Cursor, Windsurf)
- Хочеш автоматизувати workflows → Tool Use (Claude Code)
—
Завтра — як писати rules, які реально працюють. Структура, anti-patterns, ліміт 500 рядків.
Stay tuned 🧠