Be respectful, inclusive, and professional in all interactions.
- Fork the repository
- Clone your fork:
git clone https://github.com/your-username/ai-project.git - Create feature branch:
git checkout -b feat/your-feature - Follow development workflow in DEVELOPMENT.md
- Write tests first (TDD)
- Run full test suite:
pytest --cov - Format code:
black src tests - Lint:
ruff check src tests --fix - Type check:
pyright src - Update docs if needed
Use Conventional Commits format:
feat: add new feature
fix: fix bug
docs: update documentation
test: add tests
refactor: refactor code
perf: improve performance
chore: update dependencies
- Push to your fork
- Create PR with clear description
- Link related issues
- Ensure CI passes
- Request review from maintainers
- Address feedback
- Merge when approved
All functions must have type hints:
def process(data: dict[str, Any]) -> tuple[bool, str]:
"""Process data."""
passUse Google-style docstrings:
def validate(record: dict) -> bool:
"""Validate record.
Args:
record: Record to validate.
Returns:
True if valid.
Raises:
ValidationError: If invalid.
"""
pass- Minimum 80% coverage
- All public functions tested
- Use
@pytest.mark.unitand@pytest.mark.integration - Follow AAA pattern
- Bug fixes
- New processors
- Documentation improvements
- Performance optimizations
- Test coverage improvements
- CI/CD enhancements
- Check Architecture
- Review API Reference
- Read Testing Guide
Thank you for contributing!