# Project Standards This directory contains all project-wide standards and conventions for the IndieAuth server implementation. ## Standard Documents ### Core Standards - **[versioning.md](versioning.md)** - Semantic versioning approach (v2.0.0) - **[git.md](git.md)** - Trunk-based development workflow - **[testing.md](testing.md)** - Testing strategy with 80% minimum coverage - **[coding.md](coding.md)** - Python coding standards and conventions - **[development-environment.md](development-environment.md)** - uv-based environment management and workflow ## Key Decisions ### Technology Stack (Approved) - **Language**: Python 3.10+ - **Framework**: FastAPI - **Database**: SQLite - **Environment Management**: uv (with direct execution model) - **Testing**: pytest with 80% minimum coverage - **Code Quality**: Black, Ruff, mypy ### Development Workflow - **Git**: Trunk-based development on `main` branch - **Environments**: Direct execution via `uv run` (no activation) - **Testing**: TDD preferred, behavior-focused tests - **Documentation**: Comprehensive before implementation ## Quick Reference ### Daily Commands ```bash # Run application uv run uvicorn src.main:app --reload # Run tests uv run pytest # Add dependency uv pip install package uv pip freeze > requirements.txt # Code quality uv run ruff check . uv run mypy src ``` ### Standards Compliance All code must: - Pass linting (Ruff) - Pass type checking (mypy) - Have 80%+ test coverage (90% for new code) - Follow PEP 8 and project conventions - Be documented with clear docstrings ## Status ✅ **Standards Finalized**: 2025-11-20 All foundational standards have been defined and documented. These standards form the basis for all implementation work on the IndieAuth server project.