bootstrap

This commit is contained in:
kislovdm
2026-07-08 16:43:29 +03:00
parent 10b5eafd53
commit d2819ff03c
74 changed files with 8174 additions and 1 deletions
+37
View File
@@ -0,0 +1,37 @@
---
name: adr
description: "Создание Architecture Decision Records"
---
# /adr — Architecture Decision Record
## Формат
Файл: `docs/adr/<NNNN>-<title>.md`
```markdown
# ADR-<NNNN>: <Title>
**Статус:** Proposed | Accepted | Deprecated
## Контекст
...
## Решение
...
## Альтернативы
...
## Последствия
...
```
## Нумерация
- Первый свободный номер: следующий после существующих в `docs/adr/`
- Название — kebab-case на русском или английском
+12
View File
@@ -0,0 +1,12 @@
---
name: ask
description: "Q&A по платформе без создания артефактов"
---
# /ask — Вопрос по платформе
Задай вопрос о платформе МПШ.Логистика, архитектуре, сервисах или процессах.
- Не создаёт файлов (spec, plan, commit)
- Использует AGENTS.md и AGENTS.md сервисов как источник знаний
- При вопросе о коде — читает AGENTS.md целевого сервиса
+25
View File
@@ -0,0 +1,25 @@
---
name: coding-principles
description: "Принципы написания кода"
---
# /coding-principles — Принципы кода
## Общие
- Минимальный scope изменений — только то, что нужно для задачи
- Следовать существующим конвенциям и стилю кода
- Комментарии — только когда WHY неочевидно
- Не редактировать сгенерированный код (NSwag, EF migrations snapshot)
## C# / .NET
- Nullable reference types включены
- Слои: `Instance` → `BusinessLogic` → `Database` → `Models`/`Core`
- Acceptance tests в отдельных проектах
## TypeScript / React
- Без `any` — строгая типизация
- Компоненты в `src/components/`, API-клиенты в `src/api/`
- SCSS modules
@@ -0,0 +1,14 @@
---
name: generate-agents-md-app
description: "Регенерация group-level AGENTS.md"
---
# /generate-agents-md-app — Обновить AGENTS.md группы
Вызывает `ml-agent-generate-agents-md-app` для регенерации managed-секций (`<!-- managed:service-index -->`) в `backend/AGENTS.md`, `frontend/AGENTS.md`, `libs/AGENTS.md`, `infrastructure/AGENTS.md`.
## Процесс
1. Определить группу (путь в workspace)
2. Сканировать клонированные сервисы группы и `repos.yml`
3. Перегенерировать managed-секцию в `<group>/AGENTS.md`
@@ -0,0 +1,14 @@
---
name: generate-agents-md
description: "Генерация AGENTS.md для сервиса"
---
# /generate-agents-md — Создать AGENTS.md сервиса
Вызывает `ml-agent-agents-md-builder` для генерации AGENTS.md в клонированном сервисном репозитории.
## Процесс
1. Определить сервис (путь в workspace)
2. Исследовать код сервиса: `*.csproj`, `appsettings.json`, структура src/
3. Сгенерировать `AGENTS.md` в корне сервиса
+34
View File
@@ -0,0 +1,34 @@
---
name: git-commit
description: "Формирование коммита по стандарту"
---
# /git-commit — Формат коммита
## Формат
```
<type>(<scope>): <subject>
```
## Типы
`feat` · `fix` · `refactor` · `test` · `docs` · `chore` · `build` · `ci`
## Scope
Имя сервиса: `api`, `filestorage`, `ui.facade`, `ui.client`, `pdf.viewer`
## Примеры
```
feat(api): add transportation status filter endpoint
fix(ui.client): correct date picker timezone
refactor(filestorage): extract content validation
```
## Процесс
1. Проверить `git status` и `git diff`
2. Сформировать коммит по формату
3. Не коммитить без явной просьбы пользователя
+13
View File
@@ -0,0 +1,13 @@
---
name: git-safety
description: "Правила безопасности git"
---
# /git-safety — Безопасность git
- **Никогда** не пушить в `master`, `main`, `develop`
- Работать в `feature/MBL-<N>` или `hotfix/MBL-<N>`
- Git-команды выполнять в сервисном репозитории, не в корне workspace
- Проверять `git status` и `git diff` перед коммитом
- Не коммитить .env, credentials, secrets
- Использовать `.env.example` как шаблон для секретов
+20
View File
@@ -0,0 +1,20 @@
---
name: implement
description: "Реализация по плану через разработчика → ревьюера → QA"
---
# /implement — Реализация по плану
## Процесс
Для каждого шага из `plans/<task-id>-<date>.md`:
1. **Dev** — разработчик реализует шаг
2. **Reviewer** — `ml-agent-reviewer` проверяет код
3. **QA** — `ml-agent-qa` ищет edge cases
4. **Повторять** пока reviewer и QA не подтвердят
## Завершение
- Переключить статус плана на **Готово**
- Вызвать `/git-commit` для фиксации изменений
+18
View File
@@ -0,0 +1,18 @@
---
name: library-release
description: "Bump версий пакетов и зависимостей"
---
# /library-release — Bump версий библиотек
## Процесс
1. Изменить код пакета в `libs/backend/<package>/`
2. Бампить версию в `.csproj` (`<Version>`)
3. Создать MR → merge в `master`
4. GitLab CI публикует пакет в NuGet
5. Обновить `<PackageReference>` во всех потребителях
## Порядок
Топологический: зависимости → потребители
@@ -0,0 +1,25 @@
---
name: ml-backend-developer
description: "Режим .NET backend-разработчика"
---
# /ml-backend-developer — Backend-разработка
Ты — .NET backend-разработчик МПШ.Логистика.
## Стек
- .NET 10, ASP.NET Core
- PostgreSQL, EF Core
- Redis
- Hangfire
- MassTransit + RabbitMQ
- Autofac
- OpenTelemetry, NLog → Elasticsearch
## Конвенции
- Слои: `Instance` → `BusinessLogic` → `Database` → `Models`/`Core`
- Acceptance tests в `*.Acceptance.Tests`
- Миграции через `dotnet ef migrations add`
- Nullable reference types включены
@@ -0,0 +1,23 @@
---
name: ml-frontend-developer
description: "Режим React/TypeScript frontend-разработчика"
---
# /ml-frontend-developer — Frontend-разработка
Ты — React/TypeScript frontend-разработчик МПШ.Логистика.
## Стек
- React 18, TypeScript
- react-query, react-router-dom 6
- axios
- SCSS modules
- @siburkit/* UI-kit
## Конвенции
- Компоненты в `src/components/`
- API-клиенты в `src/api/`
- ESLint: `@sibur/eslint-config`, Prettier: `@sibur/prettier-config`
- Без `any`
+35
View File
@@ -0,0 +1,35 @@
---
name: plan
description: "Детальный план реализации через исследование → архитектора"
---
# /plan — Создать план реализации
## Процесс
1. **Исследование** — прочитать spec-файл задачи
2. **Архитектор** — вызвать `ml-agent-architect` для разработки плана
3. **Запись** — сохранить в `plans/<task-id>-<date>.md`
## Формат
```markdown
# <task-id> — План реализации
**Статус:** Активен
## Шаги
- [ ] 1. ...
- [ ] 2. ...
## Затрагиваемые сервисы
- `backend/...` — описание изменений
- `frontend/...` — описание изменений
```
## Правила
- Статус переключается на «Готово» после `/implement`
- Минимальный scope изменений
+36
View File
@@ -0,0 +1,36 @@
---
name: spec
description: "Формирование ТЗ через исследование кода и диалог с аналитиком"
---
# /spec — Создать ТЗ по задаче
## Процесс
1. **Исследование** — вызвать `ml-agent-researcher` для изучения кодовой базы (readonly)
2. **Диалог** — уточнить требования у пользователя
3. **Анализ** — вызвать `ml-agent-analyst` для формирования структуры ТЗ
4. **Запись** — сохранить в `specs/<task-id>-<date>.md`
## Формат
```markdown
# <task-id> — <название>
**Статус:** Активен
## Описание
...
## Acceptance Criteria
- [ ] ...
```
## Правила
- Всегда указывать **Статус:** в начале файла
- ТЗ сохраняется в корневые `specs/` или в `backend/specs/` / `frontend/specs/`
- Формат имени: `<task-id>-<YYYY-MM-DD>.md`
- Если task-id не указан — спросить
+12
View File
@@ -0,0 +1,12 @@
---
name: status
description: "Обзор активных specs/plans"
---
# /status — Обзор задач
## Что показывает
- Активные spec-файлы (`**/specs/*.md` без Статус: Готово)
- Активные plan-файлы (`**/plans/*.md` без Статус: Готово)
- Счётчик завершённых задач (Статус: Готово)