Skip to content

FastAPI Best Practices

IDE Configuration Headers

For Cursor IDE

To create a new Cursor Rule:

  1. Enter the name as fastapi
  2. Copy & paste the following header and rule content below:
---
description: FastAPI Best Practices
globs: **/*.py
alwaysApply: false
---

For Kiro IDE

To create a new Kiro Steering Document:

  1. Create a file named fastapi.md in .kiro/steering/
  2. Copy & paste the following header and rule content below:
---
inclusion: fileMatch
fileMatchPattern: '**/*.py'
---

For more information about IDE rules, visit: - Cursor Project Rules - Kiro Steering Documents

Rule Content

---
description: FastAPI Best Practices
globs: **/*.py, app/**/*.py
alwaysApply: false
---

# 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