Skip to content

OpenLore

Deterministic, local-first memory and guardrails for AI coding agents with no LLM in the hot path.

Install

$npm install -g openlore && openlore install

Install command taken from the project's README or registry entry. Always review code before running it.

OpenLore

Deterministic, local-first memory and guardrails for AI coding agents — with no LLM in the hot path. One call tells your agent the code a task touches; one gate tells it what's unsafe to change. Grounded in static analysis. No API key. Same answer every time.

=22.19">

A real, unedited recording — the published openlore on a fresh clone of ripgrep. install wires your agent and indexes the repo live — 235 files, 2,978 functions, 4,329 call edges in 14 seconds, no API key → orient returns the code a task touches → review catches a signature change that left 39 callers stale → prove projects the payoff. Re-record it yourself: docs/openlore-demo.tape.

Install · What you get · Benchmarks · Governance · How it works · vs. Alternatives · Docs


AI coding agents are powerful but amnesiac and ungoverned: every task restarts by re-reading the same files, long sessions drift onto stale assumptions, and nothing warns the agent when a change is about to break a contract or cross a boundary.

OpenLore fixes both halves. It runs a one-time static analysis of your repo and keeps a live knowledge graph — call structure, types, tests, decisions, IaC, spec drift. Your agent queries it to start every task already oriented and to certify a change before it lands. It's deterministic and local-first — no LLM in the hot path — so the same question always returns the same grounded answer, and the agent is told when a fact goes stale instead of served a confident guess.

Install in one command

npm install -g openlore && openlore install

That one command auto-detects your agent (Claude Code, Cursor, Cline, Continue, Pi, AGENTS.md), wires it to call orient() automatically, registers the MCP server, and builds the index — no API key, no config, no questions. Then ask your agent:

orient("add a payment method")

…and it begins already knowing the relevant functions, their callers, matching specs, tests, and the risk of changing each — in a single call.

Zero config, everything discoverable. Core value needs no keys. Run openlore features to see every opt-in capability (embeddings, the commit gate, the spec store…), whether it's active, and the one command to turn it on.


What you get

Two things, both deterministic and local — OpenLore remembers your architecture so every task starts oriented, and governs what the agent changes before it lands.

🧠 Memory — start every task already oriented

  • Orient in one call — orient(task) returns the relevant functions, their callers, matching specs, tests, and insertion points in a single call (~430µs p50 on a 15k-node graph) — instead of a dozen exploratory file reads.
  • Survives refactors — anchored notes and decisions carry forward when a symbol is renamed or moved, instead of orphaning.
  • One graph for everything — application code, Infrastructure-as-Code, and architectural decisions live on the same graph, so one query spans all three.
  • Told when a fact is stale — the agent is warned when a cached fact has aged or the repo moved, instead of building on a confident guess.

🛡️ Governance — guardrails on what the agent changes

Similar plugs

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

Java 面试 & 后端通用面试指南,覆盖计算机基础、数据库、分布式、高并发、系统设计与 AI 应用开发

Build Agentic workflows, RAG pipelines, with rich AI model and tool support on one collaborative workspace. Deploy on cloud, VPC, or self-hosted, so teams move from prototype…

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io