Lore (rac-core)
Lore stores your team's requirements, decisions, designs, and roadmaps as typed Markdown in your repo and serves them read-only to coding agents over MCP, so agents cite your decisions instead of violating them.
At a Glance
About Lore (rac-core)
Lore is an open-source tool built on RAC — Requirements as Code — that keeps your team's recorded knowledge as typed Markdown in your Git repository and serves it deterministically to coding agents like Claude Code, Cursor, and Claude Desktop over MCP. It is published under the Apache License 2.0 and installable via pip install rac-core. The project is early and actively evolving, with the MCP server shipping as of the latest release.
What It Is
Lore solves a specific problem in AI-assisted development: coding agents repeatedly re-introduce approaches the team already rejected, rebuild things that were deliberately removed, or ignore decisions that were written down but never made machine-readable. Lore stores requirements, decisions, designs, roadmaps, and prompts as typed Markdown artifacts with YAML frontmatter in your repo, validates them in CI, and exposes them to agents through a read-only MCP server. The agent calls Lore, finds the relevant decision, cites it by ID, and proposes a compliant change — instead of reintroducing what was ruled out. There is no AI in the core: retrieval is deterministic and reproducible, not similarity-ranked.
How the Architecture Works
The system has three layers working together:
- Typed Markdown artifacts — every requirement, decision, design, roadmap, or prompt is plain Markdown with a small frontmatter envelope; the engine classifies and validates each artifact against a per-type schema.
- Write-time enforcement —
rac validateandrac gatereject malformed artifacts, broken or ambiguous links, and references to superseded decisions in CI, before bad knowledge lands in the repo. - Read-only MCP server — the server exposes four tools (
get_artifact,search_artifacts,get_related,get_summary) and cannot create, modify, or delete files; the trust boundary is human PR review.
The engine makes no LLM calls and no network calls. Telemetry is opt-in twice over: local recording requires an explicit flag and never includes arguments or repository content; remote sharing is a separate explicit consent step.
Where It Fits in the Stack
The project documentation positions Lore as complementary to, not competing with, spec-driven development (SDD) tools like GitHub Spec Kit or OpenSpec. SDD tools manage the change cycle — proposal, design, tasks, implementation — treating requirements as ephemeral inputs. Lore manages the durable corpus those changes draw on: requirements and decisions that persist across changes and are served to the agent over MCP. Similarly, Lore composes with fuzzy retrieval (RAG, agent memory): recall fuzzily in a vector store, then verify the exact current decision in Lore.
Lore also relates to Google's Open Knowledge Format (OKF). OKF standardizes the carrier — a Git tree of Markdown with YAML frontmatter — and is permissive at read time. RAC adds write-time enforcement that OKF leaves to the consumer. rac export --okf emits a conformant OKF bundle, so the two compose rather than compete.
CLI and Export Capabilities
The rac CLI covers the full artifact lifecycle:
rac quickstart— scaffold identity and a first artifactrac new decision adr.md— mint a typed artifact with a generated IDrac validate rac/— check every artifact in a directoryrac inspect,rac review,rac gate— inspect, review, and enforce the merge gaterac export --html— generate the Portal, a self-contained single HTML file of the whole corpus for stakeholdersrac export --okf— emit a conformant OKF bundlerac export --documents— JSONL for memory/RAG backendsrac export --graph— the typed decision graph for graph backends
The Python API (rac.__all__) is also a public surface for programmatic access.
Update: Release 2026.06.5 — The "Rename" Release
The latest release, version 2026.06.5 (published 2026-06-27), is described as the "rename" release. The package ships on PyPI as rac-core, the CLI as rac, and the MCP server identity as lore. Optional install extras add DOCX/HTML import ([ingest]), PDF/PPTX/XLSX import ([ingest-all]), and a terminal Explorer ([explorer]). The project dogfoods its own tooling: Lore's planning corpus under rac/ is validated by RAC in CI, so any rule that breaks the tool's own artifacts fails the build.
Community Discussions
Be the first to start a conversation about Lore (rac-core)
Share your experience with Lore (rac-core), ask questions, or help others learn from your insights.
Pricing
Open Source
Fully free and open-source under the Apache License 2.0. Install via pip or uv.
- rac CLI (validate, gate, new, inspect, review, export)
- Read-only MCP server (lore)
- Python library (rac.__all__)
- Optional ingest extras for DOCX, HTML, PDF, PPTX, XLSX
- Optional terminal Explorer
Capabilities
Key Features
- Read-only MCP server exposing get_artifact, search_artifacts, get_related, get_summary tools
- Typed Markdown artifacts with YAML frontmatter for requirements, decisions, designs, roadmaps, and prompts
- Deterministic, reproducible retrieval — no AI, no embeddings, no RAG in the core
- Write-time enforcement via rac validate and rac gate in CI
- Referential integrity and status-consistency checks across artifacts
- Portal export: self-contained single HTML file of the entire corpus
- OKF-conformant bundle export (rac export --okf)
- JSONL export for memory/RAG backends and graph export for graph backends
- Python API (rac.__all__) for programmatic access
- rac-import agent skill for converting existing decision docs into valid artifacts
- Optional DOCX, HTML, PDF, PPTX, XLSX ingest via install extras
- Terminal Explorer (rac explorer) via optional install extra
- Opt-in telemetry with enterprise lockout support
- Dogfoods its own corpus validated in CI
