Thank you for your interest in contributing to WATFlow!
-
Clone the repository:
git clone https://github.com/cilladev/watflow.git cd watflow -
Install Poetry (if not already installed):
curl -sSL https://install.python-poetry.org | python3 - -
Install dependencies:
poetry install --with dev
-
Set up pre-commit hooks:
poetry run pre-commit install
-
Activate the virtual environment:
poetry shell
We use pre-commit to ensure code quality. The hooks run automatically on every commit:
- Ruff Check - Linting with auto-fix
- Ruff Format - Code formatting
- Trailing whitespace - Remove trailing whitespace
- End of file fixer - Ensure files end with newline
- Check YAML - Validate YAML syntax
- Check large files - Prevent large files from being committed
- Check merge conflict - Detect merge conflict markers
To run hooks manually on all files:
poetry run pre-commit run --all-filespoetry run pytestWe use Ruff for linting and formatting:
# Check for issues
poetry run ruff check .
# Auto-fix issues
poetry run ruff check --fix .
# Format code
poetry run ruff format .poetry run mypy watflow-
Create a new branch for your feature or fix:
git checkout -b feature/your-feature-name
-
Make your changes and ensure tests pass
-
Commit your changes (pre-commit hooks will run automatically)
-
Push to your fork and create a pull request
- Keep PRs focused on a single feature or fix
- Include tests for new functionality
- Update documentation if needed
- Ensure all tests pass before submitting
- Pre-commit hooks must pass
When reporting issues, please include:
- Python version
- Operating system
- Steps to reproduce
- Expected vs actual behavior
Feel free to open an issue for any questions about contributing.