Persistent memory for LLMs and apps. Content-addressed storage with dedupe, compression, full-text and vector search.
  • C++ 93.3%
  • Python 2.5%
  • Shell 1.6%
  • Meson 1.4%
  • Lean 0.7%
  • Other 0.5%
Find a file
2026-10-27 09:13:13 -06:00
.act v0.6.12 experiemental 2025-09-11 11:28:42 -04:00
.devcontainer experimental → main: MCP timeout fix + doctor integrity checks + search/perf improvements (#31) 2026-05-14 23:29:44 -04:00
.forgejo/workflows test(fuzz): harnesses for search queries, UTF-8, text extraction, compression 2026-09-23 18:28:18 -06:00
.githooks fix: fence enrichment completion and reconcile promotion prerequisites (#157) 2026-09-12 18:53:12 -06:00
.github fix(tests): replace frozen expectations and harden release gates (#323) 2026-10-19 19:16:57 -06:00
.vscode build: standardize the Debug build dir on build/debug (#248) 2026-10-01 08:45:20 -06:00
conan build: make the deprecated ONNX Runtime integration opt-in 2026-09-22 18:56:22 -06:00
docker/local-ci fix(release): let clang find Arch ARM's GCC for Boost's arm64 target 2026-09-24 19:28:13 -06:00
docs test(daemon): replay startup schedules under a fuzzer (#335) 2026-10-22 16:48:50 -06:00
examples Merge pull request #237 from trvon/docs/install-guide 2026-09-30 18:00:26 -06:00
external chore(submodule): bump external/yams-repo to a798969 2026-09-30 17:13:21 -06:00
formal/topology feat(topology): road sidecar persistence (#302) 2026-10-14 08:47:03 -06:00
homebrew-yams@c51677b0eb feat: fixing brittleness in CI pip usage that breaks under package updates and system delayed updates. Improving graph repair process and reducing locks in ingestion pipeline 2026-04-17 12:32:00 -04:00
include fix(grep): bound the regex fallback instead of backtracking without limit 2026-10-26 22:32:47 -06:00
meson build: trim Meson options and build only the Boost libraries YAMS links 2026-10-01 18:52:34 -06:00
packaging fix: unblock the 0.20.5 release (aarch64 budget, MSVC linkage, mobile configure, Windows MSI) (#263) 2026-10-02 18:47:16 -06:00
plugins test(memory-sync): stop the sync service off the apply lock in stage hooks (#352) 2026-10-25 20:54:41 -06:00
public v0.2.0 2025-08-13 23:11:02 -04:00
scripts fix(packaging): compare upgrade bodies without cmp (#378) 2026-10-27 09:07:47 -06:00
sql v0.7.11 staging 2026-01-03 00:17:21 -05:00
src fix(grep): bound the regex fallback instead of backtracking without limit 2026-10-26 22:32:47 -06:00
subprojects fix(build): build libsql into the meson build tree (#324) 2026-10-22 07:12:19 -06:00
tests Merge branch 'experimental' into chore/backmerge-main-v0.21.0 2026-10-27 09:08:07 -06:00
third_party fix(vector): bump sqlite-vec-cpp for safe error formatting 2026-09-22 18:58:23 -06:00
tools test(daemon): replay startup schedules under a fuzzer (#335) 2026-10-22 16:48:50 -06:00
.actrc feat: tuning improvements with expanded db metrics, package hardening and updated tests 2026-02-15 17:52:43 -05:00
.clang-format experimental → main: MCP timeout fix + doctor integrity checks + search/perf improvements (#31) 2026-05-14 23:29:44 -04:00
.clang-tidy feat: search improvements, UBSan meson option, CI quality job, and fix clang-tidy findings 2026-04-06 23:11:03 -04:00
.clangd build: standardize the Debug build dir on build/debug (#248) 2026-10-01 08:45:20 -06:00
.cppcheck-suppressions feat: search improvements, UBSan meson option, CI quality job, and fix clang-tidy findings 2026-04-06 23:11:03 -04:00
.dockerignore feat: test fixes, metric expansion, build improvements for gliner 2026-04-23 08:48:33 -04:00
.gitignore test(fuzz): add a direct-P2P fuzz lane and a topology codec harness 2026-09-22 13:55:04 -06:00
.gitleaks.toml fix: fence enrichment completion and reconcile promotion prerequisites (#157) 2026-09-12 18:53:12 -06:00
.gitmodules refactor: simplify runtime paths and harden retrieval (#61) 2026-07-31 14:16:45 -04:00
.infer-suppress feat: removing other graph clustering algorithms for hdbscan with sgc 2026-04-21 10:20:00 -04:00
.opengrepignore refactor: simplify runtime paths and harden retrieval (#61) 2026-07-31 14:16:45 -04:00
.quality-deadcode-ignore feat: removing other graph clustering algorithms for hdbscan with sgc 2026-04-21 10:20:00 -04:00
.release-please-manifest.json chore(main): release 0.21.1 2026-10-27 15:10:30 +00:00
AGENTS.md docs(agents): require ResourceGovernor admission for daemon background work (#288) 2026-10-14 08:32:53 -06:00
CHANGELOG.md chore(main): release 0.21.1 2026-10-27 15:10:30 +00:00
CITATION.cff chore(main): release 0.21.1 2026-10-27 15:10:30 +00:00
CMakeLists.txt build: standardize the Debug build dir on build/debug (#248) 2026-10-01 08:45:20 -06:00
CODE_OF_CONDUCT.md feat(daemon): shutdown hardening + test helper linkage fixes (#44) 2026-06-08 16:29:44 -04:00
commitlint.config.js feat: release please 2026-02-19 20:26:43 -05:00
conanfile.py chore(main): release 0.21.1 2026-10-27 15:10:30 +00:00
CONTRIBUTING.md docs: refresh homepage and contribution guidance 2026-07-29 22:43:06 -04:00
Dockerfile build: release buildtype with split debug symbols 2026-10-01 16:53:23 -06:00
GOVERNANCE.md feat(daemon): shutdown hardening + test helper linkage fixes (#44) 2026-06-08 16:29:44 -04:00
LICENSE module updates 2025-12-03 21:27:51 -05:00
lsan.suppressions test(asan): detect stack-use-after-return and suppress OpenSSL init leak 2026-10-26 05:52:52 -06:00
MAINTAINERS.md v0.6.12 experiemental 2025-09-11 11:28:42 -04:00
meson.build chore(main): release 0.21.1 2026-10-27 15:10:30 +00:00
meson_options.txt build: trim Meson options and build only the Boost libraries YAMS links 2026-10-01 18:52:34 -06:00
mkdocs.yml Merge pull request #237 from trvon/docs/install-guide 2026-09-30 18:00:26 -06:00
NOTICE v0.7.5 staging and license updates 2025-10-13 17:07:31 -04:00
README.md Refine README content for clarity and conciseness 2026-10-01 14:11:24 -06:00
release-please-config.json ci(release): decouple draft promotion and enforce non-squash merge policy 2026-09-22 07:58:31 -06:00
SECURITY.md feat(daemon): shutdown hardening + test helper linkage fixes (#44) 2026-06-08 16:29:44 -04:00
setup.ps1 build: release buildtype with split debug symbols 2026-10-01 16:53:23 -06:00
setup.sh fix(profiling): keep Tracy zones off coroutine suspension points (#343) 2026-10-25 14:58:25 -06:00
tsan.suppressions fix(daemon): give each ServiceManagerFsm its own state 2026-10-26 05:52:52 -06:00

YAMS — Yet Another Memory System

Persistent, searchable memory for code, documents, and local applications. YAMS stores content once, deduplicates it, and retrieves it through text, vector, graph, and grep surfaces.

Experimental: YAMS is pre-1.0. Expect bugs and breaking changes.

Why YAMS

YAMS is local memory for people who work with LLMs. It runs on your machine and is harness-agnostic.

We believe LLM memory should be memory, and yours. It lives in a data directory you choose, in formats you can inspect and it can be exported or deleted whenever you decide. No account, no hosted service, and no model provider sits between you and what you have stored.

What it provides

  • SHA-256 content-addressed storage with chunk-level deduplication and compression
  • SQLite FTS5, Simeon embeddings, hybrid search, and knowledge-graph retrieval
  • Document graph traversal over paths, versions, entities, and semantic neighbors
  • Snapshots, Merkle tree diffs, corruption detection, and repair tooling
  • A CLI, an MCP server over stdio, and a C ABI for plugins and mobile hosts
  • Local-first operation with no account or hosted service requirement

Install

# macOS
brew install trvon/yams/yams

# Debian / Ubuntu
curl -fsSL https://repo.yamsmemory.ai/gpg.key \
  | sudo gpg --dearmor -o /usr/share/keyrings/yams-stable.gpg
echo "deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/yams-stable.gpg] https://repo.yamsmemory.ai/aptrepo stable main" \
  | sudo tee /etc/apt/sources.list.d/yams-stable.list
sudo apt-get update && sudo apt-get install yams

# Container
docker pull ghcr.io/trvon/yams:latest

Fedora (DNF), Arch (pacman), Windows (MSI) and release archives are covered in the install guide, along with where YAMS keeps its config, data and logs, how to run the daemon as a service, and the settings most people change. To build from source, see docs/BUILD.md.

By default YAMS keeps its config in ~/.config/yams/config.toml, your corpus in ~/.local/share/yams, and daemon logs in ~/.local/state/yams (%APPDATA% / %LOCALAPPDATA% on Windows).

Start

yams init
yams add ./README.md --tags docs
yams add src/ --recursive --include="*.cpp,*.h" --tags code

yams search "daemon lifecycle" --limit 5
yams grep "TODO" --include="*.cpp"
yams graph --explore "LifecycleComponent"

Run yams --help or yams <command> --help for the current command reference.

MCP

YAMS can expose a local corpus over MCP for compatible developer tools:

yams serve
{
  "mcpServers": {
    "yams": {
      "command": "yams",
      "args": ["serve"]
    }
  }
}

Project pages

Project

See CONTRIBUTING.md for contribution workflow and SECURITY.md for responsible vulnerability reporting.