Thanks for your interest in contributing to this project! We welcome contributions of all sizes — from bug reports and documentation improvements to feature work and code review.
We follow conventional commits in this project. Commit types include:
feat:— new featurefix:— bug fixdocs:— documentationtest:— test additions or updateschore:— dependencies, config, toolingrefactor:— code restructuring without behavioral change
Example: feat: add voting comparison view or fix: handle missing profile data.
Install dependencies with uv:
uv sync
uv run pytest -qCode quality is enforced with ruff:
uv run ruff check .
uv run ruff format .Install and run the dev server:
cd ui
npm install
npm run dev
npm run buildFrontend code is linted with ESLint and formatted with Prettier (configured via your editor or pre-commit hooks). You should see any issues when you build or start the dev server.
# Python
uv run pytest -q
# Frontend (build validation)
cd ui && npm run buildThis project requires a Google Cloud Platform project with BigQuery access to run the full pipeline. The application will not function without:
- A GCP project ID
- A BigQuery dataset
- A service account with BigQuery permissions
- Google Gemini API credentials
- X/Twitter API v2 bearer token
There is currently no offline demo mode. If you'd like to contribute but don't have cloud access, here are great entry points:
- Frontend-only issues: UI improvements, mobile layout fixes, new components
- Documentation: README, API docs, architecture guides, translations
- Data/testing: issue reporting, feature requests, UX feedback
See .env.example for all required environment variables.
- Fork the repository and create a feature branch:
git checkout -b feat/your-feature-name - Make your changes, following the code style guidelines above
- Write or update tests for your changes
- Commit with a conventional commit message
- Push and open a pull request against
main
Please review our Code of Conduct. We're committed to providing a welcoming and inclusive environment for all contributors.
We're part of The Public Knowledge Workshop (hasadna), an Israeli NGO building civic tech and government transparency tools.
- Weekly meetups: Mondays at Google Campus Tel Aviv (Hebrew and English welcome)
- Email: info@hasadna.org.il
- Website: hasadna.org.il
Questions? Don't hesitate to reach out — we'd love to meet you and discuss ideas for the project.
By contributing to this project, you agree that your contributions will be licensed under the MIT License.