Contributing
January 18, 2026 ยท View on GitHub
Thank you for your interest in contributing to db-sync-tool!
๐ ๏ธ Setup
# Clone the repository
git clone https://github.com/konradmichalik/db-sync-tool.git
cd db-sync-tool
# Install dependencies
pip install -r requirements.txt
pip install -e .
Requirements: Python 3.10+, Docker (for integration tests), Node.js (for docs)
โ Code Quality
# Linting
pipx run ruff check db_sync_tool/
pipx run ruff check db_sync_tool/ --fix
# Type checking
pipx run mypy db_sync_tool/
๐งช Testing
# Unit tests (fast, no Docker)
./tests/run-unit-tests.sh
# Integration tests (requires Docker)
./tests/run-integration-tests.sh
# With coverage
./tests/run-unit-tests.sh --cov
๐ Documentation
Documentation is built with VitePress and deployed to GitHub Pages.
# Install dependencies
npm install
# Start local dev server
npm run docs:dev
# Build for production
npm run docs:build
Edit files in docs/:
getting-started/- Installation, quickstart, framework guidesconfiguration/- Config options, auto-discovery, authenticationreference/- Sync modes, CLI referencedevelopment/- Testing, release guide
๐ Pull Request Process
- Create a branch from
main - Make changes following existing code style
- Run linting and tests
- Commit with Conventional Commits:
feat:New featurefix:Bug fixdocs:Documentationtest:Testsrefactor:Refactoring
- Push and open a PR
๐ค CI/CD
All PRs are checked by GitHub Actions:
- Unit tests (Python 3.10-3.13)
- Integration tests (Docker)
- Linting (ruff)
- Type checking (mypy)
- Docs build (VitePress)
โ Questions?
Open an issue on GitHub.