Files
telegram-helper-bot/.cursor/rules/my-custom-rule.mdc

76 lines
4.7 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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 каждого файла.