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

67 lines
1.6 KiB
Markdown

# Contributing to News Aggregator API
## Commit Message Convention
This project follows [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) 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
```bash
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