Thank you for your interest in contributing to StreamFlow Analytics!
-
Clone the repository:
git clone https://github.com/arthurmgraf/streamflow-analytics.git cd streamflow-analytics -
Create a virtual environment:
python -m venv .venv source .venv/bin/activate -
Install dependencies:
pip install -e ".[dev]" -
Start infrastructure (requires K3s):
# Bootstrap K3s and deploy operators bash scripts/setup.sh # Deploy StreamFlow services make deploy
- Linting:
ruff check src/ tests/ - Type checking:
mypy src/ --strict - Formatting:
ruff format src/ tests/ - Testing:
pytest tests/ -v
All code must pass linting, type checking, and tests before merge.
# Unit tests
pytest tests/unit/ -v
# Contract tests
pytest tests/contract/ -v
# Integration tests
pytest tests/integration/ -v -m integration
# Full test suite with coverage
pytest tests/ --cov=src --cov-report=term-missingMinimum coverage threshold: 80%
- Fork the repository and create a branch from
main - Make your changes with tests
- Ensure CI passes (lint + type check + tests)
- Write a clear PR description explaining the "why"
- Request a review
We use Conventional Commits:
feat:� New featurefix:� Bug fixdocs:� Documentation onlyrefactor:� Code refactoringtest:� Adding or updating testschore:� Maintenance tasksinfra:� Infrastructure changes
For significant architectural changes, create an ADR in docs/adr/. Use the template format:
- Title, Status, Context, Decision, Consequences
By contributing, you agree that your contributions will be licensed under the MIT License.