К основному содержанию
правило

python-cursorrules-prompt-file-best-practices — правило для Cursor

Правило Cursor, которое заставляет ИИ писать Python с аннотациями типов, докстрингами и тестами на pytest.

Установить в Cursor · Вручную: положить файлы Все способы и платформы ↓
.cursor/rules/python-cursorrules-prompt-file-best-practices.mdc
Открыть на GitHub

Что делает 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

По шагам, с командами для каждой платформы: 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

Похожие правила IDE

Все правила IDE по теме «Языки программирования» →
python-tdd-with-uv spencerpauly Ведёт агента по циклу red-green-refactor в Python и настраивает проект на uv. Пригодится, когда пишете тесты до кода. CX Codex +1 409установок python-pro Seth Hobson Субагент помогает писать современный Python 3.12+, разбирать async-код, тесты, API и производительность. Подойдёт для разработки и рефакторинга Python-проектов. CX Codex 11 689установок modern-python trailofbits Настраивает Python-проекты под современный стек инструментов: uv для зависимостей, ruff для линтинга и форматирования, ty для проверки типов. Пригодится при создании новых проектов, написании скриптов и миграции со старых инструментов. CX Codex +1 8 700установок Python Packaging taste f Промпт задаёт агенту набор правил для упаковки Python-проектов: pyproject.toml, src/, uv, Ruff. Пригодится, когда нужно привести новый пакет к одному стилю. GP ChatGPT ★ 174 597звёзд репо python-mcp-server-generator официальный github Создаёт Python MCP-серверы для подключения функций, API или базы данных к ИИ-клиентам. Подходит, когда нужен новый сервер на MCP Python SDK v2. 10 418установок python-testing-patterns Seth Hobson Скилл помогает писать тесты Python с pytest, фикстурами и моками. Подходит для настройки тестового набора и отладки падающих проверок. CX Codex 36 943установок

Из того же набора68

qwik-basic-cursorrules-prompt-file Правило Cursor, которое задаёт агенту соглашения Qwik: ленивые функции с суффиксом $, сигналы, задачи и структура проекта на TypeScript и Vite. ★ 41 011звёзд репо python Правило Cursor задаёт структуру проекта, стиль кода и типовые решения для Python с Flask и SQLite. Пригодится, когда агент пишет код в вашем репозитории. ★ 41 011звёзд репо python-github-setup-cursorrules-prompt-file Задаёт Cursor единый стиль Python-кода, тесты, ревью через GitHub Pull Requests и CI на GitHub Actions. Пригодится, когда в команде нет общего свода правил. ★ 41 011звёзд репо python-fastapi-best-practices-cursorrules-prompt-f Правило Cursor, которое задаёт агенту стиль кода для Python и FastAPI: функциональный подход, Pydantic v2, async-операции. ★ 41 011звёзд репо pyspark-etl-best-practices-cursorrules-prompt-file Правило для Cursor, которое задаёт стиль PySpark-кода: F.col(), явные joins, select вместо withColumn и работа с Iceberg. ★ 41 011звёзд репо project-epic-template-cursorrules-prompt-file Правило превращает Cursor в продакт-менеджера: агент пишет эпики и пользовательские истории по шаблону с критериями приёмки и метриками. ★ 41 011звёзд репо playwright-defect-tracking-cursorrules-prompt-file Правило для Cursor: агент пишет тесты Playwright с привязкой к ручным кейсам и собирает доказательства дефектов. ★ 41 011звёзд репо plasticode-telegram-api-cursorrules-prompt-file Правило для Cursor, которое настраивает ассистента на PHP 7.4, Plasticode и Telegram Bot API. Пригодится, если бот пишется на Plasticode и нужен код в стиле PSR-12. ★ 41 011звёзд репо

Спонсоры проекта

Компании, которые помогают держать аналитику открытой