fastapi
via PatrickJS/awesome-cursorrules
FastAPI best practices and patterns for building modern Python web APIs
What is fastapi?
Comprehensive guide to FastAPI development covering project structure, API design, authentication, security, and deployment. Use this rule when building production-ready Python web APIs to ensure proper patterns for routing, validation, database integration, and testing.
- Establish proper project structure with organized modules and dependency injection
- Implement HTTP best practices including status codes, request/response models, and OpenAPI documentation
- Configure authentication with JWT, OAuth2, password hashing, and role-based access control
- Apply security measures including CORS, rate limiting, input validation, and security headers
- Optimize performance through caching, async operations, background tasks, and query optimization
- Structure testing with unit tests, integration tests, fixtures, and proper coverage
Applies to
File patterns this rule matches.
Rule definition (reference)
Source of truth, from the repository.
FastAPI Best Practices
Project Structure
- Use proper directory structure
- Implement proper module organization
- Use proper dependency injection
- Keep routes organized by domain
- Implement proper middleware
- Use proper configuration management
API Design
- Use proper HTTP methods
- Implement proper status codes
- Use proper request/response models
- Implement proper validation
- Use proper error handling
- Document APIs with OpenAPI
Models
- Use Pydantic models
- Implement proper validation
- Use proper type hints
- Keep models organized
- Use proper inheritance
- Implement proper serialization
Database
- Use proper ORM (SQLAlchemy)
- Implement proper migrations
- Use proper connection pooling
- Implement proper transactions
- Use proper query optimization
- Handle database errors properly
Authentication
- Implement proper JWT authentication
- Use proper password hashing
- Implement proper role-based access
- Use proper session management
- Implement proper OAuth2
- Handle authentication errors properly
Security
- Implement proper CORS
- Use proper rate limiting
- Implement proper input validation
- Use proper security headers
- Handle security errors properly
- Implement proper logging
Performance
- Use proper caching
- Implement proper async operations
- Use proper background tasks
- Implement proper connection pooling
- Use proper query optimization
- Monitor performance metrics
Testing
- Write proper unit tests
- Implement proper integration tests
- Use proper test fixtures
- Implement proper mocking
- Test error scenarios
- Use proper test coverage
Deployment
- Use proper Docker configuration
- Implement proper CI/CD
- Use proper environment variables
- Implement proper logging
- Use proper monitoring
- Handle deployment errors properly
Documentation
- Use proper docstrings
- Implement proper API documentation
- Use proper type hints
- Keep documentation updated
- Document error scenarios
- Use proper versioning
Related rules
4-layer FastAPI architecture with strict boundaries, typed protocols, bulkhead isolation, and domain exceptions.
Expert guidance for Flutter development with clean architecture, BLoC pattern, and Material 3 design.
Flutter development with MVVM, Riverpod state management, and Material Design.
Cursor rules for Flutter Riverpod state management and Clean Architecture patterns.

Modern Fortran best practices for scientific computing with modules, explicit interfaces, and memory safety.
GameMaker Language best practices for scripts, objects, events, and performance-conscious game code.