Files
Gondulf/docs/standards
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
..

Project Standards

This directory contains all project-wide standards and conventions for the IndieAuth server implementation.

Standard Documents

Core Standards

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

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