Development setup
Two paths: local dev (./rh dev …) for day-to-day work, or all-in-one Docker (./rh start) for a full environment without local service wiring.
Prerequisites
uv for Python tooling, Node.js 18+ for the frontend and docs, and Docker for ./rh dev up and ./rh start.
Default ports
| What | Port |
|---|---|
Backend API / OpenAPI (./rh dev backend) | 8080 |
Frontend / Next.js (./rh dev frontend) | 3000 |
Documentation site (./rh dev docs) | 3001 |
Dev PostgreSQL (./rh dev up) | 11000 |
Dev Redis (./rh dev up) | 11001 |
Mock LLM server (./rh dev mock-llm) | 18080 |
Mock Chatbot server (./rh dev mock-chatbot) | 18090 |
Clone the repo
Path 1: Local dev (recommended)
From the repo root:
./rh dev init writes apps/backend/.env and apps/frontend/.env.local. If those files already exist and were not created by init, the script may prompt before overwriting.
Tip: ./rh dev tmux starts all of the above in one tmux session, one window per service. Run ./rh help or ./rh dev for the full command list (./rh dev docs, ./rh dev status, etc.).
Optionally, start the mock servers (see LLM access):
LLM access
Rhesis relies on LLMs for test generation and evaluation. Three options:
- Use the LLM provided by Rhesis.ai (recommended) — create an account at app.rhesis.ai , generate an API key, and paste it into
apps/backend/.env:
- Bring your own LLM — add your model under Model → Add → Language Model, and set it as the default for generation, evaluation, and execution.
- Use the mock LLM — single-turn only, still in development and may be buggy. Start it with
./rh dev mock-llmand./rh dev mock-chatbot.
Path 2: Full stack with Docker
Frontend at http://localhost:3000 , API at http://localhost:8080/docs . Manage the stack with ./rh logs, ./rh stop, ./rh restart (add --build to rebuild), and ./rh delete. This mode is aimed at local testing, including convenient sign-in behavior. For production deployment, see the deployment documentation.
Branching, commits, and checks
- Feature branches and Conventional Commits
uvx pre-commit installbefore your first commit- Run
make format,make lint, andmake testfromapps/backend/,sdk/, orapps/frontend/as appropriate
Troubleshooting
./rh dev upfails: ensure Docker is running and nothing else is bound to the dev Postgres/Redis ports above- Backend database errors: run
./rh dev upafter./rh dev init; for non-local databases, see Environment config - Stale Python env: from
apps/backend, runuv syncagain and useapps/backend/.venv - Still stuck? Ask on Discord