Contributing Guide
Before contributing, ensure you have completed the Development Setup and can successfully run the application locally.
Development Workflow
Create a working branch:
git checkout -b feature/your-feature-name
code .
Code quality checks:
uv run pytest
pre-commit run --all-files
Commit changes:
git add .
git commit -m "feat: add new transfer validation"
git push
Coding Standards
Conventional Commits
- Use descriptive branch names:
feature/for new featuresbugfix/for bug fixesdocs/for documentation changes-
refactor/for code refactoring -
Use conventional commit prefixes:
<type>(bump):for breaking changes (triggers a major release)feat:for new features (trigger minor release)fix:for bug fixes (trigger patch release)chore:for maintenance tasksdocs:for documentationrefactor:for code refactoringtest:for test additions or changes
Python Style Guide
- Follow PEP 8 style guidelines
- Use type hints where appropriate
- Maximum line length: 120 characters
- Use descriptive variable and function names
Testing Requirements
- Write unit tests for new functions and methods
- Add integration tests for new features
- Maintain or improve code coverage
- Test edge cases and error conditions
Code Review Process
All contributions must go through code review:
- Create a pull request with a clear description
- Ensure all CI/CD checks pass
- Address reviewer feedback
- Obtain approval from at least one maintainer