Contributing to Loryth
Every contribution makes Loryth better for everyone.
Getting started
Loryth is a monorepo with Python microservices on the backend and a React/React Native frontend. To get started:
- Fork and clone the repository
- Install prerequisites: Docker, Python 3.13+, Node.js 20+, pnpm
- Start infrastructure:
docker compose up -d postgres rabbitmq minio - Pick a service and run
make setup && make dev - For the UI:
cd ui && pnpm install && pnpm dev:web
Code standards
Python services use Ruff for linting/formatting, mypy for type checking, and pytest for testing. The UI uses ESLint, Prettier, and Vitest/Playwright.
All code must pass CI checks before merge. Run make lint && make test in any service directory to verify locally.
Pull requests
Use Conventional Commits for commit messages (e.g., feat(grocery): Add recipe import). Keep PRs focused on a single change. Include tests for new functionality.
Ways to contribute
- Report bugs or suggest features via GitHub Issues
- Improve documentation
- Add tests for existing code
- Fix open issues labeled “good first issue”
- Build new add-ons or extend existing ones
- Improve the UI/UX across web and mobile