# Welcome to OmniRoute ## How We Use Claude Based on diegosouzapw's usage over the last 30 days: Work Type Breakdown: Build Feature ████████████████████ 50% Plan Design ██████████░░░░░░░░░░ 25% Improve Quality ██████░░░░░░░░░░░░░░ 15% Write Docs ████░░░░░░░░░░░░░░░░ 10% Top Skills & Commands: _no slash commands captured in this window_ Top MCP Servers: _no MCP usage captured in this window_ ## Your Setup Checklist ### Codebases - [ ] omniroute — https://github.com/diegosouzapw/omniroute - [ ] OpenCode_Ecosystem (fork) — https://github.com/diegosouzapw/OpenCode_Ecosystem - [ ] OpenCode_Ecosystem (upstream) — https://github.com/MarceloClaro/OpenCode_Ecosystem ### MCP Servers to Activate - [ ] _none required from current usage. If you'll be working on OmniRoute itself, ask the team about the project's own embedded MCP server at `/api/mcp/stream`._ ### Skills to Know About - _no skills surfaced from usage data. The team's workflow leaned heavily on direct file edits, git/gh CLI, and subagent dispatch for parallel work — Claude figures these out from context._ ## Team Tips - **Read `CLAUDE.md` first.** It has hard rules that override defaults — e.g. never write raw SQL in routes (use `src/lib/db/` modules), never add `Co-Authored-By: Claude` to commits, error responses must go through `buildErrorBody()` / `sanitizeErrorMessage()`. - **Subagents for parallel work.** When tasks are independent, dispatch multiple sonnet subagents in one message instead of doing them yourself. Always audit `git diff` after a subagent finishes — its summary describes intent, not necessarily the result. - **Conventional Commits** for everything: `feat(scope):`, `fix(scope):`, `chore(scope):`, `docs:`. Scopes used here include `db`, `sse`, `oauth`, `dashboard`, `api`, `agents`, `plugin`, `skills`, `commands`. - **Run the full validation suite before declaring done** — `npm run check` (lint + tests) at minimum; `npm run test:coverage` if you changed production code. Hard gate: 75/75/75/70 (statements/lines/functions/branches). - **Husky pre-push runs unit tests.** Don't `--no-verify` past it without explicit approval — the project documents this as a hard rule. ## Get Started - Clone the repo and run `npm install` (auto-generates `.env` from `.env.example`). - Generate secrets: `openssl rand -base64 48` for `JWT_SECRET`, `openssl rand -hex 32` for `API_KEY_SECRET`. Paste into `.env`. - `npm run dev` → dashboard at `http://localhost:20128`. - Read `docs/architecture/REPOSITORY_MAP.md` for the file layout, then `docs/architecture/ARCHITECTURE.md` for how requests flow. - For a first PR: pick something from `_tasks/` if there's a backlog, or grep for `// TODO` and pick a small one. Run `npm run check` before opening the PR.