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

python-fastapi-best-practices-cursorrules-prompt-f — правило

Правило Cursor, которое задаёт агенту стиль кода для Python и FastAPI: функциональный подход, Pydantic v2, async-операции.

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

Что делает python-fastapi-best-practices-cursorrules-prompt-f

Правило подключается к Cursor и подсказывает агенту, как писать код в проекте на FastAPI. Внутри — набор договорённостей: функциональный и декларативный стиль, классы только там, где без них не обойтись, модульность вместо копирования кода. Имена переменных с вспомогательными глаголами вроде is_active или has_permission, файлы и папки в нижнем регистре через подчёркивание, например routers/user_routes.py.

Отдельно описана работа с данными и ошибками. Для валидации входа и схем ответа берутся модели Pydantic, а не сырые словари. Ожидаемые ошибки возвращаются через HTTPException с конкретными HTTP-ответами, неожиданные ловит middleware вместе с логированием. Блокирующий ввод-вывод сводится к минимуму: все обращения к базе и внешним API — асинхронные.

Правило ждёт от проекта FastAPI, Pydantic v2 и асинхронной библиотеки для базы вроде asyncpg или aiomysql, а при работе через ORM — SQLAlchemy 2.0. Если у вас Pydantic v1, часть советов про схемы придётся перепроверять вручную. События старта и остановки приложения правило советует переносить на lifespan-контексты вместо @app.on_event.

Какие задачи решает

  • задать агенту единый стиль кода для FastAPI-проекта
  • перевести валидацию входа на модели Pydantic вместо словарей
  • убрать блокирующие вызовы базы из обработчиков
  • заменить устаревшие обработчики startup и shutdown на lifespan
  • разложить роутеры и утилиты по понятной структуре файлов

Примеры запросов агенту

  • Напиши роутер для пользователей: async def, type hints, схемы на Pydantic v2
  • Переделай эти обработчики на lifespan вместо @app.on_event
  • Проверь модуль на блокирующий ввод-вывод и предложи асинхронный вариант

Как установить python-fastapi-best-practices-cursorrules-prompt-f

Вручную: положить файлы

.cursor/rules/python-fastapi-best-practices-cursorrules-prompt-f.mdc

Во frontmatter: description, globs, alwaysApply

По шагам, с командами для каждой платформы: Cursor rules: файлы .mdc, четыре режима и замена .cursorrules

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

rails-cursorrules-prompt-file Правило для Cursor, которое задаёт агенту стиль разработки на Rails 8: генераторы, bin/dev, Solid-стек, Minitest и Hotwire. ★ 41 011звёзд репо 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-cursorrules-prompt-file-best-practices Правило Cursor, которое заставляет ИИ писать Python с аннотациями типов, докстрингами и тестами на pytest. ★ 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звёзд репо

Похожие

fastapi-python Mindrally Задаёт агенту стиль разработки на FastAPI: async, Pydantic v2, обработка ошибок и структура роутеров. Пригодится, когда пишете API на Python. CX Codex +1 13 900установок fastapi-development aj-geddes Скилл для ИИ-агента, который помогает писать Python-API на FastAPI: асинхронные роуты, валидация через Pydantic, JWT и автодокументация OpenAPI. CX Codex +1 618установок fastapi-developer VoltAgent Community Субагент для Claude, который пишет и разбирает async-API на FastAPI: модели Pydantic v2, внедрение зависимостей, документация OpenAPI. ★ 26 065звёзд репо python-pro davila7 Скилл для Claude, который ведёт разработку на Python 3.12+: async, типизация, профилирование, uv, ruff, pydantic и FastAPI. 399установок api-scaffolding-fastapi-pro Seth Hobson Субагент для разработки асинхронных API на FastAPI: Pydantic V2, SQLAlchemy 2.0, WebSocket и микросервисы. Пригодится, когда нужно спроектировать или ускорить бэкенд на Python. CX Codex ★ 41 729звёзд репо fastapi-async-patterns TheBushidoCollective Скилл с готовыми шаблонами async-роутов, асинхронных баз данных, фоновых задач и WebSocket в FastAPI. Пригодится, когда API начинает тормозить на конкурентных запросах. CX Codex +1 953установок

Рядом в теме «Бэкенд и API»

Всё по теме «Бэкенд и API» →

Вопросы о python-fastapi-best-practices-cursorrules-prompt-f

Как установить правило python-fastapi-best-practices-cursorrules-prompt-f в Cursor?

Создайте файл .cursor/rules/python-fastapi-best-practices-cursorrules-prompt-f.mdc в корне проекта и вставьте в него текст правила.

Что делает это правило?

Оно задаёт агенту Cursor стиль разработки на Python и FastAPI: функциональные компоненты, модели Pydantic для валидации, async для операций ввода-вывода и обработку ошибок через HTTPException.

Какие версии библиотек нужны для работы правила?

Правило рассчитано на FastAPI, Pydantic v2 и асинхронные библиотеки вроде asyncpg или aiomysql; при использовании ORM — SQLAlchemy 2.0.

Исходный текст

python-fastapi-best-practices-cursorrules-prompt-f.mdc · CC0-1.0
---
description: "Cursor rules for Python FastAPI development with best practices."
globs: **/*
alwaysApply: false
---
You are an expert in Python, FastAPI, and scalable API development.

Write concise, technical responses with accurate Python examples. Use functional, declarative programming; avoid classes where possible. Prefer iteration and modularization over code duplication. Use descriptive variable names with auxiliary verbs (e.g., is_active, has_permission). Use lowercase with underscores for directories and files (e.g., routers/user_routes.py). Favor named exports for routes and utility functions. Use the Receive an Object, Return an Object (RORO) pattern. Use def for pure functions and async def for asynchronous operations. Use type hints for all function signatures. Prefer Pydantic models over raw dictionaries for input validation.

File structure: exported router, sub-routes, utilities, static content, types (models, schemas).

Avoid unnecessary curly braces in conditional statements. For single-line statements in conditionals, omit curly braces. Use concise, one-line syntax for simple conditional statements (e.g., if condition: do_something()).

Prioritize error handling and edge cases:

FastAPI
Pydantic v2
Async database libraries like asyncpg or aiomysql
SQLAlchemy 2.0 (if using ORM features)

Use functional components (plain functions) and Pydantic models for input validation and response schemas. Use declarative route definitions with clear return type annotations. Use def for synchronous operations and async def for asynchronous ones. Minimize @app.on_event("startup") and @app.on_event("shutdown"); prefer lifespan context managers for managing startup and shutdown events. Use middleware for logging, error monitoring, and performance optimization. Optimize for performance using async functions for I/O-bound tasks, caching strategies, and lazy loading. Use HTTPException for expected errors and model them as specific HTTP responses. Use middleware for handling unexpected errors, logging, and error monitoring. Use Pydantic's BaseModel for consistent input/output validation and response schemas. Minimize blocking I/O operations; use asynchronous operations for all database calls and external API requests. Implement caching for static and frequently accessed data using tools like Redis or in-memory stores. Optimize data serialization and deserialization with Pydantic. Use lazy loading techniques for large datasets and substantial API responses. Refer to FastAPI documentation for Data Models, Path Operations, and Middleware for best practices.

© PatrickJS · CC0-1.0 · PatrickJS/awesome-cursorrules

Смотрите также

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

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