Laravel Boost отримав нову функцію project rules (правила проєкту) - набір Markdown-файлів, що зберігають конвенції вашого застосунку та застосовуються до конкретних директорій. AI-агент читає файл правил лише тоді, коли працює з відповідним шляхом, і ігнорує його в іншому випадку.
Функцію додав Pushpak Chhajed у pull request #852. Спочатку вона була доступна за прапорцем у Boost v2.4.12, а з версії v2.5.0 (випущена 4 серпня) увімкнена за замовчуванням. Christoph Rumpel з команди Laravel також записав коротке відео Keep Your AI Instructions Clean With Boost Rules, де детально розглядає цю можливість.
Для чого потрібні правила проєкту
Базові guidelines та skills у Boost вже навчають агентів писати Laravel-код. Правила ж призначені для речей, які знає лише ваша команда: рішення, прийняте півроку тому, перевага, яку агент постійно ігнорує, або пастка, не видима в оточуючому коді. Документація визначає правило як будь-що, що вам довелося б пояснювати знову в кожній новій сесії.
Як виглядає правило
Правила зберігаються в директорії .ai/rules. Кожен файл - це Markdown із frontmatter-ключем paths:, що містить список глобів (масок шляхів), які він охоплює:
---
paths:
- app/Jobs/
---
**Jobs**
**Reporting jobs run on the reports connection**
Any job that reads from the reporting tables must set `$connection = 'reports'`.
The default connection shares its workers with checkout, so one slow report will
hold up every order behind it in the queue.
Boost підтримує файл .ai/rules/index.md поруч з іншими правилами, який зіставляє глоби з відповідними файлами правил. Агентам надається інструкція перевіряти індекс перед плануванням або редагуванням, що гарантує завантаження правила лише тоді, коли його шляхи стають актуальними:
**Project Rules Index**
Before planning or editing, find the row whose globs match the file's path and read that rule file.
| Applies to | Rule file |
| --- | --- |
| app/Jobs/** | .ai/rules/jobs.md |
| database/migrations/** | .ai/rules/migrations.md |
Директорію .ai/rules слід комітити в репозиторій. Це ключова відмінність правил від власної пам'яті агента, яка залишається на одній машині з одним розробником. Правила потрапляють у репозиторій, проходять ревʼю в pull request'ах і застосовуються до кожного агента, якого хтось із команди спрямовує на кодову базу.
Як записувати правила
Ви не повинні писати ці файли вручну. Попросіть агента щось запамʼятати, і він викличе MCP-інструмент record-rule у Boost із глобом, заголовком та нотаткою:
Remember that we never call Stripe from a controller. Billing always goes
through App\Billing\Gateway so the retries and logging stay in one place.
Boost визначає, до якого файлу області належить нотатка, створює його, якщо він ще не існує, та перебудовує індекс. Перебудова індексу - причина, чому документація радить використовувати інструмент. Агенти виявляють правила через index.md, тому будь-який файл, доданий вручну до .ai/rules, залишиться непрочитаним, доки щось не регенерує індекс.
Налаштування для існуючого застосунку
Записувати правила по ходу справи підходить для нових рішень, але застосунок, над яким ви працюєте роками, уже прийняв більшість із них. Boost v2.5.0 додав навичку infer-conventions саме для цього. Попросіть агента використати цю навичку, і він пропрацює чекліст вашої валідації, контролерів, авторизації, моделей, архітектури, тестування, фронтенду, бази даних та консольного коду, а потім зробить відкритий прохід для пошуку базових класів, спільних трейтів та компонування модулів.
Що агент запише - це те, що робить ваш код, а не те, що він повинен робити. Стандартні налаштування фреймворку пропускаються, як і все, що вже обробляють Pint або Rector. Шаблон, який виявиться справді змішаним, буде повідомлено вам замість того, щоб записати його як конвенцію. Кожна знахідка повертається з доказами для вашого схвалення, перш ніж стати правилом.
Чому правила потрібно обмежувати областю дії
Кожен, хто тримав CLAUDE.md або AGENTS.md протягом певного часу, знає, як це відбувається. Все починається з кількох пунктів про найменування та тестування, а через півроку це вже пʼять сторінок, більшість з яких не має нічого спільного з тим, над чим ви працюєте сьогодні. Все це завантажується на початку кожної сесії.
Розділення цього файлу за директоріями означає, що агент перевіряє індекс, знаходить рядки, що відповідають файлу, який він збирається редагувати, і читає саме їх. Це та сама ідея, що стоїть за skills, але спрямована на ваш код замість коду фреймворку.
Як увімкнути
Якщо Boost вже встановлено, запустіть php artisan boost:update після оновлення. Інструкції, які відправляють агентів до .ai/rules/index.md, знаходяться у власних guidelines Boost, тому ваш CLAUDE.md або AGENTS.md потребує регенерації, щоб агент знав, куди дивитися. Та сама команда встановлює навичку infer-conventions:
php artisan boost:update
Правила ввімкнені з цього моменту. Налаштування BOOST_RULES_ENABLED=false вимикає їх, що видаляє інструмент record-rule і зупиняє Boost від взаємодії з .ai/rules.
Документація project rules охоплює решту деталей, а вихідний код доступний у репозиторії Laravel Boost.