# Code Style and Conventions ## Rust Style - Следовать стандартному Rust стилю (rustfmt) - Snake_case для переменных и функций - PascalCase для типов и enum вариантов - SCREAMING_SNAKE_CASE для констант ## Project Conventions - Использовать `Result` для ошибок (планируется заменить на `Result` с кастомным enum) - Async/await для TDLib операций - Группировать imports: std → external crates → local modules - Константы вынесены в `src/constants.rs` ## Architecture Patterns - Модульная структура: app, ui, input, tdlib, utils - TdClient разделён на подмодули: auth, chats, messages, users, reactions - ChatState enum для состояний чата (type-safe) - Snapshot тесты для UI компонентов - Integration тесты для business logic ## Documentation - Комментарии на русском в коде (для логики) - Doc-комментарии на английском (для публичного API) - CLAUDE.md, CONTEXT.md, ROADMAP.md для документации проекта