Thanks for contributing to Find.
This project is part of GSSoC'26, and we want contributions to be beginner-friendly, reviewable, and production-safe.
- Check open issues and comment on one before starting work.
- Wait for maintainer confirmation/assignment.
- Fork the repository and branch from
main.
- Direct pushes to
mainare blocked. - Open a pull request from your branch.
- PR merge requires:
- Passing CI checks
- At least one approval
- Resolved review conversations
- Node.js 18+ and
pnpm - Python 3.12 and
uv - Docker and Docker Compose (recommended path)
- PostgreSQL +
pgvector, Redis, and MinIO (for non-Docker local runs)
docker compose up --buildBackend:
cd backend
uv sync --group dev
uv run uvicorn find_api.main:app --reloadWorker:
cd backend
uv run rq worker --url redis://localhost:6379 high default lowFrontend:
cd frontend
pnpm install
pnpm devUse short conventional prefixes:
feat:fix:docs:refactor:chore:test:ci:
Example:
feat: add upload validation for large ZIP files
Run these before opening a PR.
Frontend:
cd frontend
pnpm check
pnpm buildBackend:
cd backend
uv run ruff check .
uv run ruff format --check .Each PR must:
- Link an issue (
Fixes #<issue-number>). - Explain what changed and why.
- Include manual test steps and expected result.
- Add screenshots/videos for UI changes.
- Keep scope focused to one issue.
- Target the
mainbranch. - Pass CI checks (
frontend-check,backend-check).
Use the PR template in .github/pull_request_template.md.
- Maintainers usually respond within 24-48 hours.
- PRs without issue linkage, test notes, or clear scope can be sent back for updates.
- Do not mark conversations as resolved unless feedback is addressed.
- Do not force push over unresolved review comments without explanation.
If you open a new issue, include:
- Problem statement
- Reproduction steps (for bugs)
- Expected vs actual behavior
- Screenshots/logs where relevant
- Suggested approach (optional but helpful)
Useful labels:
good first issue: beginner-friendly taskshelp wanted: priority items where maintainer help is neededgssoc26: scoped for GSSoC'26level 1,level 2,level 3: expected complexity
- Be respectful and constructive.
- Follow the Code of Conduct.
- Use GitHub Issues/PR comments as the official project communication channel.
By contributing, you agree your contributions are licensed under the MIT License.