l dog

Teach old APIs new tricks.
Agents operate your legacy system, safely.

curl -fsSL https://raw.githubusercontent.com/iml885203/lodog/main/install.sh | sh

v0.1.0 · macOS & Linux · works with any Swagger / OpenAPI spec

Point it at a Swagger file. Get an agent you can trust.

lodog sits between your agent and the legacy API. The old system stays exactly as it is.

Score it first

lodog score rates your spec out of 30 and lists what an agent will trip on.

Tool count Descriptions Paging Error responses Risk declared Auth declared
How scoring works →

Prove it with a report

Benchmark every level and get one page: your API today, then with lodog.

Open the sample report →
Sample lodog report: total score gauge capped by a safety limit, with correct, honest, safe, efficient and described sub-scores.

Guard every call

The gateway enforces policy, not the agent. Dangerous calls wait for a human.

GET /players/42allow
POST /withdrawalshold for approval
DELETE /users/42deny
GET /admin/resethide

Let your agent onboard it

Install the skill, then paste one line into Claude Code. It stops only for your decisions.

Connect my system to lodog. The Swagger spec is at <your URL>.

Built for the system you already run.

Not a platform, not a rewrite. Just the layer between your API and the agent.

No code changes

L0 to L3 all happen in the gateway. L4 only recommends; the owner decides.

Enforced, not asked

Approvals and permissions are blocked at the gate, never left to the agent's good behaviour.

Proven with a score

Every improvement shows up as a number: task success and zero unapproved calls.

Climb the levels.

  1. L0RawThe Swagger as it is
  2. L1ReadableEvery API described
  3. L2Task tools~20 tools, with undo
  4. L3GovernedApprovals enforced
  5. L4Agent-nativeCode changes, owner's call

Teach your ldog its first trick.

Four commands from a Swagger file to Claude Code, or one prompt and let your agent do it.

# how agent-ready is it today?
lodog score petstore3.json
# set up a case, start the gateway
lodog init petstore --swagger petstore3.json --upstream https://petstore3.swagger.io/api/v3
lodog serve -c petstore/gateway/L1.yaml
# connect Claude Code
claude mcp add --transport http petstore http://127.0.0.1:7400/mcp