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
This commit is contained in:
61
docs/standards/README.md
Normal file
61
docs/standards/README.md
Normal file
@@ -0,0 +1,61 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user