Thanks for helping improve Rakazo. Keep changes focused and testable.
See README.md for full details. Quick start from the repo root:
cp .env.example .env
# Set BETTER_AUTH_SECRET and ENCRYPTION_KEY to long random strings.
docker compose --env-file .env -f infra/compose/docker-compose.yml up postgres -d
pnpm install
pnpm db:generate
pnpm db:migrate
pnpm sandbox:build
pnpm dev| Command | When to run |
|---|---|
pnpm test |
Default. Units, properties, and in-process contracts. Scripted runtime, fake sandbox, in-memory wakeup — no live connector or model-provider calls. |
pnpm test:integration |
Postgres via Testcontainers: product journeys, authorization, executor lifecycle, Graphile / LISTEN/NOTIFY. Needs Docker. |
pnpm test:e2e |
Playwright against the emulated API. Needs Docker. |
pnpm test:topology |
Local product-path smoke: Docker computer + Graphile worker recovery. Needs Docker. Not PR CI. |
pnpm test:canary |
Live OpenRouter / E2B canaries. Needs keys. Not PR CI. |
pnpm test:computer |
Real vision model + E2B desktop. Needs keys; see README. Not PR CI. |
pnpm check |
TypeScript (tsc) across the monorepo. |
pnpm lint |
Biome lint and format check. |
CI runs pnpm lint, pnpm check, production builds (including Electron preload smoke), pnpm test, pnpm test:integration, and pnpm test:e2e on every PR.
- Never commit
.envfiles or secrets. - Never paste API keys, tokens, or passwords in issues or PRs.
- Use placeholders in examples (
your-openrouter-key, etc.).
The product path is Pi + Docker + Graphile. Emulator settings (AGENT_RUNTIME=scripted, SANDBOX_PROVIDER=fake, WAKEUP_DRIVER=memory) are for tests only.
Integrations can use Composio or Pipedream Connect as optional managed app catalogs. Users can also install HTTPS MCP servers (including Treg) and bounded OpenAPI tool sources. Connector tests must stay deterministic and offline. Never put connector credentials in capability config, fixtures, logs, or snapshots; use the encrypted secret store and fake placeholders.
- Keep PRs small and easy to review.
- Target the
mainbranch. - Describe what changed and how you tested (e.g.
pnpm test, manual steps). - Link related issues when applicable.
| Address | Use for |
|---|---|
| security@rakazo.com | Vulnerabilities only — see SECURITY.md |
| support@rakazo.com | User and support questions |
| elie@rakazo.com | Maintainer |