Thanks for helping. Keep changes small and focused.
Prerequisites: Python 3.12+ with uv, Node 24+ with pnpm 10. Optional: ShellCheck — make lint runs it on the shell scripts when installed, and skips with a note when it is not.
make setup # backend deps, frontend deps, .env from template
make test # backend pytest + frontend tests/typecheck
make lint # ruff, frontend lint, client-boundary checkDay-to-day: make dev (API on :8000, UI on :5173). Optional desktop: make app.
- Fork (or branch from
mainif you have write access). - Make a focused change — one concern per PR.
- Run
make testandmake lintlocally; fix failures before opening the PR. - Open a PR against
mainwith a short description of what and why. - Prefer tests for behavior changes. Docs-only PRs are welcome.
- Tests: add or update coverage when you change behavior.
- Lint: keep
make lintclean. - Scope: small, reviewable PRs beat large mixed ones.
- Security: OpenBot runs with host privileges (
run_shellis unsandboxed). Do not weaken trust boundaries without discussion.
Questions? Open an issue. Look for good-first-issue and help-wanted labels.