

Also from Kynth Studios


Also from Kynth Studios


Also from Kynth Studios
1# Project Overview23## Brief overview45This is a Cloudflare Worker proxy for OpenAI-compatible and Claude-compatible AI clients (Cline, Claude Code, etc.). It receives local client requests, resolves friendly model aliases, and forwards requests to upstream LLM providers (NVIDIA NIM, OpenRouter, LMStudio, LlamaCPP, Ollama, Google, Claude/Anthropic).67## Tech Stack89- **Runtime**: Cloudflare Workers with Durable Objects for async flows10- **Framework**: Hono (lightweight web framework)11- **Language**: TypeScript12- **Testing**: Vitest with Node.js compatibility mocks13- **Package Manager**: pnpm with strict supply-chain hardening14- **Primary Pattern**: Proxy — forward OpenAI-compatible and Claude-compatible requests to upstream LLM providers1516## Key Concerns1718- Model alias resolution (friendly names → upstream IDs)19- Streaming SSE response preservation20- Error status code forwarding from upstream21- Provider-agnostic interface22- Rate limiting23- Metrics collection via Cloudflare Analytics Engine24- **Claude API compatibility** — translates Claude `/v1/messages` to OpenAI upstream and back2526## Project Structure2728- `server.ts` — Hono app entrypoint, middleware, error handler, Durable Object re-export29- `controllers/` — Business logic controllers (all request processing happens here)30 - `chat.ts` — OpenAI-compatible chat completions31 - `claude-messages.ts` — Claude-compatible `/v1/messages` endpoint32 - `count-tokens.ts` — Claude-compatible token counting33 - `health.ts` — Health check endpoint34 - `legacy.ts` — Backward-compatible model listing35 - `models.ts` — Model discovery endpoints36 - `process.ts` — Async Durable Object workflow37 - `root.ts` — Root endpoint38 - `stop.ts` — Stop all pending tasks39 - `probe.ts` — HEAD/OPTIONS probe handler40- `routes/` — Thin route registration (delegates immediately to controllers)41- `providers/` — Provider implementations (NVIDIA, OpenRouter, local, Claude, Google)42- `config/providers.ts` — Provider configs, model aliases, model resolution, Claude tier mapping43- `interfaces/` — Shared TypeScript interfaces44- `metrics/` — Metrics collection and Analytics Engine queries45- `utils/` — Logger, response helpers, Claude model mapping, Claude request utilities46- `errors/` — Provider error classes47- `parsers/` — Tool call and think tag parsers48- `transformers/` — Claude ↔ OpenAI format transformers, RTK filter pipeline49- `durable-objects/` — Async processing with Durable Objects50
One repository carrying more than one format is the comparison this product exists for: does anyone actually write different content in each file, or is one a copy of the other?
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| sosan/proxy-llms.clinerules/routing-pattern.md · 0 | Cline rules | stylearchdo-not | 65/100 | 13 days ago | |
| sosan/proxy-llms.clinerules/development-workflow.md · 0 | Cline rules | setuptestarchagent-behaviour | 78/100 | 13 days ago | |
| sosan/proxy-llms.clinerules/security.md · 0 | Cline rules | setupstylearchsecurity+1 | 80/100 | 13 days ago | |
| sosan/proxy-llms.clinerules/metrics.md · 0 | Cline rules | archsecurity | 54/100 | 13 days ago | |
| sosan/proxy-llmsCLAUDE.md · 0 | CLAUDE.md | setupteststylesecurity+3 | 81/100 | 13 days ago | |
| sosan/proxy-llms.clinerules/typescript.md · 0 | Cline rules | stylearchtypesdo-not | 69/100 | 13 days ago |
Same format, overlapping stack, ranked by quality.
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| bashdeban/fastmind.clinerules/.project-consistency-keeper2.md · 5 | Cline rules | setupbuildtestlint-format+11 | 100/100 | 14 days ago | |
| JCodesMore/ai-website-cloner-template.clinerules · 32k | Cline rules | buildlint-formatstylearch+3 | 97/100 | 7 days ago | |
| u9401066/zotero-keeper.clinerules/50-pubmed-project.md · 6 | Cline rules | testlint-formatstylearch+1 | 94/100 | 14 days ago | |
| u9401066/zotero-keepervscode-extension/resources/repo-assets/pubmed-search-mcp/.clinerules/50-pubmed-project.md · 6 | Cline rules | testlint-formatstylearch+1 | 94/100 | 14 days ago | |
| VaillerTeeter/HoshimiNest.clinerules/project-identity.md · 1 | Cline rules | setuparchtypesdo-not | 93/100 | 12 days ago | |
| blendsdk/codeops-mcp.clinerules/project.md · 0 | Cline rules | buildteststylearch+7 | 91/100 | 14 days ago | |
| cline/cline.clinerules/general.md · 66k | Cline rules | setupbuildstylearch+2 | 86/100 | 14 days ago | |
| tsongglod123/excel-formula-visualizer.clinerules/development.md · 0 | Cline rules | setupbuildtestarch+2 | 86/100 | today |
A badge carrying the measured quality of the strongest agent config file in this repository, out of 100. It reads from this index every time somebody loads your page, so it changes when the measurement changes and there is nothing to keep up to date. Free, no account, and the value is not something you or we can set by hand.
[](https://rulestack.kynth.studio/configs/sosan-proxy-llms-clinerules-project-overview)Would rather not hotlink us? Every badge is also served in shields.io’s endpoint schema, so shields renders the image and your readers never talk to our domain:
Published by Toolproof, the masthead over this index and eight others. The method behind the number is at toolproof.kynth.studio/methodology, and the whole thing is readable as JSON with no key at /api.