# 04 — Rules

← [Главная](../README.md)

## Цель

Понять **rules (правила)** в Cursor: зачем они нужны, чем отличаются от промптов, как ECC поставляет готовые rules и как писать свои.

## Предварительно

- [03 — Промпты](../03-prompts/README.md)
- Доступ к `.cursor/rules/` в учебном репо

## Время

**8–12 часов** на весь раздел

---

## Оглавление раздела

| Страница | Тема |
|----------|------|
| [Что такое rules](chto-takoe-rules.md) | Формат `.mdc`, alwaysApply, globs |
| [User vs project rules](user-vs-project-rules.md) | Где хранить, приоритеты |
| [Примеры rules](primery-rules.md) | Готовые образцы под типовые политики |

---

## Rules vs промпты vs skills

| Механизм | Когда срабатывает | Содержание |
|----------|-------------------|------------|
| **Промпт** | Одно сообщение | Задача «сейчас» |
| **Rule** | Каждая сессия / файлы по glob | Политики, стиль, запреты |
| **Skill** | Когда задача подходит под description | Пошаговый workflow |

Правило: если вы написали одно и то же **трижды** в разных чатах — это кандидат в rule.

---

## Где живут rules в Cursor

```
# Проект (в репозитории)
.cursor/rules/*.mdc

# Пользователь (глобально)
~/.cursor/rules/*.mdc
```

ECC при установке копирует набор в `.cursor/rules/` — например `common-coding-style.mdc`, `common-security.mdc`, `common-git-workflow.mdc`.

---

## Минимальный пример

```yaml
---
description: "Краткое описание для агента"
alwaysApply: true
---
# Заголовок правила

- Пункт 1
- Пункт 2
```

Подробности frontmatter — на [chto-takoe-rules](chto-takoe-rules.md).

---

## Практика раздела

1. Прочитайте существующие rules в ECC или учебном проекте.
2. Добавьте **одно** user rule (личная привычка).
3. Добавьте **одно** project rule (для команды / репо).
4. Проверьте: агент следует правилу в новой сессии без напоминания в промпте.

---

## Связь с безопасностью

Политики секретов, валидации ввода, SQL — естественные кандидаты в rules. ECC `common-security.mdc` — хорошая отправная точка.

---

## Самопроверка

1. Чем rule отличается от skill?
2. Где лежат project rules?
3. Когда `alwaysApply: true` уместен?
4. Какое правило вы добавите первым в свой проект?

## Дальше

→ [Что такое rules](chto-takoe-rules.md)
