Files
OmniRoute/docs/SUBMIT_PR.md
diegosouzapw 971b54c452 docs: refresh root + docs/ documentation to current architecture (v3.8.24)
Deep codebase audit corrected stale counts and facts across the root and
docs/ root documentation (verified against source, not from memory):

- MCP tools 43/37/29/69 → 87 (TOTAL_MCP_TOOL_COUNT); MCP scopes ~13 → 30
- DB domain modules 45+/76 → 83; migrations 55/94 → 97 (latest 099)
- Routing strategies 14 → 15 (added missing reset-window)
- A2A skills 5 → 6; provider entries 229 → 232; open-sse services 111 → 115/184
- Node engine ≥20.20.2/22.22.2/24<25 → >=22.0.0 <23 || >=24.0.0 <27
- TypeScript 5.9 → 6.0; README footer v3.8.6 → v3.8.24
- Husky pre-push 'disabled' → active (check:any-budget:t11 + check:tracked-artifacts)
- docs/README.md version 3.8.2 → 3.8.24; fixed duplicate '## architecture/' → '## reference/'
- docs/AGENTROUTER.md wire image: claude-cli 2.1.137 → 2.1.158, +redact-thinking-2026-02-12 beta flag
- docs/SUBMIT_PR.md: version-agnostic release-branch guidance, coverage gate 75/75/75/70 → 60/60/60/60
- AGENTS.md: removed broken open-sse/AGENTS.md link, restamped live-counts to v3.8.24
- README: documented plugin marketplace, Notion/Obsidian, embedded services; fixed broken
  skills/omniroute path + 10→43 skills; added CHANGELOG link; cleaned orphaned <details> tags

check:docs-sync + check:docs-counts green. No new fabricated-docs/symbols drift introduced.
2026-06-13 15:46:42 -03:00

3.2 KiB
Raw Blame History

Submitting a Pull Request

Step-by-step for contributors who already have a fork and a working fix.


1 — Set up your fork

# Clone your fork
git clone https://github.com/<your-username>/OmniRoute.git
cd OmniRoute

# Add the upstream repo so you can sync
git remote add upstream https://github.com/diegosouzapw/OmniRoute.git

# Install dependencies (.env is auto-created from .env.example)
npm install

2 — Sync with the current release branch

PRs go to the current release branchrelease/v3.8.24 at the time of writing. Always target the latest release/v* branch (the repository's active development branch), never main. Check the repo's branch list or CONTRIBUTING.md if a newer release cycle has opened.

git fetch upstream
git checkout -b fix/your-description upstream/release/v3.8.24

If you already made your changes on another branch, rebase on top of it:

git fetch upstream
git rebase upstream/release/v3.8.24

3 — Branch naming

Prefix Use for
feat/ new feature
fix/ bug fix
refactor/ code restructuring (no behavior change)
docs/ documentation only
test/ tests only
chore/ tooling, deps, CI

Examples: fix/codex-token-refresh, feat/provider-xyz, docs/update-readme


4 — Validate before committing

npm run lint          # must pass (0 errors)
npm run typecheck:core  # must pass
npm run test:unit     # must pass
npm run test:coverage # coverage gate: 60/60/60/60 (statements/lines/functions/branches)

If you changed production code in src/, open-sse/, electron/, or bin/, include or update tests in the same PR.


5 — Commit

Follow Conventional Commits:

feat(dashboard): add provider search filter
fix(combo): resolve pending request leak on timeout
docs(readme): update installation steps
test(auth): add JWT expiry edge case

Common scopes: api, dashboard, db, sse, oauth, providers, combo, mcp, cli, i18n


6 — Push and open the PR

git push -u origin fix/your-description

Then open a PR on GitHub targeting diegosouzapw/OmniRouterelease/v3.8.24.

PR description checklist:

  • What the change does (13 bullets)
  • How to test it
  • Test files added or updated (if production code changed)

7 — After opening the PR

  • CI runs lint + typecheck + tests automatically.
  • Address review comments with new commits (do not force-push after review starts).
  • If the base branch advances, sync with:
git fetch upstream
git rebase upstream/release/v3.8.24
git push --force-with-lease

Quick reference

# Full validation in one command
npm run lint && npm run typecheck:core && npm run test:coverage

# Run a single test file
node --import tsx/esm --test tests/unit/your-file.test.ts

# Start dev server
npm run dev   # http://localhost:20128

For the full contributor guide see CONTRIBUTING.md.