From 07e72c4d14d79fdff92149fa67aa1433d37c0ebc Mon Sep 17 00:00:00 2001 From: Andrey Date: Sun, 25 Jan 2026 16:55:29 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20my?= =?UTF-8?q?-custom-rule.mdc=20=D0=B4=D0=BB=D1=8F=20=D0=B0=D0=B3=D0=B5?= =?UTF-8?q?=D0=BD=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .cursor/rules/my-custom-rule.mdc | 75 ++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 .cursor/rules/my-custom-rule.mdc diff --git a/.cursor/rules/my-custom-rule.mdc b/.cursor/rules/my-custom-rule.mdc new file mode 100644 index 0000000..4fbf624 --- /dev/null +++ b/.cursor/rules/my-custom-rule.mdc @@ -0,0 +1,75 @@ +--- +name: project-rule +description: Общее описание всех ролей и правил проекта +--- + +# Правила проекта Telegram Helper Bot + +Этот файл объединяет все правила и паттерны разработки проекта. Для получения подробной информации по каждому разделу см. соответствующие файлы в `.cursor/rules/`. + +## 📋 Список правил и шаблонов + +### 1. Архитектура проекта +**Файл:** `.cursor/rules/architecture.md` +**Описание:** Архитектурные паттерны и структура проекта Telegram бота на aiogram 3.10.0 +**Применение:** `alwaysApply: true` - применяется автоматически + +### 2. Стиль кода +**Файл:** `.cursor/rules/code-style.md` +**Описание:** Стиль кода, соглашения по именованию и форматированию +**Применение:** `alwaysApply: true` - применяется автоматически + +### 3. Паттерны работы с БД +**Файл:** `.cursor/rules/database-patterns.md` +**Описание:** Паттерны работы с базой данных, репозитории и модели +**Применение:** Применяется к файлам `database/**/*.py` и `**/repositories/*.py` + +### 4. Зависимости и утилиты +**Файл:** `.cursor/rules/dependencies-and-utils.md` +**Описание:** Работа с зависимостями, утилитами, метриками и внешними сервисами +**Применение:** Применяется к файлам `helper_bot/utils/**/*.py` и `helper_bot/config/**/*.py` + +### 5. Обработка ошибок +**Файл:** `.cursor/rules/error-handling.md` +**Описание:** Обработка ошибок, исключения и логирование +**Применение:** Опционально (не всегда применяется) + +### 6. Паттерны Handlers +**Файл:** `.cursor/rules/handlers-patterns.md` +**Описание:** Паттерны для создания handlers, services и обработки событий aiogram +**Применение:** Применяется к файлам `helper_bot/handlers/**/*.py` + +### 7. Паттерны Middleware +**Файл:** `.cursor/rules/middleware-patterns.md` +**Описание:** Паттерны создания и использования middleware в aiogram +**Применение:** Применяется к файлам `helper_bot/middlewares/**/*.py` + +### 8. Паттерны тестирования +**Файл:** `.cursor/rules/testing.md` +**Описание:** Паттерны тестирования, структура тестов и использование pytest +**Применение:** Применяется к файлам `tests/**/*.py` и `test_*.py` + +### 9. Шаблон Release Notes +**Файл:** `.cursor/rules/release-notes-template.md` +**Описание:** Инструкция по оформлению Release Notes +**Применение:** Используется при создании файлов Release Notes + +## 🎯 Ключевые принципы проекта + +1. **Архитектура:** Repository Pattern → Service Layer → Handlers +2. **Асинхронность:** Все операции с БД и API асинхронные +3. **Типизация:** Type hints везде, где возможно +4. **Логирование:** Всегда через `logs.custom_logger.logger` +5. **Метрики:** Декораторы `@track_time`, `@track_errors`, `@db_query_time` +6. **Версия Python:** Python 3.11.9 во всех окружениях + +## 📚 Как использовать + +При работе над проектом агент должен: +- Следовать архитектурным паттернам из `architecture.md` +- Применять стиль кода из `code-style.md` +- Использовать соответствующие паттерны в зависимости от контекста (handlers, middleware, database, testing) +- Обрабатывать ошибки согласно `error-handling.md` +- При создании Release Notes следовать `release-notes-template.md` + +Все правила автоматически применяются в зависимости от контекста редактируемых файлов благодаря настройкам `alwaysApply` и `globs` в frontmatter каждого файла.