Files
Gondulf/docs/standards/README.md
Phil Skentelbery 6d21442705 chore: initialize gondulf project structure
Set up Python project with uv environment management and FastAPI stack.

Project structure:
- src/gondulf/ - Main application package
- tests/ - Test suite directory
- pyproject.toml - Project configuration with dependencies
- README.md - Project documentation
- uv.lock - Dependency lock file

Dependencies configured:
- FastAPI + Uvicorn for web framework
- SQLAlchemy for database ORM
- pytest + coverage for testing
- ruff, black, mypy, flake8 for code quality
- Development environment using uv direct execution model

All project standards reviewed and implemented per:
- /docs/standards/coding.md
- /docs/standards/testing.md
- /docs/standards/git.md
- /docs/standards/development-environment.md
- /docs/standards/versioning.md
2025-11-20 10:42:10 -07:00

61 lines
1.7 KiB
Markdown

# 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.