Thank you for your interest in contributing to weld!
git clone https://github.com/ametel01/weld-cli.git && cd weld-cli
make setup
eval $(make venv-eval)- Create a branch for your changes
- Make your changes
- Run quality checks:
make check - Run tests:
make test - Submit a pull request
- Line length: 100 characters
- Type hints: Required on all functions
- Docstrings: For public APIs
# Auto-fix linting issues
make lint-fix
# Format code
make format
# Type checking
make typecheck# All tests
make test
# Unit tests only
make test-unit
# CLI integration tests
make test-cli
# With coverage
make test-covUse appropriate markers for tests:
@pytest.mark.unit
def test_something():
...
@pytest.mark.cli
def test_cli_command():
...
@pytest.mark.slow
def test_slow_operation():
...- Use imperative mood: "Add feature" not "Added feature"
- Keep commits small and focused
- Update CHANGELOG.md for user-facing changes
- Ensure
make cipasses - Update documentation if needed
- Add tests for new functionality
- Request review
- Developer Guide - Development overview
- Architecture - Understanding the codebase