Thank you for your interest in contributing to this project!
- Pixi installed on your system
-
Fork and clone the repository
git clone https://github.com/<your-username>/change-to-your-name.git cd change-to-your-name
-
Install dependencies
pixi install
-
Install Git hooks
pixi run pre-commit install
Before committing, ensure your code passes all checks:
# Lint
pixi run lint
# Format
pixi run format
# Type check
pixi run typecheck
# Run all checks
pixi run lint && pixi run format && pixi run typecheck# Run tests
pixi run test
# Tests include coverage (minimum 80%)# Check for dependency vulnerabilities
pixi run securityfeature/<description>- New featuresfix/<description>- Bug fixesdocs/<description>- Documentation changesrefactor/<description>- Code refactoring
This project uses Conventional Commits:
<type>: <description>
[optional body]
[optional footer]
Types:
feat: New featurefix: Bug fixdocs: Documentationtest: Testsrefactor: Code refactoringchore: Maintenance
Examples:
feat: add user authentication
fix: resolve null pointer in config loader
docs: update installation instructions
- Create a feature branch from
main - Make your changes
- Ensure all checks pass (lint, typecheck, test)
- Push to your fork
- Open a PR against
main
- Code follows the project's style guidelines
- Tests pass locally
- New tests added for new functionality
- Documentation updated if needed
- Commit messages follow Conventional Commits
This project uses:
- Ruff for linting and formatting
- ty for type checking
- pytest for testing
Configuration is in pyproject.toml.
- Open an issue for bugs or feature requests
- Check existing issues before opening new ones
- Provide clear reproduction steps for bugs
By contributing, you agree that your contributions will be licensed under the MIT License.