Thanks for your interest in contributing.
- Report bugs and UX issues
- Improve docs and examples
- Add tests or improve reliability
- Submit feature PRs aligned with project scope
See docs/DEVELOPMENT.md for local setup and command references.
- Fork and create a topic branch from
main - Keep changes focused and small
- Update docs when behavior/contracts change
- Ensure all required checks pass
- Open PR with clear context and screenshots/logs if relevant
ruff check backend/
ruff format backend/ --check
find backend -name '*.py' -exec python -m py_compile {} +cd frontend && bun x tsc --noEmit
cd frontend && bun run lint- Python: absolute imports from
backend.*, typed functions, async network I/O - TypeScript: use
@/aliases, keep components focused and testable - Avoid unrelated refactors in feature/fix PRs
- Keep API schemas and docs synchronized
Use clear, scoped messages, for example:
feat(backend): add pubmed source filterfix(frontend): handle empty citation listdocs: update API start/approve examples
Open a GitHub issue for architecture discussions before implementing major changes.