python-cursorrules-prompt-file-best-practices — правило для Cursor
Правило Cursor, которое заставляет ИИ писать Python с аннотациями типов, докстрингами и тестами на pytest.
.cursor/rules/python-cursorrules-prompt-file-best-practices.mdcЧто делает python-cursorrules-prompt-file-best-practices
Файл задаёт ассистенту рамки работы с Python-проектом: отдельные каталоги под исходники, тесты, документацию и конфиг, модульная структура с файлами моделей, сервисов, контроллеров и утилит, настройки через переменные окружения. Зависимости — через uv и виртуальные окружения, стиль кода держит Ruff, CI собирается на GitHub Actions или GitLab CI.
Жёсткие требования касаются кода. К каждой функции и классу добавляются аннотации типов, включая явный возвращаемый тип вплоть до None, и описательные докстринги по PEP 257. Существующие комментарии в файле сохраняются. Тесты пишутся только на pytest или его плагинах, без unittest, лежат в ./tests, тоже с аннотациями и докстрингами, а для пакетов создаётся __init__.py. При проверке типов правило требует импортировать CaptureFixture, FixtureRequest, LogCaptureFixture, MonkeyPatch и MockerFixture.
Правило не применяется автоматически: в нём стоит alwaysApply: false, а область задана через globs: **/*. Это значит, что его нужно подключать к работе осознанно — иначе на большом проекте оно начнёт переписывать докстринги и аннотации в файлах, которые вы трогать не собирались.
Какие задачи решает
- добавить аннотации типов и возвращаемые значения в существующие функции
- привести докстринги к PEP 257 без потери старых комментариев
- перевести тесты с unittest на pytest и разложить их по
./tests - задать структуру каталогов под исходники, тесты, доки и конфиг
- настроить зависимости через
uvи линт через Ruff
Примеры запросов агенту
- Добавь аннотации типов и докстринги PEP 257 в этот модуль, комментарии не трогай
- Перепиши эти тесты на pytest с аннотациями и положи их в
./tests - Разложи проект по каталогам: исходники, тесты, документация, конфиг
Как установить python-cursorrules-prompt-file-best-practices
Вручную: положить файлы
.cursor/rules/python-cursorrules-prompt-file-best-practices.mdcВо frontmatter: description, globs, alwaysApply
Вручную: положить файлы
.claude/rules/python-cursorrules-prompt-file-best-practices.mdПоле paths во frontmatter ограничивает файлы: globs из источника → paths
AGENTS.md
Codex читает AGENTS.md: вставьте текст правила туда
Вручную: положить файлы
.github/instructions/python-cursorrules-prompt-file-best-practices.instructions.mdПоле applyTo задаёт, к каким файлам применять: globs из источника → applyTo
Вручную: положить файлы
.devin/rules/python-cursorrules-prompt-file-best-practices.mdВручную: положить файлы
.clinerules/python-cursorrules-prompt-file-best-practices.mdПо шагам, с командами для каждой платформы: Cursor rules: файлы .mdc, четыре режима и замена .cursorrules
Вопросы о python-cursorrules-prompt-file-best-practices
Как установить python-cursorrules-prompt-file-best-practices в Cursor?
Создайте файл .cursor/rules/python-cursorrules-prompt-file-best-practices.mdc в корне проекта и вставьте в него содержимое правила.
Что делает python-cursorrules-prompt-file-best-practices?
Задаёт ассистенту Cursor правила Python-разработки: аннотации типов, докстринги по PEP 257, тесты только на pytest, зависимости через uv, линт через Ruff.
Правило применяется ко всем файлам само?
Нет. В нём указано alwaysApply: false, поэтому подключать его к работе нужно вручную, а globs: **/* задаёт область действия по всему проекту.
Исходный текст
python-cursorrules-prompt-file-best-practices.mdc · CC0-1.0
--- description: "Cursor rules for Python development with best practices integration." globs: **/* alwaysApply: false --- You are an AI assistant specialized in Python development. Your approach emphasizes: - Clear project structure with separate directories for source code, tests, docs, and config. - Modular design with distinct files for models, services, controllers, and utilities. - Configuration management using environment variables. - Robust error handling and logging, including context capture. - Comprehensive testing with pytest. - Detailed documentation using docstrings and README files. - Dependency management via https://github.com/astral-sh/uv and virtual environments. - Code style consistency using Ruff. - CI/CD implementation with GitHub Actions or GitLab CI. AI-friendly coding practices: - You provide code snippets and explanations tailored to these principles, optimizing for clarity and AI-assisted development. Follow the following rules: - For any Python file, ALWAYS add typing annotations to each function or class. Include explicit return types (including None where appropriate). Add descriptive docstrings to all Python functions and classes. - Please follow PEP 257 docstring conventions. Update existing docstrings as needed. - Make sure you keep any comments that exist in a file. - When writing tests, ONLY use pytest or pytest plugins (not unittest). All tests should have typing annotations. Place all tests under ./tests. Create any necessary directories. If you create packages under ./tests or ./src/<package_name>, be sure to add an __init__.py if one does not exist. All tests should be fully annotated and should contain docstrings. Be sure to import the following if TYPE_CHECKING: from _pytest.capture import CaptureFixture from _pytest.fixtures import FixtureRequest from _pytest.logging import LogCaptureFixture from _pytest.monkeypatch import MonkeyPatch from pytest_mock.plugin import MockerFixture
© PatrickJS · CC0-1.0 · PatrickJS/awesome-cursorrules