2026-04-20 06:40:34 +03:00
# Правила написания документации
2026-03-30 09:10:21 +03:00
2026-04-20 06:40:34 +03:00
Как писать и редактировать разделы стайлгайда.
2026-03-30 09:10:21 +03:00
2026-04-20 06:40:34 +03:00
## Типы разделов
2026-03-30 09:10:21 +03:00
2026-04-20 06:40:34 +03:00
### Базовые правила (`basics/`)
2026-03-30 09:10:21 +03:00
2026-04-20 06:40:34 +03:00
**Отвечает на вопрос:** «Каким должен быть любой код?»
2026-03-30 09:10:21 +03:00
2026-04-20 06:40:34 +03:00
Универсальные стандарты, не привязанные к конкретной области.
Правило базовое, если оно применимо ко всему коду одинаково.
2026-03-30 09:10:21 +03:00
2026-04-20 06:40:34 +03:00
**Граница:** если правило касается только одной области — оно прикладное.
2026-03-30 09:10:21 +03:00
2026-04-20 06:40:34 +03:00
### Прикладные разделы (`applied/`)
2026-03-30 09:10:21 +03:00
2026-04-20 06:40:34 +03:00
**Отвечает на вопрос:** «Как работать с X?»
Полное описание конкретной области: структура файлов, правила, именование, типизация, примеры.
2026-03-30 09:10:21 +03:00
2026-04-20 06:40:34 +03:00
**Граница:** не дублирует базовые правила. Если правило уже описано в базовых — ссылается, но не повторяет.
2026-03-30 09:10:21 +03:00
2026-04-20 06:40:34 +03:00
### Триггеры (`triggers/`)
2026-03-30 09:10:21 +03:00
2026-04-20 06:40:34 +03:00
**Отвечает на вопрос:** «Как выполнить задачу X?»
2026-03-30 09:10:21 +03:00
2026-04-20 06:40:34 +03:00
Конкретная инструкция: какие разделы прочитать, какие шаги выполнить. Триггер ссылается на basics/ и applied/, но не дублирует их. Группируются по роли: `triggers/develop/` , `triggers/review/` , `triggers/architect/` .
2026-03-30 09:10:21 +03:00
2026-04-20 06:40:34 +03:00
Структура триггера:
2026-03-30 09:10:21 +03:00
2026-04-20 06:40:34 +03:00
- **Заголовок** — глагол + объект ("Создать компонент", "Добавить иконку")
- **Описание** — одно предложение: что делает триггер
- **Прочитай перед началом** — ссылки на basics/ и applied/
- **Шаги** — нумерованный список действий с о ссылками
- **Смежные триггеры** — ссылки на связанные задачи
- **Проверь себя** — чеклист из 2-5 пунктов для самопроверки
2026-03-30 09:10:21 +03:00
2026-04-20 06:40:34 +03:00
### Фреймворк-специфичные (`{framework}/`)
2026-03-30 09:10:21 +03:00
2026-04-20 06:40:34 +03:00
Разделы и триггеры, которые применимы только к конкретному фреймворку. Т е же категории — `applied/` и `triggers/` .
2026-03-30 09:10:21 +03:00
2026-04-20 06:40:34 +03:00
**Граница:** если правило одинаково для всех фреймворков — оно в `base/` .
2026-03-30 09:10:21 +03:00
2026-04-20 06:40:34 +03:00
## Frontmatter
2026-03-30 09:10:21 +03:00
2026-04-20 06:40:34 +03:00
Каждый `.md` -файл начинается с YAML frontmatter:
2026-03-30 09:10:21 +03:00
2026-04-20 06:40:34 +03:00
```yaml
---
title: Название раздела
scope: basics | applied | triggers
keywords: [ключевое слово 1, ключевое слово 2]
when: "Когда агенту читать этот раздел"
---
```
| Поле | Описание |
|------|----------|
| `title` | Название раздела. Совпадает с `h1` в файле |
| `scope` | Тип: `basics` , `applied` или `triggers` |
| `keywords` | Ключевые слова для поиска агентом |
| `when` | Описание ситуации, когда раздел релевантен |
2026-03-30 09:10:21 +03:00
## Структура прикладного раздела
2026-04-20 06:40:34 +03:00
Раздел включает только релевантные секции — пустые не создаются.
2026-03-30 09:10:21 +03:00
```markdown
# {Название}
2026-04-20 06:40:34 +03:00
Краткое описание: о чём раздел.
2026-03-30 09:10:21 +03:00
## Что нужно знать
2026-04-20 06:40:34 +03:00
Неочевидная вводная информация (если есть).
2026-03-30 09:10:21 +03:00
## Структура
2026-04-20 06:40:34 +03:00
Файловая организация. Обязательно — дерево файлов.
2026-03-30 09:10:21 +03:00
## Правила
2026-04-01 10:35:07 +03:00
### Реализация
2026-04-20 06:40:34 +03:00
Как писать код: синтаксис, паттерны, API.
2026-04-01 10:35:07 +03:00
### Организация
2026-04-20 06:40:34 +03:00
Где что лежит: файловые границы, зоны ответственности, экспорт.
2026-03-30 09:10:21 +03:00
## Именование
2026-04-20 06:40:34 +03:00
Специфичные для области соглашения (не покрытые в basics/naming).
2026-03-30 09:10:21 +03:00
## Типизация
2026-04-20 06:40:34 +03:00
Специфичные для области правила (не покрытые в basics/typing).
2026-03-30 09:10:21 +03:00
## Документирование
2026-04-20 06:40:34 +03:00
Специфичные для области правила (не покрытые в basics/documentation).
2026-03-30 09:10:21 +03:00
## Примеры
2026-04-20 06:40:34 +03:00
Полноценные примеры кода с путями к файлам.
2026-03-30 09:10:21 +03:00
```
2026-04-20 06:40:34 +03:00
Порядок фиксированный: контекст -> структура -> правила -> специализации базовых -> примеры.
2026-03-30 09:10:21 +03:00
## Конвенции оформления
### Заголовки
- Один `h1` на файл — совпадает с `title` из frontmatter.
2026-04-20 06:40:34 +03:00
- Сразу после `h1` — вводный абзац.
- Основные секции — `h2` . Подсекции — `h3` . `h4` не используется.
2026-03-30 09:10:21 +03:00
### Примеры кода
- Блоки кода с указанием языка: ` ` ``tsx ` , ` ` ``css ` , ` ` ``bash ` , ` ` ``text ` .
2026-04-20 06:40:34 +03:00
- Путь к файлу — перед блоком кода или комментарием внутри.
2026-03-30 09:10:21 +03:00
- Дерево файлов — ` ` ``text ` с символами `├──` , `└──` , `│` .
### Блоки «Хорошо / Плохо»
```markdown
**Хорошо:**
\`\`\`tsx
// правильный код
\`\`\`
**Плохо:**
\`\`\`tsx
// неправильный код
\`\`\`
```
### Таблицы
Формат — стандартный Markdown: `| Ключ | Описание |` .
### Ссылки между разделами
2026-04-20 06:40:34 +03:00
Ссылаться можно, дублировать содержимое — нет.
2026-03-30 09:10:21 +03:00
## Принципы
2026-04-20 06:40:34 +03:00
1. **Н е дублировать.** Одна мысль — одно место. Остальные ссылаются.
2. **Базовое vs прикладное.** Применимо ко всему коду — базовое. К одной области — прикладное.
3. **Общее vs специфичное.** Одинаково для всех фреймворков — в `base/` . Для одного — в `{framework}/` .
4. **Пустые секции не создавать.**
5. **Примеры обязательны.** Прикладной раздел без примеров — незавершён.