aslamplr

Turnpike — Testing skill for Claude Code

Testing community

A minimal local gateway that proxies Claude/Anthropic and OpenAI-spec clients to any OpenAI- or Anthropic-compatible LLM provider, with model remapping and one-command launch integrations for Claude C.

How to install Turnpike

This entry records only its repository, not the path inside it, so there is no exact command to give. Open aslamplr/turnpike and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Turnpike does

A minimal local gateway that proxies Claude/Anthropic and OpenAI-spec clients to any OpenAI- or Anthropic-compatible LLM provider, with model remapping and one-command launch integrations for Claude Code and Claude Desktop.

Alternatives in Testing

  • Agent Plugins Spec — Agent Plugins Specification v1.0.0 — A minimal standard for packaging agent extensions into distributable plug 1.2k ★
  • Next Evals OSS — Evals for Next.js up to 15.5.6 to test AI model competency at Next.js 310 ★
  • Robotics Agent Skills — Agent skills that make AI coding assistants write production-grade robotics software 170 ★

README

turnpike

A minimal local LLM gateway in Rust, modeled on Ollama's Claude integration (`internal/proxy/claude_desktop.go` + `middleware/anthropic.go` + `ollama launch`).

It lets Anthropic- and OpenAI-spec clients (Claude Code, Claude Desktop, the Anthropic/OpenAI SDKs) run against **any** upstream provider that speaks the OpenAI or Anthropic wire spec — initially OpenCode Zen — by proxying requests byte-for-byte while rewriting only the `model` field.

Full design documentation — architecture, configuration reference, the gateway, the spec bridge, search middleware, and the launchers — lives in [docs/](docs/).

What it does

  1. Gateway with reverse proxy + model remapturnpike serve starts a loopback HTTP server. Client-facing model ids (e.g. claude-sonnet-5) map onto provider/model pairs; the gateway rewrites the model JSON field, injects the upstream provider's credentials, and streams the response straight back. Like-for-like specs pass through untouched; when the specs don't match, the bridge translates (below).
  2. One-command client launchers — like ollama launch claude:
    • turnpike launch claude-code finds/installs the claude binary and spawns it with ANTHROPIC_BASE_URL pointed at the gateway and every model tier (opus/sonnet/haiku/subagents) remapped to a route id.
    • turnpike launch claude-desktop writes a third-party inference gateway profile into Claude Desktop's config library (mirroring Ollama's app), with automatic backup and --restore. Claude Desktop only recognizes UUID-named profile files, so turnpike uses the stable 00000000-0000-5000-9000-000000000128.json and registers it in _meta.json; older turnpike.json files are migrated out automatically, and pre-turnpike snapshots live in turnpike-backups/ next to configLibrary.
  3. Agentic search middleware — when a bridged Claude client declares a web_search server tool and a search provider