Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add instructions/techysy/10router/claude-mdgit clone --depth 1 https://github.com/techysy/10routerWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/instructions/techysy/10router/claude-md)<a href="https://agentmods.dev/instructions/techysy/10router/claude-md"><img src="https://agentmods.dev/badge/instructions/techysy/10router/claude-md.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.02391 | $0.02391 |
| Opus 5 | $0.01196 | $0.01196 |
| Sonnet 5 | $0.00478 | $0.00478 |
| Haiku 4.5 | $0.00239 | $0.00239 |
Grade A, and why
10router CLAUDE.md scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
- **Upstream features are re-implemented, never merged.** This fork's git history is deliberately rewritten (only techysy/ShiYanG Yu commits) and the contributor set is clean — that property is load-bearing. When upstrea How it starts
The opening of the file, as written. The whole thing — 98 lines — stays where its author put it; the contents beside it link to each section on GitHub.
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
What this is
10Router (10router-app) — a local AI routing gateway + Next.js dashboard. It exposes one OpenAI-compatible endpoint (/v1/*) and routes traffic across 40+ upstream providers with format translation, model-combo fallback, multi-account fallback, OAuth/API-key credential management, token refresh, quota/usage tracking, and optional cloud sync.
Two published artifacts live in this one repo:
- The dashboard + gateway (root
package.json,10router-app) — the Next.js server that does the actual routing. - The CLI launcher (
cli/, published to npm as@techysy/10router) — a separate package that installs/starts the server and manages the tray. It has its ownpackage.json, version, and build.
The code lives in src/ (Next.js app + dashboard/compat APIs), open-sse/ (the provider-agnostic routing/translation engine), cli/ (the launcher package), and tests/.
Commands
Dashboard/gateway (run from repo root):
cp .env.example .env
npm install
PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev # dev (webpack, port 20127 by default via next dev)
npm run build && PORT=20128 HOSTNAME=0.0.0.0 npm run start # production
- Bun variants:
npm run dev:bun/build:bun/start:bun. - Default runtime port is 20128 (dashboard at
/dashboard, API at/v1). - Lint:
npx eslint .(configeslint.config.mjs, extendseslint-config-next).
CLI package (cli/):
npm run cli:pack # build + npm pack from root
cd cli && npm run dev # nodemon watch
Tests (vitest, in tests/, an independent ESM package — not wired into root npm test):
npm install # ROOT deps first — tests import from src/ which needs `open`, `undici`, etc.
cd tests && npm install # then tests' own deps (vitest) → tests/node_modules (allowed by tests/.gitignore)
npx vitest run # all tests; auto-discovers tests/vitest.config.js
npx vitest run unit/capabilities.test.js # single file (path relative to tests/)
The committed
tests/package.jsontestscript hardcodes Unix paths (NODE_PATH=/tmp/node_modules …) — a shared-install workaround from upstream. On Windows (or anywhere), ignore it and use thenpx vitestform above;vitest.config.jsresolves theopen-sse/@/aliases from the repo root regardless of where vitest lives.The suite is NOT expected to be all-green on a plain checkout. ~1872 pass, ~41 fail. Judge regressions with
tests/__baseline__/verify-no-regression.mjs <results.json>, not a raw run — it passes as long as nothing that passed in the baseline now fails. Produce the report withnpx vitest run --reporter=json --outputFile=…. Expected red:
- All 41 catalogued in
tests/__baseline__/known-fails.txt(golden snapshot drift, windsurf URL, network-dependent fetches,db-concurrent, …). Re-baseline deliberately withnode tests/__baseline__/snapshot-known-fails.mjs <results.json>— it marks every failure in that report as expected, so read the gate output first.unit/embeddings.cloud.test.jsimportscloud/src/handlers/embeddings.js— thecloud/worker dir is not in this repo, so it always fails here.unit/db-benchmark.test.jsimportslowdb, the DB layer that SQLite replaced — it is no longer a dependency.real/*.real.test.jsmake live provider calls — need credentials, skip otherwise.Suite-level failures (
numFailedTestSuites) are counted separately from assertion failures: a file whose cases all pass can still fail on import or teardown. Check both.Four files (
auth/saml,unit/kimchi*,unit/cli-build-artifacts) are written againstnode:test, not vitest. They carry a shim that prefersvitestwhen importable and falls back tonode:test; without it vitest reports "No test suite found" and their results silently reach no count. Copy that shim in any newnode:testfile.
*.real.test.jsundertests/translator/real/make live provider calls — skip unless credentials are set.- Regression baselines:
tests/__baseline__/verify-*.mjscompare against committed snapshots (providers, aliases, OAuth URLs). Run these after touching provider registry / alias logic. - CI runs the suite on every push to
mainand every PR (.github/workflows/test.yml, ubuntu + Node 24, matching.nvmrc). It runs the three registry baselines, then the regression gate, and uploads the JSON report as an artifact — download that to re-baseline. The other three workflows only build (fpk / standalone / Docker).
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 3d ago First seen · 98 lines · 2,391 tokens per session scan A 987edd47f43b
10router CLAUDE.md is an instructions file published in the GitHub repository techysy/10router (11 stars, last pushed 4d ago), licensed MIT. It adds 2,391 tokens to every session, about $0.0120 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other instructions, from other repositories
GoModel CLAUDE.md
Instructions for ENTERPILOT/GoModel, covering core principles, follow postel’s law, follow the twelve-factor app, keep it simple and use good defaults.
GoModel AGENTS.md
Instructions for ENTERPILOT/GoModel, covering core principles, commit format — use conventional commits, code review and pr suggestion for the official repository.
1flowbase AGENTS.md
AGENTS.md instructions for taichuy/1flowbase, covering 记忆, 用户偏好, 本项目相关skill在, 本项目 skills and 质量控制.
1flowbase CLAUDE.md
Claude Code instructions for taichuy/1flowbase, covering 记忆 and 用户偏好.
1flowbase GEMINI.md
Gemini CLI instructions for taichuy/1flowbase, covering 记忆 and 用户偏好.
mockserver-monorepo AGENTS.md
AGENTS.md instructions for mock-server/mockserver-monorepo, covering mockserver — agent instructions, instruction priority, project overview, local development environment and project documentation.