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

128 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Submitting a Pull Request
Step-by-step for contributors who already have a fork and a working fix.
---
## 1 — Set up your fork
```bash
# 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 branch**`release/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.
```bash
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:
```bash
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
```bash
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](https://www.conventionalcommits.org/):
```
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
```bash
git push -u origin fix/your-description
```
Then open a PR on GitHub targeting **`diegosouzapw/OmniRoute`** → **`release/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:
```bash
git fetch upstream
git rebase upstream/release/v3.8.24
git push --force-with-lease
```
---
## Quick reference
```bash
# 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](../CONTRIBUTING.md).