OKF Agent Memory
Memory serverOfficial OKF Memory project
Created by sknr and the OKF Memory Contributors
Published in okf-memory/okf-agent-memory. Publisher page
863 GitHub stars
What it is
Git-native persistent memory for AI coding agents. Implements Google OKF v0.2 with sub-300µs in-memory BM25 search, embedded MCP server, and progressive disclosure. Slashes token bloat by 80% with zero external databases or dependencies. Built in pure Go.
Summary from the brain’s metadata
Git-native persistent memory for AI coding agents. Implements Google OKF v0.2 with sub-300µs in-memory BM25 search, embedded MCP server, and progressive disclosure. Slashes token bloat by 80% with zero external databases or dependencies. Built in pure Go. Conversations with AI agents reset when context windows close. Valuable architectural decisions, domain discoveries, and operational facts are lost unless stored persistently.
How it works
Memory model: Vector store
AutoGineer overview, from the brain’s own files
Memory model: Vector store. Folders: .github (agent config, 9 files); docs (docs, 40 files); examples (examples, 39 files); knowledge (knowledge base, 33 files); pkg (source code, 92 files). The agent reads knowledge/, list_dir, knowledge/index.md.
| Folder | Role | Files |
|---|---|---|
| .github | agent-config | 9 |
| docs | docs | 40 |
| examples | examples | 39 |
| knowledge | knowledge-base | 33 |
| pkg | source-code | 92 |
| .agents | folder | 6 |
| benchmarks | folder | 21 |
| cmd | folder | 3 |
| internal | folder | 23 |
| packaging | folder | 2 |
The agent reads
- knowledge/ evidence: AGENTS.md
- list_dir evidence: AGENTS.md
- knowledge/index.md evidence: README.md
Requirements
Runtimes: Go
API keys (by name): OKF_HUB_TOKEN
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Kiro, OpenCode, Amp, Cline, JetBrains Junie, Devin (ex-Windsurf)
Set it up
This brain runs code automatically: 1 script. Review Makefile before opening the folder in Claude Code. No step below turns a hook on for you.
Makefile:go install -ldflags="$(LDFLAGS)" ./cmd/okf
- Not scanned by AutoGineerThe author’s MCP configuration (README.md) also starts it in a way AutoGineer does not offer. Read that file: AutoGineer did not scan that path; what it runs is listed under “This brain runs”. https://github.com/okf-memory/okf-agent-memory/blob/1a6303d9f3582c6d238ace4d8643337baf06fc60/README.md
Created by sknr and the OKF Memory Contributors. Published in okf-memory/okf-agent-memory. Licence: MIT License.
Usage
AutoGineer’s guidance for this type of brain
Add the server to your AI tool’s MCP configuration (see Set it up); your agent then stores and recalls memories through its tools.
Documentation by sknr and the OKF Memory Contributors
OKF Agent Memory
A Domain-Neutral, Git-Native Persistent Project Memory for AI Agents based on the Open Knowledge Format (OKF) v0.2.
Image: Specification Image: Tooling Image: CI Image: Trendshift Image: On StackMap Image: Protocol Image: License Image: Sponsor
🌟 Overview
Conversations with AI agents reset when context windows close. Valuable architectural decisions, domain discoveries, and operational facts are lost unless stored persistently.
Traditional approaches suffer from two fatal failure modes:
The Prompt Monolith: Stuffing all domain knowledge and rules into
AGENTS.mdorCLAUDE.mdcreates massive context bloat and causes attention drift (agents ignore critical instructions).The RAG Blindspot: Dumping behavioral rules into vector databases fails because agents never semantically search for operational constraints (e.g. formatting or security rules) during general tasks.
OKF Agent Memory resolves this dilemma with the Dual-Memory Agent Architecture (DMAA):
flowchart TD
subgraph PUSH["1. Normative Working Memory (Push Layer)"]
direction TB
C1["Canonical AGENTS.md (capped at 400 tokens)"]
C2["Domain Codex (Invariants, Ethics, Tone)"]
C3["OKF Memory Bridge (Deterministic Triggers)"]
C4["Agent Action Grammar (AAG) Micro-Syntax"]
end
subgraph PULL["2. Semantic Domain Memory (Pull Layer)"]
direction TB
O1["OKF v0.2 Knowledge Bundle (knowledge/)"]
O2["0 Tokens baseline in system prompt"]
O3["Selective Retrieval via okf_search / okf_show"]
O4["Persistent Graph of Decisions, Facts & Runbooks"]
end
INPUT["User Request"] --> PUSH
PUSH -->|Enforces Domain Codex & Triggers| AGENT["AI Agent (LLM)"]
AGENT -->|Selective Retrieval| PULL
PULL -->|Context & Facts| AGENT
AGENT --> OUTPUT["Deterministic Response"]The Universal Composition Model
In DMAA, every agent configuration is structured by a universal composition:
$$\text{AGENTS.md} = \underbrace{\text{Domain Codex (AAG)}}{\text{Project Invariants, Tone, Guardrails}} + \underbrace{\text{OKF Memory Bridge}}{\text{Standardized Triggers: Search-Before-Write}}$$
Layer 1: Normative Working Memory (Push Layer): A permanent, ultra-compact behavioral codex (capped at 400 tokens) expressed in Agent Action Grammar (AAG). Loaded at session start, enforcing zero-tolerance invariants.
Layer 2: Semantic Domain Memory (Pull Layer): An OKF v0.2 knowledge bundle (
knowledge/) that consumes 0 tokens at baseline and is queried on-demand in microseconds.
flowchart TD
L1["1. OKF v0.2 Specification<br/>(Normative Markdown & YAML Format)"]
L2["2. Agent Memory Convention & DMAA<br/>(Dual-Memory Model, Search-Before-Write, Trust)"]
L3["3. Agent Skill & AAG Codex<br/>(Agent Action Grammar, Workflows, Triggers)"]
L4["4. Tooling Layer: Go Library & CLI<br/>(Deterministic Parsing, Validation, BM25, MCP)"]
L5["5. Project Knowledge Corpus<br/>(knowledge/ OKF Bundle)"]
L1 --> L2
L2 --> L3
L3 --> L4
L4 --> L5⚡ Key Highlights
Dual-Memory Cognitive Architecture (DMAA): Separates normative push working memory (
AGENTS.mdcodex) from semantic pull domain memory (knowledge/bundle), completely eliminating prompt bloat.Agent Action Grammar (AAG): Ultra-compact, deterministic ASCII micro-syntax saving ~78–85% tokens compared to natural language prompt instructions.
Blazing Fast Performance (<300µs Search, ~4ms Graph Validation): In-memory BM25 retrieval and bundle validation execute in microseconds without VM spin-up or network roundtrips.
100% Git-Native & Zero Vendor Lock-in: Everything is version-controlled plain text. Inspect, audit, and review your agent's memory using standard
git diffandgit log. No external database required.Zero API Costs for Memory Retrieval: Local lexical BM25 indexing eliminates recurring vector embedding API costs and network roundtrips.
Built on Google OKF v0.2: Uses the open standard format for agent knowledge with full support for provenance (
sources), trust tiers (generatedvs.verified), and lifecycle metadata (status,stale_after).Solves Context Bloat & Memory Rot: Employs Progressive Disclosure (hierarchical
index.mdfiles and link graphs) so agents only load the exact concepts they need.Search-Before-Write Principle: Mandates querying existing memory before authoring, preventing concept duplication and hallucinated divergence.
Governance & Code-to-Knowledge Binding: Bind architecture decisions directly to source files via
code_refsand query active constraints/holds via--for-pathbefore modifying code.Truly Domain-Neutral: Designed for Software Engineering, Coaching, Scientific Research, Literature Reviews, and Operations.
📊 Performance Benchmarks
Built in Go with zero external dependencies, okf is engineered for high-frequency agent tool calling loops:
| Benchmark Metric | Python / Vector DB Runtimes (Mem0, Letta) | Deno / Node.js Tooling | OKF Agent Memory (Go) |
|---|---|---|---|
| Concept Search Latency | 150ms – 800ms (Embedding API + Vector DB) | 40ms – 120ms | < 300 µs (Microseconds, In-Memory BM25) |
| Full Corpus Parse & Graph Validation | 200ms – 1.5s | 80ms – 250ms | ~4.0 ms (50+ concepts, bidirectional graph) |
| Process Cold-Start Overhead | 250ms – 600ms (Python VM boot) | 80ms – 180ms (V8 / Deno boot) | < 4 ms (Compiled Single Binary) |
| Retrieval Cost per 1,000 Queries | ~$0.10 – $0.50 (Embedding tokens) | $0.00 | $0.00 (Zero API cost, fully local) |
| Memory Footprint (RSS) | ~120 MB – 350 MB | ~60 MB – 140 MB | < 15 MB |
TIP
Reproduce Locally with your own LLM: We provide an automated benchmark runner in pure Go to verify Time-To-First-Token (TTFT) speedups and -80% token reduction on your local hardware (LM Studio / Ollama with Gemma, Qwen, Llama). Runmake benchmarkor explore the Progressive Disclosure Benchmark Suite.
🚀 Quickstart
1. Build the Tooling
Clone the repository and compile the standalone okf executable:
make buildThis generates the standalone binary at bin/okf.
2. Basic CLI Commands
# Validate bundle conformance, graph connectivity, and description drift
./bin/okf validate knowledge --strict --drift
# Evaluate bundle quality scorecard (3 pillars: maintenance, stewardship, integrity)
./bin/okf validate knowledge --scorecard
# Gate bundle quality in CI or pre-commit pipelines (fails if score < 80)
./bin/okf validate knowledge --min-score 80
# Search concepts via in-memory BM25 scoring
./bin/okf search "architecture layers" knowledge
# Discover constraints and active holds governing a specific source file before editing
./bin/okf search --for-path pkg/okf/types.go knowledge
# Inspect a concept and its relationships (with --json support)
./bin/okf show architecture/layers knowledge --json
# Create a new concept with automated log.md and index.md bookkeeping
./bin/okf create decisions/auth-flow knowledge \
--type Decision \
--title "OAuth2 Authorization Flow" \
--desc "Standardized on PKCE for client authentication."
# Update an existing concept
./bin/okf update decisions/auth-flow knowledge \
--desc "Updated OAuth2 PKCE token refresh interval."
# Bootstrap full agent memory stack into any target project
./bin/okf bootstrap /path/to/project --name "My Project"
# Initialize only a bare OKF bundle in any directory
./bin/okf init my-project/knowledge
# Zero-Knowledge Sync: initialize vault and print Emergency Kit
./bin/okf hub init-vault knowledge
# Zero-Knowledge Sync: push or sync changes with the Hub (optional: --token or OKF_HUB_TOKEN)
./bin/okf hub push knowledge --password "pass" --secret-key "XXXX-..." --auth-token "my-token"
./bin/okf hub sync knowledge --password "pass" --secret-key "XXXX-..."
# Pull external knowledge bundles from OKF Registry (registry.okf-memory.dev) or Git
./bin/okf pull nextjs-15
./bin/okf pull nextjs-15 --min-score 80 # Gate bundle quality before installation
./bin/okf pull peter/django-5-rules
./bin/okf pull github.com/acme/[email protected]
# Restore all locked vendor bundles in fresh environments
./bin/okf restore
./bin/okf restore --min-score 80 # Gate all restored bundles
# Inspect and manage installed vendor bundles
./bin/okf vendor list
./bin/okf vendor remove nextjs-153. Multi-Scope Memory Layering & Scoped Resolution
OKF Agent Memory organises knowledge across four deterministic memory scopes. Higher layers strictly shadow identical concept IDs in lower layers during search, ensuring local project decisions always take precedence over external upstream packages or machine baselines:
flowchart TD
subgraph Scopes ["OKF 4-Tier Memory Hierarchy"]
P["<b>Project</b> (Priority 100)<br/>Prefix: <i>none</i> (e.g. decisions/auth)<br/>Location: ./knowledge/"]
V["<b>Vendor</b> (Priority 70)<br/>Prefix: @bundle/... (e.g. @nextjs-15/routing)<br/>Location: .okf/vendor/"]
U["<b>User</b> (Priority 50)<br/>Prefix: user:... (e.g. user:guidelines/style)<br/>Location: ~/.okf/"]
S["<b>System</b> (Priority 10)<br/>Prefix: system:... (e.g. system:corp/policy)<br/>Location: /etc/okf/"]
end
P -->|shadows| V
V -->|shadows| U
U -->|shadows| SScope Specification Matrix
| Scope | Link / Reference Syntax | Canonical URN | Storage Location | Priority | Precedence & Rules |
|---|---|---|---|---|---|
project | decisions/auth.md | (bundle relative) | ./knowledge/ | 100 | Local Project Memory. Authoritative SSoT for current repository; strictly shadows identical IDs from vendor, user, and system layers. |
vendor | @nextjs-15/routing.md<br/>@peter/django-rules/auth.md | okf://@nextjs-15/routing<br/>okf://@peter/django-rules/auth | .okf/vendor/<bundle>/ | 70 | External Packages. Pinned dependencies pulled from OKF Registry (registry.okf-memory.dev) or Git. Shadows user and system. |
user | user:guidelines/style.md | okf://user/guidelines/style | ~/.okf/ | 50 | Personal Agent Memory. Developer preferences and cross-project notes. Shadows system. |
system | system:corp/policies.md | okf://system/corp/policies | /etc/okf/ | 10 | Enterprise / Machine Memory. Infrastructure baselines and compliance policies. |
Filtering by Scope in Search & Show
# Default (--scope all): Search across all layers with automatic shadowing & priority ranking
./bin/okf search "authentication"
# Search strictly within vendor packages
./bin/okf search "routing" --scope vendor
# Search strictly within local project memory
./bin/okf search "architecture" --scope project
# Search user or system layers
./bin/okf search "style" --scope user
./bin/okf search "compliance" --scope system
# Inspect concepts across scopes
./bin/okf show decisions/auth # Local project concept
./bin/okf show @nextjs-15/decisions/routing # Vendor package concept
./bin/okf show user:guidelines/style # Personal user concept
./bin/okf show system:corp/policies # System compliance conceptBundle Scope Isolation (scopes in knowledge/index.md)
By default, all four scopes (project, vendor, user, system) are active. To isolate a project (e.g. preventing agents in a client or open-source repository from accessing personal ~/.okf/ notes), declare an explicit scopes list in the root knowledge/index.md frontmatter:
---
okf_version: "0.2"
scopes: [project, vendor]
---Only the listed scopes are searched under
--scope allor bare-IDokf showfallback.Explicit queries targeting a disabled scope (e.g.
okf search --scope userorokf show user:secret) are rejected with an error.Empty (
scopes: []) or non-canonical scope names fail bundle loading and validation immediately (fail-closed).
4. Bundle Quality Scorecards (OpenSSF-Style)
Evaluate knowledge bundles across three weighted pillars to eliminate "reproducibly wrong" context without maintenance chores:
Epistemic Maintenance (35%): Invariant version-bound facts without
stale_afterremain 100% valid by default; penalties apply only to lapsed review deadlines or deprecated status.Human Stewardship (35%): Strictly distinguishes verified human sign-offs (
verified.by: human/*oruser/*) from unreviewed synthetic bot dumps. Non-human verifications earn 0 stewardship points.Graph Integrity (30%): Strict OKF v0.2 graph health (0 broken links, 0 orphans, valid DAG).
# Human-readable scorecard breakdown with Grade (A-F)
./bin/okf validate knowledge --scorecard
# Machine-readable JSON output
./bin/okf validate knowledge --scorecard --json
# Quality gating in CI (fails with exit code 1 if score < 80)
./bin/okf validate knowledge --min-score 80
# Pre-pull quality gating (aborts installation & rolls back if score < 80)
./bin/okf pull nextjs-15 --min-score 805. Bootstrapping Agent Memory in Any Project
Scaffold the complete OKF Agent Memory architecture into any new or existing repository with a single command:
# Bootstrap full memory stack into target project
./bin/okf bootstrap /path/to/my-project --name "My Service"This automatically sets up:
knowledge/— OKF v0.2 compliant persistent memory bundle (index.md,log.md).agents/skills/okf-memory/— Embedded agent skill definition and capability guidesAGENTS.md— Project-tailored operating instructions for AI coding agentsMakefile— Convenience tasks for validation (make validate) and search (make search q="...")
6. Running as an MCP Server
okf ships with a native Model Context Protocol (MCP) server over stdio to seamlessly connect with Claude Code, Cursor, Codex, and other agent platforms:
./bin/okf mcp knowledgeExample MCP Configuration (claude_desktop_config.json or Cursor):
{
"mcpServers": {
"okf-memory": {
"command": "/path/to/okf-agent-memory/bin/okf",
"args": ["mcp", "/path/to/project/knowledge"]
}
}
}📂 Repository Structure
okf-agent-memory/
├── .agents/ # Active agent skills and agent configuration
│ └── skills/okf-memory/ # Authoritative OKF memory skill for AI agents (Single Source of Truth)
├── benchmarks/ # Progressive disclosure benchmark suite & hardware test data
│ ├── data/ # Monolith docs vs OKF bundle test fixtures
│ └── results/ # Reproducible benchmark logs across 8+ local & cloud LLMs
├── cmd/
│ ├── okf/ # Standalone CLI and embedded MCP server (`stdio`)
│ └── okf-benchmark/ # Automated benchmark runner for LLM TTFT & token measurements
├── docs/ # Guides, specifications, architecture & release playbook
│ ├── README.md # Central documentation index & navigation
│ ├── guides/ # User guides, CLI/MCP reference & AI instruction best practices
│ ├── spec/ # OKF convention v0.1, compatibility analysis & architecture RFCs
│ ├── security/ # Data governance, secret prevention & adversarial security audits
│ ├── project/ # Project roadmap, release playbook & multi-agent testing
│ └── releases/ # Versioned release notes & changelog archive (v0.1.0 - v0.8.0)
├── examples/ # Domain-neutral reference DMAA projects (AGENTS.md + OKF v0.2 knowledge/)
│ ├── books/ # Literature & editorial analysis repository
│ ├── coaching/ # Executive coaching & client session repository
│ └── software/ # Microservices architecture & ADR engineering repository
├── knowledge/ # Project's own OKF v0.2 persistent memory bundle
│ ├── index.md # Root progressive disclosure index (okf_version: "0.2")
│ ├── log.md # Dated change log (ISO 8601 YYYY-MM-DD)
│ ├── project/ # Overview & value propositions
│ ├── architecture/ # 5-tier architecture, governance model & decisions
│ ├── convention/ # Principles & lifecycle workflows
│ └── roadmap/ # Milestones
├── packaging/ # Distribution packaging
│ └── homebrew/ # Official Homebrew formula & tap instructions
├── pkg/
│ ├── lock/ # Zero-dependency okf.lock parser & serializer
│ ├── okf/ # Core library (parser, validator, BM25, MCP, bootstrap)
│ │ └── assets/ # Embedded bootstrap templates & skills mirrored via `make sync-assets`
│ ├── registry/ # Decentralized OKF Registry client & archive unpacker
│ ├── sync/ # Blind sync engine, 3-way reconcile & hub client/server
│ └── vault/ # AES-256-GCM envelope crypto, Argon2id KDF & CAS blind storage
├── AGENTS.md # Operating instructions for AI coding agents
├── CONTRIBUTING.md # Contribution guidelines & development workflow
├── CONTRIBUTORS.md # Community contributors & acknowledgements
├── CODE_OF_CONDUCT.md # Contributor Covenant v2.1 code of conduct
├── Makefile # Build, test, lint, validation & release targets
├── LICENSE # MIT License
├── README.md # Main repository documentation
└── SECURITY.md # Security policy & reporting guidelines🧪 Testing & Verification
Run the full test suite and validate the repository's self-documenting knowledge bundle:
make check📖 Further Documentation
Documentation Index — Central directory of all project documentation.
Getting Started Guide — Comprehensive onboarding guide for agents and humans.
CLI & MCP Reference — Complete command-line and protocol tools reference.
Dual-Memory Agent Architecture RFC — Cognitive 2-layer agent memory model (Push codex + Pull knowledge).
Agent Action Grammar RFC — Deterministic, token-efficient AAG micro-syntax specification for
AGENTS.md.Agent Instruction Best Practices — Guide to deterministic instruction design and token optimization.
OKF Agent Memory Convention v0.1 — Behavioral rules and lifecycle specification.
Contributing Guide — Development setup, quality gates, and pull request standards.
Security & Privacy Guidelines — Data governance, secret prevention, and PII protection rules.
Multi-Agent Testing & Evaluation — Test scenarios, compatibility matrix, and benchmarks.
Project Roadmap & Milestones — Phased development plan.
Release Playbook — Versioning, CI/CD pipeline, and distribution procedures.
Release Notes & History — Versioned changelogs and historical release notes archive.
OKF v0.2 Compatibility Matrix — Specification validation analysis.
Why OKF Agent Memory? — Detailed value proposition & differentiators.
Alternatives & Ecosystem Comparison — Comparison with Mem0, Letta, and ad-hoc markdown files.
👥 Contributors
Thank you to all the wonderful contributors who have helped build and refine OKF Agent Memory!
<a href="https://github.com/okf-memory/okf-agent-memory/graphs/contributors"> <img src="https://contrib.rocks/image?repo=okf-memory/okf-agent-memory" alt="OKF Agent Memory Contributors" /> </a>
Contributions of all kinds are warmly welcomed! See CONTRIBUTING.md and CONTRIBUTORS.md for details.
💖 Support & Sponsoring
If you find OKF Agent Memory valuable for your autonomous agent workflows, consider sponsoring the project on GitHub to help support continuous development, security hardening, and spec compliance!
📄 License
MIT License. See LICENSE for details.
CONTRIBUTORS.md
Contributors
Thank you to everyone who has contributed to OKF Agent Memory! Every contribution—whether code, bug reports, architectural ideas, security disclosures, or documentation improvements—helps build resilient persistent memory for autonomous AI agents.
🌟 Code Contributors
<a href="https://github.com/okf-memory/okf-agent-memory/graphs/contributors"> <img src="https://contrib.rocks/image?repo=okf-memory/okf-agent-memory" alt="OKF Agent Memory Contributors" /> </a>
@sknr — Project Creator & Core Maintainer
Denis Samatov (@denis-samatov) — CLI argument handling, Windows link resolution, and actor family expansions (#14, #15, #16, #17)
Wu Shuwen (@dajiaohuang) — GitFlow integration branch setup and issue-first development policy (#19)
@yakimoto — MCP tool outputSchema specifications and test coverage (#20, #22)
@akushonkamen — Persist sync engine state across CLI invocations (#51, #53)
Cordero Core (@cdcore09) — Semantic 3-way per-listing
index.mdmerge in hub sync (#52, #55)Zerui Ge (@gezerui888) — Nearest-first scope fallback for bare concept IDs in show and okf_show (#47, #61)
Terry Xeenastar (@iSkyleya1) — Relative nested bundle resolution in MCP and preservation of unknown keys in sources (#57, #58)
Nick Hodulik (@nhod) — Remote path containment in hub sync and registry installs, staged atomic rollbacks, and symlinked working directory root resolution (#62, #63, #64)
fchengyan (@fcy222fcy) — Distinct plaintext-hash conflict fork paths for multi-writer hub sync (#60, #66)
💡 Architecture, Security & Community Insights
@krakozavr — Creator of MemContinuum. Inspired the 3-tier epistemic governance model (
constraint,hold,context) and code-to-knowledge binding (code_refs).Martin (@djmaze) — Responsible security disclosure and patch review for path traversal boundary containment in
SaveConcept.Ashish (@ashishtele) — Investigation and report on Windows relative link path resolution (#6).
Rogelio (@rogeliodh) — Spec analysis for open actor families (#5), dot-directory bundle root scanning (#4), diagnosis of MCP outputSchema and bundle root resolution in OpenCode (#30, #31), and reproduction and root-cause analysis for CLI and MCP metadata mutation parity (#38).
Majid (@majido) — Diagnosis of strict MCP outputSchema and missing structuredContent payload in Pi Agent (#30).
Matt (@mattgdrums-cloud) — Detailed bug report, root-cause diagnosis, and taxonomy reconciliation proposal for CLI validate warning and gate counts (#35).
Alvise (@alvistar) — Bug report and reproduction for drift validation false positives with bundle-absolute and dot-relative index links (#41).
Khouloud Kessentini (@Khouloud-Kessentini) — Analysis and bug reports on DF/TF asymmetry, acronym suppression, prefix false positives, and per-bundle vendor IDF inversion in BM25 scoring (#42, #54).
Ritsu Kuroda (@kurodaritsu) — Architectural proposal and requirement analysis for multi-scope bundle memory layering and composite BM25 search ranking (#11).
Cordero Core (@cdcore09) — Bug report, reproduction, and root-cause analysis for lost sync state, index collisions, and multi-writer conflict fork overwrites in hub sync (#51, #52, #60)
@DevMasterDru — Bug reports and proposals for nearest-first scope resolution in
show(#47), trusted symlink bundle roots (#45), list-valued frontmatter filters (#48), and preservation of custom frontmatter lists on update (#49).Nick Hodulik (@nhod) — Responsible security disclosure, reproduction fixtures, and boundary hardening for remote hub tree paths and registry bundle IDs (#64).
🤝 Becoming a Contributor
We welcome contributions of all types! Check out our Contribution Guidelines to get started.
284 files · 274 not served here
- .agents/skills/okf-memory/SKILL.md (not served here)
- .agents/skills/okf-memory/discovery.md (not served here)
- .agents/skills/okf-memory/examples.md (not served here)
- .agents/skills/okf-memory/relationships.md (not served here)
- .agents/skills/okf-memory/remember.md (not served here)
- .agents/skills/okf-memory/update.md (not served here)
- .cursorrules (not served here)
- .github/FUNDING.yml (not served here)
- .github/ISSUE_TEMPLATE/bug_report.yml (not served here)
- .github/ISSUE_TEMPLATE/config.yml (not served here)
- .github/ISSUE_TEMPLATE/feature_request.yml (not served here)
- .github/copilot-instructions.md (not served here)
- .github/dependabot.yml (not served here)
- .github/pull_request_template.md (not served here)
- .github/workflows/ci.yml (not served here)
- .github/workflows/release.yml (not served here)
- .gitignore (not served here)
- .windsurfrules (not served here)
- AGENTS.md
- ATTRIBUTION.md
- AUTOGINEER-RUNS.md
- CLAUDE.md (not served here)
- CODE_OF_CONDUCT.md
- CONTRIBUTING.md
- CONTRIBUTORS.md
- LICENSE
- Makefile (not served here)
- README.md
- SECURITY.md
- benchmarks/README.md (not served here)
- benchmarks/data/AAG_RULES.md (not served here)
- benchmarks/data/MONOLITH_DOCS.md (not served here)
- benchmarks/data/PROSE_RULES.md (not served here)
- benchmarks/data/knowledge/api/error-handling.md (not served here)
- benchmarks/data/knowledge/auth/jwt-strategy.md (not served here)
- benchmarks/data/knowledge/billing/stripe-webhooks.md (not served here)
- benchmarks/data/knowledge/caching/redis-tier.md (not served here)
- benchmarks/data/knowledge/database/naming-conventions.md (not served here)
- benchmarks/data/knowledge/deployment/health-checks.md (not served here)
- benchmarks/data/knowledge/index.md (not served here)
- benchmarks/data/knowledge/log.md (not served here)
- benchmarks/data/knowledge/security/encryption-policy.md (not served here)
- benchmarks/data/knowledge/telemetry/tracing.md (not served here)
- benchmarks/results/BENCHMARK_RESULTS_DMAA_anthropic_claude-opus-5.md (not served here)
- benchmarks/results/BENCHMARK_RESULTS_DMAA_lmstudio_google_gemma-4-26b-a4b-qat.md (not served here)
- benchmarks/results/BENCHMARK_RESULTS_DMAA_lmstudio_qwen_qwen2.5-coder-14b.md (not served here)
- benchmarks/results/BENCHMARK_RESULTS_DMAA_lmstudio_qwen_qwen3-coder-30b.md (not served here)
- benchmarks/results/BENCHMARK_RESULTS_DMAA_openai_gpt-5.6-sol.md (not served here)
- benchmarks/results/BENCHMARK_RESULTS_LAYER1_AAG_lmstudio_qwen_qwen3-coder-30b.md (not served here)
- benchmarks/results/BENCHMARK_RESULTS_LAYER2_PULL_lmstudio_qwen_qwen3-coder-30b.md (not served here)
- cmd/okf-benchmark/main.go (not served here)
- cmd/okf/main.go (not served here)
- cmd/okf/main_test.go (not served here)
- docs/README.md
- docs/guides/AGENT_INSTRUCTION_BEST_PRACTICES.md (not served here)
- docs/guides/BENCHMARKING_METHODOLOGY.md (not served here)
- docs/guides/CLI.md (not served here)
- docs/guides/GETTING_STARTED.md (not served here)
- docs/guides/LLM_INSTRUCTION_PATTERNS_CHEATSHEET.md (not served here)
- docs/project/AGENT_TESTING.md (not served here)
- docs/project/ALTERNATIVES.md (not served here)
- docs/project/ROADMAP.md (not served here)
- docs/project/playbooks/RELEASE_PLAYBOOK.md (not served here)
- docs/releases/README.md (not served here)
- docs/releases/v0.1.0.md (not served here)
- docs/releases/v0.1.1.md (not served here)
- docs/releases/v0.1.2.md (not served here)
- docs/releases/v0.1.3.md (not served here)
- docs/releases/v0.1.4.md (not served here)
- docs/releases/v0.1.5.md (not served here)
- docs/releases/v0.2.0.md (not served here)
- docs/releases/v0.3.0.md (not served here)
- docs/releases/v0.3.1.md (not served here)
- docs/releases/v0.4.0-rc.1.md (not served here)
- docs/releases/v0.4.0.md (not served here)
- docs/releases/v0.4.1.md (not served here)
- docs/releases/v0.4.2.md (not served here)
- docs/releases/v0.4.3.md (not served here)
- docs/releases/v0.4.4.md (not served here)
- docs/releases/v0.5.0.md (not served here)
- docs/releases/v0.6.0.md (not served here)
- docs/releases/v0.6.1.md (not served here)
- docs/releases/v0.6.2.md (not served here)
- docs/releases/v0.7.0.md (not served here)
- docs/releases/v0.7.1.md (not served here)
- docs/releases/v0.7.2.md (not served here)
- docs/releases/v0.8.0.md (not served here)
- docs/security/SECURITY.md (not served here)
- docs/security/SECURITY_AUDIT.md (not served here)
- docs/spec/AGENT_ACTION_GRAMMAR_RFC.md (not served here)
- docs/spec/CONVENTION.md (not served here)
- docs/spec/DUAL_MEMORY_AGENT_ARCHITECTURE_RFC.md (not served here)
- docs/spec/OKF-COMPATIBILITY.md (not served here)
- examples/books/.cursorrules (not served here)
- examples/books/.github/copilot-instructions.md (not served here)
- examples/books/.windsurfrules (not served here)
- examples/books/AGENTS.md (not served here)
- examples/books/CLAUDE.md (not served here)
- examples/books/knowledge/authors/daniel-kahneman.md (not served here)
- examples/books/knowledge/authors/index.md (not served here)
- examples/books/knowledge/books/index.md (not served here)
- examples/books/knowledge/books/kahneman-fast-slow.md (not served here)
- examples/books/knowledge/index.md (not served here)
- examples/books/knowledge/log.md (not served here)
- examples/books/knowledge/reviews/cognitive-bias-review.md (not served here)
- examples/books/knowledge/reviews/index.md (not served here)
- examples/coaching/.cursorrules (not served here)
- examples/coaching/.github/copilot-instructions.md (not served here)
- examples/coaching/.windsurfrules (not served here)
- examples/coaching/AGENTS.md (not served here)
- examples/coaching/CLAUDE.md (not served here)
- examples/coaching/knowledge/clients/index.md (not served here)
- examples/coaching/knowledge/clients/sarah-connor.md (not served here)
- examples/coaching/knowledge/goals/executive-presence.md (not served here)
- examples/coaching/knowledge/goals/index.md (not served here)
- examples/coaching/knowledge/index.md (not served here)
- examples/coaching/knowledge/log.md (not served here)
- examples/coaching/knowledge/sessions/2026-08-10-kickoff.md (not served here)
- examples/coaching/knowledge/sessions/index.md (not served here)
- examples/software/.cursorrules (not served here)
- examples/software/.github/copilot-instructions.md (not served here)
- examples/software/.windsurfrules (not served here)
- examples/software/AGENTS.md (not served here)
- examples/software/CLAUDE.md (not served here)
- examples/software/knowledge/architecture/auth-service.md (not served here)
- examples/software/knowledge/architecture/index.md (not served here)
- examples/software/knowledge/decisions/index.md (not served here)
- examples/software/knowledge/decisions/jwt-tokens.md (not served here)
- examples/software/knowledge/index.md (not served here)
- examples/software/knowledge/log.md (not served here)
- examples/software/knowledge/runbooks/database-failover.md (not served here)
- examples/software/knowledge/runbooks/index.md (not served here)
- go.mod (not served here)
- go.sum (not served here)
- internal/cli/agents.go (not served here)
- internal/cli/agents_test.go (not served here)
- internal/cli/hub.go (not served here)
- internal/cli/mutate.go (not served here)
- internal/cli/mutate_test.go (not served here)
- internal/cli/pull.go (not served here)
- internal/cli/pull_test.go (not served here)
- internal/cli/registry.go (not served here)
- internal/cli/registry_id_boundary_test.go (not served here)
- internal/cli/registry_test.go (not served here)
- internal/cli/restore.go (not served here)
- internal/cli/restore_test.go (not served here)
- internal/cli/root.go (not served here)
- internal/cli/root_test.go (not served here)
- internal/cli/scaffold.go (not served here)
- internal/cli/scorecard_test.go (not served here)
- internal/cli/search.go (not served here)
- internal/cli/search_filter_cli_test.go (not served here)
- internal/cli/search_vendor_test.go (not served here)
- internal/cli/show_scope_test.go (not served here)
- internal/cli/validate.go (not served here)
- internal/cli/validate_output_test.go (not served here)
- internal/cli/vendor.go (not served here)
- knowledge/architecture/bundle-quality-scorecards.md (not served here)
- knowledge/architecture/cli-argument-boundary.md (not served here)
- knowledge/architecture/governance-model.md (not served here)
- knowledge/architecture/index.md (not served here)
- knowledge/architecture/layers.md (not served here)
- knowledge/architecture/metadata-roundtrip.md (not served here)
- knowledge/architecture/registry-and-vendor-layering.md (not served here)
- knowledge/architecture/relationship-identity.md (not served here)
- knowledge/architecture/search-tokenization.md (not served here)
- knowledge/architecture/security-boundaries.md (not served here)
- knowledge/architecture/semantic-bookkeeping-merge.md (not served here)
- knowledge/architecture/starter-pack-retirement.md (not served here)
- knowledge/architecture/tooling-decision.md (not served here)
- knowledge/architecture/zero-knowledge-vault-sync.md (not served here)
- knowledge/convention/coding-standards.md (not served here)
- knowledge/convention/command-mutation-checklist.md (not served here)
- knowledge/convention/contributing.md (not served here)
- knowledge/convention/dual-memory-architecture.md (not served here)
- knowledge/convention/index.md (not served here)
- knowledge/convention/lifecycle.md (not served here)
- knowledge/convention/mcp-agent-safety.md (not served here)
- knowledge/convention/principles.md (not served here)
- knowledge/convention/release-procedure.md (not served here)
- knowledge/convention/security-audit.md (not served here)
- knowledge/index.md (not served here)
- knowledge/log.md (not served here)
- knowledge/project/index.md (not served here)
- knowledge/project/overview.md (not served here)
- knowledge/project/value-proposition.md (not served here)
- knowledge/requirements/index.md (not served here)
- knowledge/requirements/mutation-metadata.md (not served here)
- knowledge/roadmap/index.md (not served here)
- knowledge/roadmap/milestones.md (not served here)
- packaging/homebrew/Formula/okf.rb.tmpl (not served here)
- packaging/homebrew/README.md (not served here)
- pkg/lock/lock.go (not served here)
- pkg/lock/lock_test.go (not served here)
- pkg/okf/aag/linter.go (not served here)
- pkg/okf/aag/linter_test.go (not served here)
- pkg/okf/aag/types.go (not served here)
- pkg/okf/assets/skill/SKILL.md (not served here)
- pkg/okf/assets/skill/discovery.md (not served here)
- pkg/okf/assets/skill/examples.md (not served here)
- pkg/okf/assets/skill/relationships.md (not served here)
- pkg/okf/assets/skill/remember.md (not served here)
- pkg/okf/assets/skill/update.md (not served here)
- pkg/okf/assets/templates/AGENTS.md (not served here)
- pkg/okf/assets/templates/Makefile (not served here)
- pkg/okf/bootstrap.go (not served here)
- pkg/okf/bundle.go (not served here)
- pkg/okf/bundle_symlink_cwd_test.go (not served here)
- pkg/okf/bundle_symlink_root_test.go (not served here)
- pkg/okf/concurrency_test.go (not served here)
- pkg/okf/crash_consistency_test.go (not served here)
- pkg/okf/dogfood_test.go (not served here)
- pkg/okf/domains.go (not served here)
- pkg/okf/filter.go (not served here)
- pkg/okf/filter_test.go (not served here)
- pkg/okf/governance_test.go (not served here)
- pkg/okf/lock.go (not served here)
- pkg/okf/mcp.go (not served here)
- pkg/okf/mcp_nested_bundle_test.go (not served here)
- pkg/okf/mcp_test.go (not served here)
- pkg/okf/mutate.go (not served here)
- pkg/okf/mutate_security_test.go (not served here)
- pkg/okf/okf_test.go (not served here)
- pkg/okf/parser.go (not served here)
- pkg/okf/parser_extra_lists_test.go (not served here)
- pkg/okf/parser_source_extra_test.go (not served here)
- pkg/okf/path.go (not served here)
- pkg/okf/path_test.go (not served here)
- pkg/okf/provenance.go (not served here)
- pkg/okf/provenance_test.go (not served here)
- pkg/okf/scenarios_test.go (not served here)
- pkg/okf/schemas/tools.json (not served here)
- pkg/okf/scope.go (not served here)
- pkg/okf/scope_fallback_test.go (not served here)
- pkg/okf/scope_test.go (not served here)
- pkg/okf/scorecard.go (not served here)
- pkg/okf/scorecard_test.go (not served here)
- pkg/okf/search.go (not served here)
- pkg/okf/search_benchmark_test.go (not served here)
- pkg/okf/search_filter_test.go (not served here)
- pkg/okf/symlink.go (not served here)
- pkg/okf/symlink_test.go (not served here)
- pkg/okf/types.go (not served here)
- pkg/okf/types_test.go (not served here)
- pkg/okf/validator.go (not served here)
- pkg/okf/validator_parent_index_test.go (not served here)
- pkg/okf/validator_stale_within_test.go (not served here)
- pkg/registry/client.go (not served here)
- pkg/registry/client_test.go (not served here)
- pkg/registry/registry_boundary_test.go (not served here)
- pkg/registry/vendor.go (not served here)
- pkg/registry/vendor_test.go (not served here)
- pkg/sync/client.go (not served here)
- pkg/sync/client_test.go (not served here)
- pkg/sync/engine.go (not served here)
- pkg/sync/engine_state_test.go (not served here)
- pkg/sync/engine_test.go (not served here)
- pkg/sync/hub.go (not served here)
- pkg/sync/hub_index_conflict_test.go (not served here)
- pkg/sync/hub_path_boundary_test.go (not served here)
- pkg/sync/hub_path_validate_test.go (not served here)
- pkg/sync/hub_test.go (not served here)
- pkg/sync/hub_three_writer_conflict_test.go (not served here)
- pkg/sync/index_merge.go (not served here)
- pkg/sync/index_merge_test.go (not served here)
- pkg/sync/log_merge.go (not served here)
- pkg/sync/log_merge_test.go (not served here)
- pkg/sync/paths.go (not served here)
- pkg/sync/reconcile.go (not served here)
- pkg/sync/reconcile_test.go (not served here)
- pkg/sync/server.go (not served here)
- pkg/sync/server_test.go (not served here)
- pkg/sync/state.go (not served here)
- pkg/sync/state_boundary_push_test.go (not served here)
- pkg/sync/state_boundary_test.go (not served here)
- pkg/vault/commit.go (not served here)
- pkg/vault/commit_test.go (not served here)
- pkg/vault/envelope.go (not served here)
- pkg/vault/envelope_test.go (not served here)
- pkg/vault/kdf.go (not served here)
- pkg/vault/tree.go (not served here)
- pkg/vault/tree_test.go (not served here)
- pkg/vault/vault_kdf_test.go (not served here)
- pkg/vault/wasm_test.go (not served here)
Advantages
- Local-first: the memory stays in files or a database on your own machine (a rule-derived fact from the brain’s files, evidence: README.md)
- Works with 11 MCP clients (a rule-derived fact from the brain’s files, evidence: README.md)
- Open licence (MIT) (a rule-derived fact from the brain’s files)
Limitations
- Needs an API key (OKF_HUB_TOKEN) (a rule-derived fact from the brain’s files, evidence: README.md)
- No ZIP download: install it from its source (a rule-derived fact from the brain’s files)
Security
Risk level: No risk found
This brain runs
Agent instructions that run or fetch something (30)
.agents/skills/okf-memory/SKILL.md:MUST execute `okf_search(query=keywords, limit=3)` before proposing architecture changes or creating concepts..cursorrules:Agent => `git add` (stage) + PROPOSE commit message ONLY..cursorrules:MUST execute `okf_search(query=keywords, limit=3)` before proposing architecture, dependencies, or changes..cursorrules:IF skills_or_conventions_mutated => MUST run(`make sync-assets`).github/copilot-instructions.md:Agent => `git add` (stage) + PROPOSE commit message ONLY..github/copilot-instructions.md:MUST execute `okf_search(query=keywords, limit=3)` before proposing architecture, dependencies, or changes..github/copilot-instructions.md:IF skills_or_conventions_mutated => MUST run(`make sync-assets`).windsurfrules:Agent => `git add` (stage) + PROPOSE commit message ONLY..windsurfrules:MUST execute `okf_search(query=keywords, limit=3)` before proposing architecture, dependencies, or changes..windsurfrules:IF skills_or_conventions_mutated => MUST run(`make sync-assets`)AGENTS.md:Agent => `git add` (stage) + PROPOSE commit message ONLY.AGENTS.md:MUST execute `okf_search(query=keywords, limit=3)` before proposing architecture, dependencies, or changes.AGENTS.md:IF skills_or_conventions_mutated => MUST run(`make sync-assets`)CLAUDE.md:Agent => `git add` (stage) + PROPOSE commit message ONLY.CLAUDE.md:MUST execute `okf_search(query=keywords, limit=3)` before proposing architecture, dependencies, or changes.CLAUDE.md:IF skills_or_conventions_mutated => MUST run(`make sync-assets`)examples/books/.cursorrules:MUST execute `okf_search(query=keywords, limit=3)` before analyzing authors, books, themes, or literary reviews.examples/books/.windsurfrules:MUST execute `okf_search(query=keywords, limit=3)` before analyzing authors, books, themes, or literary reviews.examples/books/AGENTS.md:MUST execute `okf_search(query=keywords, limit=3)` before analyzing authors, books, themes, or literary reviews.examples/books/CLAUDE.md:MUST execute `okf_search(query=keywords, limit=3)` before analyzing authors, books, themes, or literary reviews.examples/coaching/.cursorrules:MUST execute `okf_search(query=keywords, limit=3)` before reviewing client history, goals, or proposing interventions.examples/coaching/.windsurfrules:MUST execute `okf_search(query=keywords, limit=3)` before reviewing client history, goals, or proposing interventions.examples/coaching/AGENTS.md:MUST execute `okf_search(query=keywords, limit=3)` before reviewing client history, goals, or proposing interventions.examples/coaching/CLAUDE.md:MUST execute `okf_search(query=keywords, limit=3)` before reviewing client history, goals, or proposing interventions.examples/software/.cursorrules:MUST execute `okf_search(query=keywords, limit=3)` before proposing architecture, new dependencies, or substantial code changes.examples/software/.windsurfrules:MUST execute `okf_search(query=keywords, limit=3)` before proposing architecture, new dependencies, or substantial code changes.examples/software/AGENTS.md:MUST execute `okf_search(query=keywords, limit=3)` before proposing architecture, new dependencies, or substantial code changes.examples/software/CLAUDE.md:MUST execute `okf_search(query=keywords, limit=3)` before proposing architecture, new dependencies, or substantial code changes.pkg/okf/assets/skill/SKILL.md:MUST execute `okf_search(query=keywords, limit=3)` before proposing architecture changes or creating concepts.pkg/okf/assets/templates/AGENTS.md:MUST execute `okf_search(query=keywords, limit=3)` before proposing architecture, new dependencies, or substantial changes.
Install scripts (1)
Makefile(make install):go install -ldflags="$(LDFLAGS)" ./cmd/okf
MCP servers (1)
README.md(okf-memory):/path/to/okf-agent-memory/bin/okf mcp /path/to/project/knowledge
Attribution and licence
- Created by
- sknr and the OKF Memory Contributors
- Publisher
- OKF Memory (Official OKF Memory project)
- Source
- okf-memory/okf-agent-memory · commit 1a6303d
- Licence
- MIT License (files served here)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by sknr and the OKF Memory Contributors or OKF Memory.
Install from source
274 of its files are not served here, so there is no ZIP. okf-memory/okf-agent-memory at 1a6303d