87 lines
5.1 KiB
Markdown
87 lines
5.1 KiB
Markdown
---
|
||
name: AutoUpdateDocs
|
||
description: Автоматическое обновление документации проекта после изменений в коде
|
||
---
|
||
|
||
# Скилл: Автоматическое обновление документации
|
||
|
||
## Когда активировать
|
||
|
||
Этот скилл **ДОЛЖЕН** выполняться автоматически после любых изменений, затрагивающих:
|
||
|
||
- **Контроллеры** (`backend/src/main/java/com/magistr/app/controller/`) → обновить `docs/API.md`
|
||
- **Модели или миграции** (`model/`, `db/migration/`) → обновить `docs/DATABASE.md`
|
||
- **Конфигурация тенантов** (`config/tenant/`) → обновить `docs/ARCHITECTURE.md`
|
||
- **Бизнес-правила или валидаторы** (`utils/`) → обновить `docs/BUSINESS_LOGIC.md`
|
||
- **Frontend** (`frontend/`) → обновить `docs/FRONTEND.md`
|
||
- **Docker/Kubernetes** (`compose.yaml`, `Dockerfile`, `../k8s/`) → обновить `docs/INFRASTRUCTURE.md`
|
||
- **Code style или структура пакетов** → обновить `docs/DEVELOPMENT.md`
|
||
- **Общая структура проекта** → обновить `docs/README.md`
|
||
|
||
## Карта соответствия «файл → документация»
|
||
|
||
| Изменённый файл/директория | Файл документации |
|
||
|----------------------------|-------------------|
|
||
| `controller/*Controller.java` | `docs/API.md` |
|
||
| `db/migration/V*__.sql` | `docs/DATABASE.md` |
|
||
| `model/*.java` | `docs/DATABASE.md` |
|
||
| `dto/*.java` | `docs/API.md` |
|
||
| `config/tenant/*.java` | `docs/ARCHITECTURE.md` |
|
||
| `utils/*.java` | `docs/BUSINESS_LOGIC.md` |
|
||
| `frontend/admin/js/views/*.js` | `docs/FRONTEND.md` |
|
||
| `frontend/admin/css/*.css` | `docs/FRONTEND.md` |
|
||
| `frontend/admin/settings/**` | `docs/FRONTEND.md` |
|
||
| `compose.yaml`, `Dockerfile` | `docs/INFRASTRUCTURE.md` |
|
||
| `application.properties` | `docs/ARCHITECTURE.md` |
|
||
|
||
## Пошаговая инструкция
|
||
|
||
### 1. Определить затронутые файлы документации
|
||
|
||
После выполнения задачи пользователя — проверить по таблице выше, какие файлы документации нужно обновить.
|
||
|
||
### 2. Прочитать текущую документацию
|
||
|
||
Открыть соответствующий файл из `docs/` и найти секцию, которую нужно обновить.
|
||
|
||
### 3. Внести точечные изменения
|
||
|
||
Обновить **только затронутые секции**, не переписывая весь файл. Примеры:
|
||
|
||
#### Новый контроллер → `docs/API.md`
|
||
Добавить новую секцию с описанием эндпоинтов:
|
||
- Метод + URL
|
||
- Тело запроса (JSON пример)
|
||
- Ответ (JSON пример)
|
||
- Валидация
|
||
|
||
#### Новая миграция → `docs/DATABASE.md`
|
||
- Добавить новую таблицу в ER-диаграмму (Mermaid)
|
||
- Добавить описание таблицы и колонок
|
||
- Добавить запись в таблицу «Текущие миграции»
|
||
|
||
#### Новый view → `docs/FRONTEND.md`
|
||
- Добавить в дерево файлов
|
||
- Добавить в таблицу «Разделы админ-панели»
|
||
|
||
### 4. Обновить AGENTS.md (при необходимости)
|
||
|
||
Если изменения затрагивают:
|
||
- Структуру директорий → обновить дерево в `AGENTS.md`
|
||
- Критические правила (Flyway, новые ограничения) → обновить секцию «Критические правила»
|
||
|
||
### 5. Сообщить пользователю
|
||
|
||
В конце ответа кратко упомянуть, какие файлы документации были обновлены:
|
||
|
||
> 📝 Обновлена документация: `docs/API.md` (добавлен эндпоинт `POST /api/absences`)
|
||
|
||
## Правила
|
||
|
||
1. **Язык:** Вся документация на русском языке
|
||
2. **Формат:** Сохранять существующий стиль оформления файла (заголовки, таблицы, примеры кода)
|
||
3. **Не удалять:** Не удалять существующие секции без явного запроса пользователя
|
||
4. **Mermaid:** При изменении схемы БД — обязательно обновлять ER-диаграмму в `docs/DATABASE.md`
|
||
5. **Минимальные правки:** Не переписывать весь файл ради добавления одной строки — использовать точечные изменения
|
||
6. **Консистентность:** Если одно и то же понятие упоминается в нескольких файлах `docs/`, обновить все вхождения
|