wardline CLAUDE.md

wardline CLAUDE.md is an instructions file for Claude Code from kabirnarang39/wardline. It costs 1,372 tokens per session, scanned A, original, Apache-2.0.

A project-specific guide for Wardline, an open-source Go proxy that controls calls between AI agents, model providers, and MCP servers. It defines a Clean Architecture structure, where core business code does not depend on outside systems such as HTTP, files, or third-party libraries.

In plain words
What is it for?
Use it when adding or changing Wardline features, especially policy checks, budget decisions, audit records, HTTP handlers, configuration loading, or application startup wiring.
Why use it?
It helps developers place code in the right part of the project and avoid dependencies flowing in the wrong direction. This keeps policy, budget, audit, and connection concerns separated.

Instructions file for Claude Code

Written for Claude Code: the file is CLAUDE.md.

Install

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.

agentmods
npx agentmods add instructions/kabirnarang39/wardline/claude-md
Clone the repo
git clone --depth 1 https://github.com/kabirnarang39/wardline

Made for: Claude Code.

Wrote 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.

agentmods badge for wardline CLAUDE.md

README.md
[![agentmods](https://agentmods.dev/badge/instructions/kabirnarang39/wardline/claude-md.svg)](https://agentmods.dev/instructions/kabirnarang39/wardline/claude-md)
Your own site
<a href="https://agentmods.dev/instructions/kabirnarang39/wardline/claude-md"><img src="https://agentmods.dev/badge/instructions/kabirnarang39/wardline/claude-md.svg" alt="Measured on agentmods" height="20"></a>
Per session 1,372 This file is loaded in full into every session.
When invoked 1,372 The same file — it is already loaded in full.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.01372 $0.01372
Opus 5 $0.00686 $0.00686
Sonnet 5 $0.00274 $0.00274
Haiku 4.5 $0.00137 $0.00137

Measured 6d ago against content hash 72b2746aca1f, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-06, from the pricing page.

Security

Grade A, and why

wardline CLAUDE.md scanned grade A with 0 findings 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 6d 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.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

CLAUDE.md · 124 lines

How it starts

The opening of the file, as written. The whole thing — 124 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Wardline — Engineering Conventions

Wardline is an open source control-plane proxy that sits between AI agents and everything they call (MCP servers, LLM providers, other agents) — enforcing identity, policy, budget, and audit. Go, Apache 2.0.

These conventions apply to all code in this repo. Follow them exactly; they override default behavior.

Architecture: Clean Architecture, dependency rule inward

Four layers, dependencies point one direction only — outer depends on inner, never the reverse:

domain        → entities + interfaces only. No I/O, no frameworks, no imports outside stdlib.
usecase       → business logic (policy evaluation, budget checks, audit decisions).
               Depends on domain interfaces, never on adapters or infra directly.
adapter       → translates between usecase and the outside world (HTTP handlers,
               YAML/OPA loaders, log writers). Implements domain interfaces.
infra         → frameworks, network, filesystem, third-party SDKs. Wired at the
               outermost edge only (cmd/wardline/main.go).

A file in domain/ or usecase/ that imports net/http, a YAML library, or any adapter package is a violation — stop and fix the dependency direction, don't add an exception.

SOLID, applied concretely

  • Single Responsibility — one package, one reason to change. If a package handles both policy matching and audit logging, split it.
  • Open/Closed (the one that matters most here) — every pluggable engine (policy backend, identity issuer, budget meter) is a domain-defined interface, and adding a new backend means adding a new adapter, never editing the usecase that consumes it. Concrete example: policy.Engine interface has an OPA/Rego adapter today; Cedar arrives later as a second adapter, zero changes to usecase/policy_eval.go.
  • Liskov — any implementation of a domain interface must be swappable without the caller changing behavior/assumptions. If a new policy.Engine impl needs the usecase to special-case it, the interface is wrong — fix the interface, not the caller.
  • Interface Segregation — small, single-purpose interfaces (policy.Evaluator, audit.Writer, budget.Meter) over one large Engine god-interface. Consumers depend only on the methods they call.
  • Dependency Inversion — usecases accept interfaces via constructor injection; concrete adapters are wired only in cmd/wardline/main.go. Never import an adapter package from usecase/.

Read the full file on GitHub · 124 lines

Changes

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.

  1. 6d ago First seen · 124 lines · 1,372 tokens per session scan A 72b2746aca1f

Subscribe to this mod's changes

wardline CLAUDE.md is an instructions file published in the GitHub repository kabirnarang39/wardline (8 stars, last pushed 3d ago), licensed Apache-2.0. It adds 1,372 tokens to every session, about $0.0069 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.