Thank you for your interest in contributing to OpenBrain!
- Fork the repository and create your feature branch from
main. - For release work, use a
release/*branch name. - Keep changes small and focused; add tests for new functionality.
- Backend: Python 3.11+, FastAPI
- Frontend: Node 20+, React + Vite + TypeScript
- Tests:
pytestfor backend;vitestfor frontend
# Backend
python3 -m venv backend/.venv
source backend/.venv/bin/activate
pip install -r backend/requirements.txt
# Frontend
(cd web && npm ci)
# API
(cd backend && uvicorn app.main:app --reload --host 127.0.0.1 --port 8000)
# Web
(cd web && npm run dev)
pytest
(cd web && npm test)
(cd web && npm run lint)
- Use conventional commits where possible (e.g.,
feat:,fix:,docs:,chore:,refactor:). - Scope is encouraged (e.g.,
backend:,web:,docs:).
- Describe the motivation, approach, and testing.
- Include screenshots or logs if helpful.
- Ensure CI is green before requesting review.
By participating, you agree to abide by our Code of Conduct.