Thank you for your interest in contributing! This guide will help you get started.
- Python 3.12+
- Node.js 20+
- Docker & Docker Compose
- uv (Python package manager)
- k3s (for Kubernetes integration)
git clone https://github.com/HardMax71/Integr8sCode.git
cd Integr8sCode
# Install pre-commit hooks (required before submitting PRs)
uv tool install pre-commit
pre-commit install
# Start the development environment
./deploy.sh devBefore submitting any PR, ensure pre-commit hooks are installed. They run automatically on git commit and check:
- ruff: Python linting (style, imports, potential bugs)
- mypy --strict: Static type checking
- eslint: Frontend TypeScript/Svelte linting
- svelte-check: Frontend type checking
Run manually on all files:
pre-commit run --all-filesIf hooks fail, fix the issues before committing. The same checks run in CI, so local failures will also fail the pipeline.
cd backend
# Install dependencies
uv sync
# Run linting
uv run ruff check . --config pyproject.toml
# Run type checking
uv run mypy --config-file pyproject.toml --strict .
# Run tests
uv run pytestcd frontend
# Install dependencies
npm install
# Run dev server
npm run dev
# Run E2E tests
npx playwright test- Follow PEP 8 with 120 character line limit
- Use type hints for all function signatures
- Ruff handles import sorting and style enforcement
- MyPy strict mode enforces complete type coverage
- Use TypeScript for all new code
- Follow existing component patterns
- Use Svelte 5 runes syntax
-
Create a feature branch from
main:git checkout -b feature/your-feature-name
-
Make your changes with clear, atomic commits
-
Ensure all checks pass:
pre-commit run --all-files cd backend && uv run pytest cd frontend && npx playwright test
-
Push and create a PR against
main -
Fill out the PR template with:
- Summary of changes
- Test plan
- Any breaking changes
Use clear, descriptive commit messages:
feat: add user notification preferences
fix: resolve race condition in execution coordinator
docs: update deployment guide for k3s setup
refactor: extract common validation logic
test: add integration tests for DLQ processor
Use GitHub Issues with the provided templates:
- Bug Report: For unexpected behavior or errors
- Feature Request: For new functionality suggestions
Include reproduction steps, environment details, and relevant logs.
Open a GitHub Discussion or reach out via issues.