A community-driven registry for Claude, Cursor, Windsurf, Cline & more. Not affiliated with Anthropic.
Are you the author? Sign in to claim
An agentic law firm. Yours. 67 specialist AI agents that review documents through evidence-backed debate, with mandatory
A multi-agent legal system. Apache 2.0.
A team of 67 agent prompts (specialists plus orchestrators) coordinating through a debate protocol. The system reads documents, posts findings with cited evidence, runs three layers of verification, and pauses at a human gate before critical decisions land. Runs against Anthropic, Mistral (EU), or fully local via Ollama.
Built by a law firm founder over six months because the prevailing "AI as a junior associate" framing felt like the wrong analogy to start from. Whether this is the right one is what we're publishing to find out.
Watch the demo → · lavern.ai · Architecture deep-dive → · Quick Start →
This is not a product. Lavern is best understood as a collection of ideas in one repo. A polished demo of how we could build in the future.
You can criticise it for not working as a "product". That misses the mark. It is not meant to be a product. It is a source of inspiration.
It is at least ten things, several of which are, on their own, products somebody could build a company around. They are sitting in the repo. Take whichever ones you want.
What is and isn't stress-tested. The architecture is real and the code is open. The pipeline runs, the agents debate, the verification loops fire, the precedent board persists, the tests pass. What hasn't been independently validated is the quality bar: whether all this machinery produces materially better outputs than a well-prompted single LLM on a representative sample of real legal work. We have internal evaluation; we don't have a public benchmark. Treat the engineering as the contribution and the legal-quality claims as a hypothesis.
macOS / Linux:
curl -fsSL lavern.ai/install.sh | sh
Windows (PowerShell):
irm lavern.ai/install.ps1 | iex
Either script clones the repo, installs backend and frontend dependencies, and gives you a lavern command. The 60-second walkthrough is in QUICKSTART.md.
By hand:
git clone https://github.com/AnttiHero/lavern.git
cd lavern
npm install
(cd viz && npm install)
Then:
npm run serve:dev # API server on :3000 (LOCAL MODE, no API key needed)
cd viz && npm run dev # Dashboard on :5173, hot reload
open http://localhost:5173
Demo mode runs the dashboard, the Clawern view, and the cinematic guided tour without an API key. To run real engagements, add ANTHROPIC_API_KEY (or MISTRAL_API_KEY for the EU provider) to .env. It's auto-created from .env.example on first run.
orchestrator-{adversarial,counsel,full-bench,review,roundtable,tabulate,verification}.ts), and 1 generic base orchestrator (orchestrator.ts)tsc --noEmit on backend and frontend.Interactive. Open the dashboard, brief the system in plain language, watch the agents work in a live activity feed, approve critical calls at human gates. Each engagement produces the deliverable plus an audit bundle: structured findings, debate resolutions, verification results, and a cost log.
Clawern (autonomous). Point it at a folder. Clawern processes new documents on a 30-minute heartbeat, accumulates a precedent board across past reviews, and pushes findings to Telegram, email, or macOS notifications. Includes weekly digest, multi-client isolation, audit trail, cost forecasting, hybrid local-plus-frontier processing.
EU mode. Set LAVERN_PROVIDER=mistral and the orchestrator, agents, debate, verification, briefing analyser, partner consult, agent-builder, and Clawern processing all route through Mistral AI in Paris instead of Anthropic. One feature, the Lavern Challenge (blind document comparison) at src/api/routes/challenge.ts, still instantiates the Anthropic client directly and will hit Anthropic even when Mistral is selected. If you need a strict EU boundary, avoid that feature for now. Use claw start --ethical to enforce Mistral-only with conservative risk posture across the rest of the pipeline.
Each agent is a specialised system prompt with its own role, MCP tool permissions, and slot in the debate protocol. All 67 run on the same underlying frontier LLM (Claude or Mistral, your choice), so yes, at the bottom of the stack it's an LLM.
The work isn't the prompts. The work is the four things wrapped around them:
src/workflows/templates/verification.ts). The 10 passes are: context, ux, clarity, structure, accuracy, completeness, risk, formatting, legal_design, delivery (see src/types/verification.ts for the full pass definitions). Each layer fails closed independently. Separate from this pipeline, the mechanical grounding verifier in src/mcp/tools/grounding-verifier.ts cross-checks every cited quote against the parsed document via string matching.Whether all of that actually adds up to materially better outputs than a single well-prompted LLM is an open empirical question. We have structures in place to test it; we don't claim to have settled it.
Out of the box Lavern runs single-user on your machine. No login, no signup, no cookies. Every request is the synthetic local-user. Account routes, Google OAuth, email verification, password reset, Stripe billing, and the referral system are all gated behind LAVERN_AUTH_ENABLED=true and don't register at startup.
Flip the flag if you want to host Lavern for a team. The database schema is unchanged; the v0.14 cookie-based multi-user flow comes back online with no migration.
React SPA, editorial design language (Newsreader serif, Geist sans, cream paper). WCAG AA accessible, responsive across desktop, tablet, and phone.
Flow: Landing → Briefing → Strategy → Team → Working → Delivery.
The Working view shows agents posting findings, debating, and resolving disputes in real time. The Delivery view includes confidence scores, grounding indicators, and the audit trail.
npm run dev -- --serve # Start API server, default localhost:3000
| Endpoint | Description |
|---|---|
POST /api/sessions | Create analysis session |
GET /api/sessions/:id/events | WebSocket event stream |
POST /api/sessions/:id/gate | Submit gate decision |
GET /api/sessions/:id/download | Download work product |
POST /api/engage | Agent-native engagement (sync plus webhook) |
GET /api/capabilities | Report auth state, billing state, provider, version |
GET /.well-known/agent.json | A2A agent card |
See .env.example for full configuration. Key variables:
ANTHROPIC_API_KEY. Anthropic API key. Optional in demo mode.MISTRAL_API_KEY. Mistral API key. Required if LAVERN_PROVIDER=mistral.LAVERN_PROVIDER. anthropic (default), mistral, or local (Ollama).LAVERN_AUTH_ENABLED. Set true to enable cookie auth, Stripe billing, and Google OAuth. Default: off.SHEM_PORT. Server port. Default: 3000.SHEM_DEFAULT_BUDGET. Per-session budget in USD. Default: 5.0.npm run dev -- claw init # Interactive setup
npm run dev -- claw validate # Configuration health check
npm run dev -- claw start # Start watching
npm run dev -- claw pause # Pause processing
npm run dev -- claw resume # Resume processing
Includes a 30-minute heartbeat, Telegram bot, email alerts, weekly digest, scheduled re-review, change detection, cost forecasting, portfolio intelligence, hybrid local-plus-frontier processing, multi-client isolation, audit trail, and Prometheus metrics. claw start --ethical runs in Mistral EU only with a conservative risk posture.
npm test # 1,677 tests across 105 files
npm run typecheck:all # TypeScript check (backend plus frontend)
npm run build # Build backend
cd viz && npm run build # Build dashboard
src/
├── agents/ 67 agent prompts plus profiles plus definitions
├── api/ Fastify API server, WebSocket, middleware
├── assembly/ Document assembly, format conversion
├── claw/ Clawern: 28 modules (watch, plan, process, deliver,
│ precedents, audit, backup, telegram, multi-client,
│ hybrid analysis, anonymization)
├── db/ SQLite persistence
├── documents/ Parser (PDF, DOCX, MD, TXT) plus sanitization
├── mcp/tools/ 21 MCP tools
├── mcp/remote-bridge/ JSON-RPC bridge exposing Counsel tools to Anthropic
│ Managed Agents (gated by env flag)
├── providers/ LLM provider abstraction (Claude, Mistral, local)
├── workflows/ 9 templates plus executor
├── config.ts Centralised config (env-var backed)
└── index.ts Entry point
viz/ React dashboard
site/ Marketing site (static, Netlify)
menubar/ macOS menu bar app (SwiftUI)
tests/ 1,677 tests across 105 files
Full architectural detail in CLAUDE.md, the same context Claude Code reads when working on this repo.
The 21 MCP tools, 5 bundled legal datasets, 3 inference providers (Anthropic, Mistral, Ollama), and the remote MCP bridge are documented in CONNECTORS.md.
Lavern is at v0.15.0, the initial public open-source release. The engine, Clawern daemon, and dashboard are stable enough to run end-to-end against real documents; the test suite passes; tsc --noEmit is clean on both backend and frontend.
Known limitations we're not hiding:
src/api/routes/challenge.ts) still instantiates Anthropic directly even when LAVERN_PROVIDER=mistral. The rest of the pipeline routes through Mistral. If you need strict EU boundary, avoid that feature until it's ported.See CONTRIBUTING.md. New agents, new MCP tools, new workflow templates are all welcomed. The agent prompts are pure markdown, editable in any editor.
Found a vulnerability? See SECURITY.md. Email hello@lavern.ai. Please don't file public GitHub issues for security bugs.
Apache 2.0. Copyright 2025–2026 Antti Innanen.
See NOTICE for third-party attributions and dataset licenses.
Run Claude Code as an MCP server so any agent can delegate coding tasks to it
Browser automation using accessibility snapshots instead of screenshots
MCP server integration for DaVinci Resolve Studio
A Jetbrains IDE IntelliJ plugin aimed to provide coding agents the ability to leverage intelliJ's indexing of the codeba