Files
splash/CONTRIBUTING.md
William Valentin 334aa698fa feat: implement news aggregator API with conventional commits
- Add FastAPI application with complete router structure
- Implement search, articles, ask, feedback, and health endpoints
- Add comprehensive Pydantic schemas for API requests/responses
- Include stub service implementations for all business logic
- Add full test suite with pytest-asyncio integration
- Configure conventional commits enforcement via git hooks
- Add project documentation and contribution guidelines
- Support both OpenAI and Gemini LLM integration options
2025-11-02 23:11:39 -08:00

1.6 KiB

Contributing to News Aggregator API

Commit Message Convention

This project follows Conventional Commits specification.

Format

<type>[optional scope]: <description>

[optional body]

[optional footer(s)]

Types

  • feat: New feature
  • fix: Bug fix
  • docs: Documentation changes
  • style: Code style changes (formatting, missing semicolons, etc.)
  • refactor: Code refactoring
  • perf: Performance improvements
  • test: Adding or updating tests
  • build: Build system or dependency changes
  • ci: CI configuration changes
  • chore: Maintenance tasks
  • revert: Reverting previous changes

Examples

feat: add hybrid search endpoint
fix(api): resolve authentication bug
docs: update API documentation
style: fix code formatting
refactor: simplify search service logic
perf: optimize database queries
test: add integration tests for feedback endpoint
build: upgrade fastapi to v0.111
ci: add github actions for testing
chore: update dependencies
revert: remove experimental feature

Rules

  • Use lowercase types
  • Keep first line under 72 characters
  • Use imperative mood ("add" not "added" or "adds")
  • Include scope when relevant (e.g., fix(api):, feat(db):)
  • Provide detailed body for complex changes

Development Workflow

  1. Create feature branch from main
  2. Make changes with conventional commits
  3. Run tests: uv run pytest
  4. Submit pull request

Code Quality

  • All Python files must compile without syntax errors
  • No trailing whitespace
  • Files under 5MB
  • Follow existing code style and patterns