# Contributing to FastAPI Route Loader Thank you for your interest in contributing to fastapi-route-loader! This document provides guidelines and instructions for contributing. ## Development Setup 1. **Clone the repository** ```bash git clone https://github.com/yourusername/fastapi-route-loader.git cd fastapi-route-loader ``` 2. **Set up the development environment** ```bash # Run the setup script bash scripts/setup.sh # Or manually: python3 -m venv .venv source .venv/bin/activate pip install -e ".[dev]" ``` 3. **Verify the setup** ```bash bash scripts/verify.sh ``` ## Development Workflow ### Running Tests ```bash # Run all tests pytest # Run with coverage pytest --cov=fastapi_route_loader --cov-report=html # Run specific test file pytest tests/test_container.py # Run specific test pytest tests/test_container.py::TestRouterContainer::test_add_router ``` ### Code Quality We use strict linting and type checking: ```bash # Run ruff linter ruff check . # Auto-fix issues ruff check --fix . # Format code ruff format . # Run type checker pyright ``` ### Code Style Guidelines - **Type Hints**: All functions must have complete type hints - **Docstrings**: All public functions and classes must have docstrings - **Line Length**: Maximum 88 characters (enforced by ruff) - **Imports**: Use absolute imports, organized by ruff - **Python Version**: Code must be compatible with Python 3.10+ ### Commit Messages Follow conventional commit format: ``` ():