1---2name: python-repository-documentation3description: Используй при документировании Python-репозиториев в прикладных сервисах. Триггеры — описание архитектуры, модулей, публичных методов и контрактов; написание docstring на русском языке в кратком стиле; оформление README и синхронизация документации с изменениями кода. Примеры конфигурации относятся к специализированному скилу конфигурации приложения.4---56# Python Repository Documentation78## Quick Start9101. Определи цель документации: API-контракт, архитектурный обзор, поведение модуля или публичного метода.112. Задокументируй только факты, которые неочевидны из имени, типов и структуры.123. Для публичных сущностей в ключевых слоях добавляй docstring минимум в краткой форме.134. Пиши docstring на русском языке, коротко и без шаблонных формулировок.145. Секции `Args`, `Raises`, `Returns` добавляй только при реальной необходимости.156. Поддерживай `README.md` подробным по сути, но компактным по объему: чтение за пару минут или быстрее.167. При изменении конфигурации применяй специализированный скил конфигурации17 приложения; в README оставляй только способ настройки и ссылки на примеры.188. При изменении кода синхронизируй документацию в тех же файлах.1920## Documentation Rules2122### 1. Docstring Language and Style2324- Пиши docstring на русском языке.25- Базовый формат: одна короткая строка с сутью поведения.26- Избегай шаблонов вроде "Выполняет операцию...".27- Не дублируй аннотации типов текстом без добавленной ценности.2829### 2. Required and Optional Sections3031- `Args`: добавляй только для неочевидных параметров, ограничений или форматов.32- `Raises`: добавляй только для ожидаемых контрактных исключений.33- `Returns`: добавляй только если результат неочевиден.34- Для `__init__` используй только релевантные секции.3536### 3. Public vs Private3738- Для публичных методов в `domain`, `application`, `ports`, `presentation` docstring обязателен.39- Для приватных методов docstring можно опустить, если поведение очевидно.4041### 4. Architecture-Level Documentation4243- Описывай контракты слоев и границы ответственности.44- Фиксируй инварианты агрегатов, версии, side effects и условия ошибок.45- Не превращай документацию в пересказ кода построчно.4647### 5. README and Examples4849- README должен покрывать: назначение, запуск, конфигурацию, тесты, структуру и типовые сценарии.50- README не должен быть перегружен: целевое чтение за 2 минуты или меньше.51- Не дублируй в README полную схему конфигурации: опиши способ её передачи и52 ссылайся на примеры, которыми владеет специализированный скил конфигурации.5354### 6. Update Policy5556- Если изменен публичный контракт, обнови docstring сразу в том же PR/изменении.57- Если изменился способ передачи конфигурации, синхронизируй краткую инструкцию58 и ссылки в README.59- Если поведение изменилось, а документация осталась прежней, это дефект документации.60- Новая документация не должна конфликтовать с тестами и фактическим поведением.6162## Anti-Patterns6364- Пустые или формальные docstring без новой информации.65- Дублирование type hints в тексте.66- Слишком длинные описания без практической пользы.67- Отсутствие обновления docstring после изменения контракта.68- README как огромная простыня, которую нельзя быстро прочитать.69- Дублирование полной схемы конфигурации в README.7071## Definition of Done7273- Документация написана на русском языке.74- Публичные методы и классы имеют краткие, точные docstring.75- Секции `Args/Raises/Returns` добавлены только там, где это нужно.76- README дает быстрый и достаточный вход за пару минут или меньше.77- README корректно объясняет способ настройки и ведёт к актуальным примерам.78- Документация согласована с фактическим поведением кода.79- Архитектурные границы и контракты отражены без лишней детализации.8081## References8283- Шаблоны docstring: [docstring_templates.md](references/docstring_templates.md)84- README: [readme_and_examples_guide.md](references/readme_and_examples_guide.md)85- Чеклист ревью документации: [documentation_review_checklist.md](references/documentation_review_checklist.md)86- Паттерны архитектурного описания: [architecture_documentation_patterns.md](references/architecture_documentation_patterns.md)