diff --git a/.coderabbit.yaml b/.coderabbit.yaml index feb901d..c444db6 100644 --- a/.coderabbit.yaml +++ b/.coderabbit.yaml @@ -72,7 +72,7 @@ reviews: - path: "models/**/*.py" instructions: | - Pydantic models should use Field for validation - - Verify camelCase aliasing with Config.alias_generator = to_camel + - Verify camelCase aliasing with model_config = ConfigDict(alias_generator=to_camel) - Check that validation constraints match business rules - Ensure models are separate from database schemas @@ -82,7 +82,6 @@ reviews: - Verify test naming follows test_request_{method}_{resource}_{param_or_context}_response_{outcome} pattern - Check that TestClient is used for endpoint testing - Ensure test data uses stubs (e.g., player_stub.py) - - Tests should use async test functions where appropriate - Validate coverage targets (80% minimum) - path: "main.py" @@ -211,7 +210,7 @@ reviews: title: mode: warning requirements: | - - Use Conventional Commits format (feat:, fix:, chore:, docs:, test:, refactor:) + - Use Conventional Commits format (feat:, fix:, chore:, docs:, test:, refactor:, ci:, perf:) - Keep under 80 characters - Be descriptive and specific description: diff --git a/CHANGELOG.md b/CHANGELOG.md index 73993aa..eea9224 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -167,6 +167,7 @@ The CD workflow automatically: --- -[unreleased]: https://github.com/nanotaboada/python-samples-fastapi-restful/compare/v1.1.0-bielsa...HEAD +[unreleased]: https://github.com/nanotaboada/python-samples-fastapi-restful/compare/v2.0.0-capello...HEAD +[2.0.0 - Capello]: https://github.com/nanotaboada/python-samples-fastapi-restful/compare/v1.1.0-bielsa...v2.0.0-capello [1.1.0 - Bielsa]: https://github.com/nanotaboada/python-samples-fastapi-restful/compare/v1.0.0-ancelotti...v1.1.0-bielsa [1.0.0 - Ancelotti]: https://github.com/nanotaboada/python-samples-fastapi-restful/releases/tag/v1.0.0-ancelotti diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e63ea16..d8aff5d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -14,6 +14,11 @@ We value **incremental, detail‑first contributions** over big rewrites or abst - `feat: ` for new features - `fix: ` for bug fixes - `chore: ` for maintenance or tooling + - `docs: ` for documentation changes + - `test: ` for test additions or corrections + - `refactor: ` for code changes that neither fix a bug nor add a feature + - `ci: ` for CI/CD pipeline changes + - `perf: ` for performance improvements - **Logical Commits** Group changes by purpose. Multiple commits are fine, but avoid noise. Squash when appropriate. @@ -25,7 +30,7 @@ We value **incremental, detail‑first contributions** over big rewrites or abst - Use **[flake8](https://flake8.pycqa.org/en/latest/)** for static checks. - Line length also set to 88. - Some flake8 warnings are disabled (e.g. `E203`, `W503`) to avoid conflicts with Black. - - Run `black .` and `flake8` before submitting. + - Run `uv run black .` and `uv run flake8 .` before submitting. - Use Python **3.13.x** for local testing and formatting. - **Testing** diff --git a/README.md b/README.md index a4d70ee..8566ae5 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,7 @@ Proof of Concept for a RESTful API built with [Python 3](https://www.python.org/ - 📚 **Interactive API exploration** - Auto-generated OpenAPI docs with FastAPI's built-in Swagger UI and `.rest` file for REST Client integration - ⚡ **Performance optimizations** - Async SQLAlchemy, in-memory caching with aiocache (10-minute TTL), and efficient database operations - 🧪 **High test coverage** - Pytest suite with 80% minimum coverage and automated reporting to Codecov and SonarCloud -- 📖 **Token-efficient documentation** - Copilot instructions with coding guidelines, architecture rules, and agent workflows for AI-assisted development +- 📖 **Agent-optimized documentation** - Claude Code and GitHub Copilot instructions with coding guidelines, architecture rules, and agent workflows for AI-assisted development - 🐳 **Full containerization** - Production-ready Docker setup with Docker Compose orchestration - 🔄 **Complete CI/CD pipeline** - Automated linting (Black/Flake8), testing, Docker publishing, and GitHub releases - ♟️ **Coach-themed semantic versioning** - Memorable, alphabetical release names honoring legendary football coaches