Contributing¶
Thank you for your interest in contributing to weld!
Development Setup¶
Making Changes¶
- Create a branch for your changes
- Make your changes
- Run quality checks:
make check - Run tests:
make test - Submit a pull request
Code Style¶
- Line length: 100 characters
- Type hints: Required on all functions
- Docstrings: For public APIs
Linting and Formatting¶
Testing¶
Running Tests¶
# All tests
make test
# Unit tests only
make test-unit
# CLI integration tests
make test-cli
# With coverage
make test-cov
Test Markers¶
Use appropriate markers for tests:
@pytest.mark.unit
def test_something():
...
@pytest.mark.cli
def test_cli_command():
...
@pytest.mark.slow
def test_slow_operation():
...
Commit Guidelines¶
- Use imperative mood: "Add feature" not "Added feature"
- Keep commits small and focused
- Update CHANGELOG.md for user-facing changes
Pull Request Process¶
- Ensure
make cipasses - Update documentation if needed
- Add tests for new functionality
- Request review
See Also¶
- Developer Guide - Development overview
- Architecture - Understanding the codebase