# Development Standards

## Coding Conventions

### Python Style
- Follow PEP 8 style guidelines for Python code
- Use 4 spaces for indentation (not tabs)
- Maximum line length of 79 characters
- Use docstrings for all modules, classes, and functions
- Include type hints for function parameters and return values

### Documentation
- All modules should have a module-level docstring explaining their purpose
- All functions and classes should have docstrings following the Google style:
  - Brief description
  - Args section with parameter descriptions
  - Returns section describing return values
  - Raises section for exceptions that might be raised

### Error Handling
- Use custom exception classes for domain-specific errors (e.g., TokenLimitError)
- Handle exceptions at appropriate levels
- Provide informative error messages
- Log errors with sufficient context for debugging

## Project Structure
- Keep modules focused on a single responsibility
- Separate API interaction from business logic
- Use environment variables for configuration and secrets
- Include sample files for testing and demonstration

## Testing
- Write unit tests for core functionality
- Include integration tests for API interactions
- Use sample files for consistent test cases
- Test error handling and edge cases

## API Usage
- Always include proper authentication headers
- Handle API rate limits and errors gracefully
- Document API dependencies and version requirements
- Include comments with links to API documentation

## Security
- Never hardcode API keys or credentials
- Use environment variables for sensitive information
- Validate and sanitize inputs
- Handle errors without exposing sensitive information
