cd /news/developer-tools/lore-give-your-coding-agent-the-deci… · home topics developer-tools article
[ARTICLE · art-42985] src=github.com ↗ pub= topic=developer-tools verified=true sentiment=↑ positive

Lore – give your coding agent the decisions your team made

Lore, built on the open-source RAC engine, provides a deterministic, read-only system of record for coding agents by storing team decisions as typed Markdown in the repo. It serves exact, current decisions to Claude Code, Cursor, and Claude Desktop via MCP, rejecting superseded ones, and enforces knowledge integrity through CI validation. Unlike RAG or agent memory, Lore offers reproducible retrieval and air-gapped operation without LLM calls.

read6 min views1 publishedJun 29, 2026
Lore – give your coding agent the decisions your team made
Image: source

Quickstart · How it compares · How it works · Docs · CLI · Changelog

Give your coding agent the decisions your team already made — so it stops re-doing things you ruled out.

Lore keeps your team's recorded knowledge — requirements, decisions, designs, roadmaps, and prompts — as typed Markdown in your repo and serves it read-only to Claude Code, Cursor, and Claude Desktop over MCP, so the agent cites your decisions instead of violating them. No RAG, no embeddings, no model call to decide what's relevant — retrieval is deterministic and reproducible. It is built on RAC — Requirements as Code, the open-source engine underneath; the package, CLI, and MCP server ship under the rac

name.

Lore isn't a search index or a memory tool — it's the deterministic system of record an agent grounds against. Fuzzy retrieval (RAG, agent memory) is good at finding what's near a loose question; Lore is good at returning the exact, current decision and declining the ones you've superseded. They compose well — recall fuzzily, then verify in Lore.

Lore Fuzzy retrieval (RAG / agent memory)
Good at the exact, current decision finding what's near a question
Retrieval deterministic, reproducible similarity-ranked, varies by run
Role source of truth, read-only a fast index or working copy
In CI enforced (rac validate / rac gate )
not its job

Install the engine:

pip install rac-core

Scaffold identity and your first artifact:

rac quickstart

Connect your agent(Claude Code, from your repo root):

claude mcp add lore -- rac mcp

Enforce in CI so bad knowledge never lands:

rac validate rac/ && rac gate rac/
Command Gets you
pip install rac-core
the rac CLI + the lore MCP server
pip install 'rac-core[ingest]'
  • DOCX / HTML import | pip install 'rac-core[ingest-all]' |
  • PDF / PPTX / XLSX import | pip install 'rac-core[explorer]' |
  • the terminal Explorer (rac explorer ) |

Requires Python 3.11+. uv tool install rac-core

also works.

Typed Markdown, in your repo. Every artifact is plain Markdown with a tiny frontmatter envelope; the engine classifies it deterministically and validates it against a per-type schema.Read-only at serve time. The MCP server only ever reads; the trust boundary is human PR review, and the agent cannot mutate the store.Enforced at write time.rac validate

andrac gate

reject malformed artifacts, broken or ambiguous links, and references to superseded decisions — in CI, before the knowledge lands.Air-gapped by design. The engine makes no LLM calls and no network calls; the only egress is a consent-gated, content-free usage ping that is off by default, and regulated installs can prove it stays off withrac telemetry off --enterprise

(security posture, ADR-086).

Claude Code (from your repo root):

claude mcp add lore -- rac mcp

Claude Desktop / Cursor (mcpServers

in the client config):

{
  "mcpServers": {
    "lore": { "command": "rac", "args": ["mcp", "--root", "/absolute/path/to/your/repo"] }
  }
}
rac quickstart             # set up identity + scaffold your first artifact
rac new decision adr.md    # scaffold a typed artifact (mints the id)
rac validate rac/          # check every artifact in a directory
rac inspect requirement.md # see its type and completeness
rac review rac/            # full repository review, worst problems first
rac gate rac/              # the merge gate: validate + relationships + review

Already have decisions in Confluence, Notion, or loose Markdown? The rac-import

agent skill turns one existing document into one valid artifact, with a human-review step before anything is written:

rac skill install rac-import

Then ask your agent, in plain language: "import this decision doc into Lore." It drafts from only what your document says, shows you the proposed type, title, and relationships to confirm, scaffolds with rac new

, and closes on rac validate

. For multi-format or bulk conversion, use the rac-ingest

skill.

rac export rac/ --html --out lore.html   # the Portal: the whole graph, one file
rac export rac/ --okf                    # a conformant Open Knowledge Format bundle
rac export rac/ --documents              # JSONL for memory/RAG backends
rac export rac/ --graph                  # the typed decision graph for graph backends

The --documents

and --graph

modes feed external memory, RAG, and graph tools so an agent can recall fuzzily there and then verify in Lore — see the CLI reference. The connectors themselves live in the separate lore-connectors

companion.

The engine is a library too; its public surface is rac.__all__

.

from rac import parse_file, classify, find_artifacts

art = parse_file("rac/decisions/adr-001-markdown-first.md")
print(classify(art).type)                  # -> "decision"

result = find_artifacts("rac/", "caching")  # returns a SearchResult
for hit in result.matches:
    print(hit.id, hit.title)

Google's Open Knowledge Format (OKF) standardises the carrier — a Git tree of Markdown with YAML front matter — and is deliberately permissive. RAC writes that same carrier and adds what OKF leaves to the consumer: write-time enforcement in CI. rac validate

and rac relationships --validate

reject malformed artifacts, broken links, and references to superseded decisions, deterministically, before the knowledge lands. rac export --okf

turns any RAC repo into a conformant OKF bundle — so the two compose rather than compete.

Teams running coding agents heavily(Claude Code, Cursor) tired of the agent ignoring decisions the team already made.** Teams who already write ADRsand want those decisions to actually shape what the agent does. Anyone who wants the**whybehind their software versioned alongside the code.

Full documentation: https://itsthelore.github.io/rac-core/

Quickstart— install and author your first artifactMCP server— tools, client configuration, examplesCLI reference— every command, flag, and exit code

Lore is the product surface of RAC — Requirements as Code, the open-source engine underneath; the package, CLI, and MCP server ship under the rac

name, and lore

is the server identity and brand. Wayfinder, the deterministic prompt-complexity router, began as a route

experiment inside RAC and was split into its own tool — routing is a runtime concern, not a knowledge one.

rac-core/
  src/rac/        the engine: CLI, core, services, output, the in-process MCP
                  server (rac mcp), and bundled skills, templates, and git hooks
  rac/            the dogfood corpus — requirements, decisions, designs, roadmaps,
                  and prompts that govern the project itself
  tests/          per-service batteries plus core / cli / artifacts coverage (ADR-027)
  docs/           the documentation site (MkDocs)
  examples/       the grounding demo, woven into the corpus and the test fixtures
  rac-localview/  the Portal / graph viewer, vendored into the engine
pip install -e .[dev]
python -m pytest

ruff check

, ruff format --check

, and mypy src/

run in CI alongside the per-service batteries (ADR-027).

Lore is early and evolving quickly. The MCP server ships today. Contributions, ideas, and experiments welcome — see CONTRIBUTING.md.

── more in #developer-tools 4 stories · sorted by recency
── more on @lore 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/lore-give-your-codin…] indexed:0 read:6min 2026-06-29 ·