We use GitHub issues for tracking issues, bugs, and feature requests.
New contributors must agree to the contributor license agreement.
We use uv to manage the Python environment and dependencies, and npm to manage the web UI.
# First install uv: https://github.com/astral-sh/uv
uv sync
cd app/web_ui
# install Node if you don't have it already
npm install
Running the web-UI and Python servers separately is useful for development, as both can hot-reload.
To run the API server, Studio server, and Studio Web UI with auto-reload for development:
-
In your first terminal:
uv run python -m app.desktop.dev_server
-
In a second terminal, navigate to the web UI directory and start the dev server:
cd app/web_ui npm run dev --
-
Open the app: http://localhost:5173/run
See the desktop README instructions for running the desktop app locally.
We have a large test suite, and use ruff for linting and formatting.
Please ensure any new code has test coverage, and that all code is formatted and linted. CI will block merging if tests fail or your code is not formatted and linted correctly.
To confirm everything works locally, run:
./checks.sh