Persistent memory for LLMs and apps. Content-addressed storage with dedupe, compression, full-text and vector search.
  • C++ 93.6%
  • Python 2.1%
  • Meson 1.6%
  • Shell 1.4%
  • Lean 0.7%
  • Other 0.6%
Find a file
Trevon cac8c42634
Some checks failed
Build and Push Docker Images / Build Docker Image (linux/arm64 native) (push) Waiting to run
Build and Push Docker Images / Create Multi-arch Manifest (push) Blocked by required conditions
Tests / warm (push) Blocked by required conditions
Tests / Static Analysis (push) Waiting to run
Tests / Tests (linux-arm64) (push) Blocked by required conditions
Tests / Tests (macos-arm64) (push) Blocked by required conditions
Tests / Tests (linux-x86_64-asan) (push) Blocked by required conditions
Tests / Tests (linux-x86_64-ubsan) (push) Blocked by required conditions
Tests / Tests (linux-x86_64) (push) Blocked by required conditions
Tests / Tests (windows-x86_64) (push) Blocked by required conditions
Tests / Warm Conan & ccache (linux-arm64) (push) Waiting to run
Tests / Warm Conan & ccache (macos-arm64) (push) Waiting to run
Tests / Warm Conan & ccache (linux-x86_64) (push) Waiting to run
Tests / Warm Conan & ccache (macos-x86_64) (push) Waiting to run
Tests / Warm Conan & ccache (windows-x86_64) (push) Waiting to run
Build and Push Docker Images / Build Docker Image (linux/amd64) (push) Failing after 12s
Secret scan / gitleaks (push) Failing after 7s
Mirror source to Forgejo / mirror (push) Has been skipped
Release Please / release-please (push) Failing after 7s
fix(daemon): keep socket shutdown notify inside the lock (#165)
execute_on_io_context posted a handler that set "done" under the lock
and then called cv.notify_one() after releasing it. The mutex and
condition variable are stack locals of the calling frame, so the waiter
could wake in that window, return, and destroy them -- leaving the IO
thread signalling a destroyed condition variable in reused stack memory.
On shutdown that surfaced as an ASan BUS with a corrupted return address
from SocketServer::stop().

Notify while still holding the lock, so the waiter cannot return before
the notify completes.

Release-As: 0.20.0

Signed-off-by: trvon <me@trevon.dev>
2026-09-19 20:47:59 -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
.githooks ci(release): reconcile draft promotion safely (#113) 2026-09-07 11:34:31 -04:00
.github chore: promote experimental to main (#156) 2026-09-19 16:27:50 -06:00
.vscode chore: promote experimental to main (#156) 2026-09-19 16:27:50 -06:00
conan ci: use VS 2026 Windows runners 2026-06-19 20:11:52 -04:00
docker/local-ci fix(ci): isolate arch package builds 2026-07-01 10:02:54 -04:00
docs chore: promote experimental to main (#156) 2026-09-19 16:27:50 -06:00
examples refactor: simplify runtime paths and harden retrieval (#61) 2026-07-31 14:16:45 -04:00
external chore: promote experimental to main (#156) 2026-09-19 16:27:50 -06:00
formal/topology chore: promote experimental to main (#156) 2026-09-19 16:27:50 -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 chore: promote experimental to main (#156) 2026-09-19 16:27:50 -06:00
meson feat: CorpusStats-driven tuning accuracy + per-query community detection. Fixes for clion meson detection 2026-04-07 13:59:27 -04:00
packaging fix(ci): isolate arch package builds 2026-07-01 10:02:54 -04:00
plugins chore: promote experimental to main (#156) 2026-09-19 16:27:50 -06:00
public v0.2.0 2025-08-13 23:11:02 -04:00
scripts chore: promote experimental to main (#156) 2026-09-19 16:27:50 -06:00
sql v0.7.11 staging 2026-01-03 00:17:21 -05:00
src fix(daemon): keep socket shutdown notify inside the lock (#165) 2026-09-19 20:47:59 -06:00
subprojects fix(ci): stabilize Windows release builds 2026-07-05 15:56:52 -04:00
tests chore: promote experimental to main (#156) 2026-09-19 16:27:50 -06:00
third_party chore: promote experimental to main (#156) 2026-09-19 16:27:50 -06:00
tools chore: promote experimental to main (#156) 2026-09-19 16:27: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 bug fixes for model loading logic, dynamic vec table dimensions, cli refactor and search bug fixes 2026-01-08 23:10:58 -05: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 chore: promote experimental to main (#156) 2026-09-19 16:27:50 -06:00
.gitleaks.toml chore: promote experimental to main (#156) 2026-09-19 16:27:50 -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.19.0 (#55) 2026-07-31 21:21:44 -04:00
AGENTS.md chore: promote experimental to main (#156) 2026-09-19 16:27:50 -06:00
CHANGELOG.md chore(main): release 0.19.0 (#55) 2026-07-31 21:21:44 -04:00
CITATION.cff chore: promote experimental to main (#156) 2026-09-19 16:27:50 -06:00
CMakeLists.txt fix: cleaning up benchmark page and adding CmakeLists.txt 2026-04-09 22:55:03 -04: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.19.0 (#55) 2026-07-31 21:21:44 -04:00
CONTRIBUTING.md docs: refresh homepage and contribution guidance 2026-07-29 22:43:06 -04:00
Dockerfile refactor: simplify runtime paths and harden retrieval (#61) 2026-07-31 14:16:45 -04: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
MAINTAINERS.md v0.6.12 experiemental 2025-09-11 11:28:42 -04:00
meson.build chore: promote experimental to main (#156) 2026-09-19 16:27:50 -06:00
meson_options.txt refactor: simplify runtime paths and harden retrieval (#61) 2026-07-31 14:16:45 -04:00
mkdocs.yml chore: promote experimental to main (#156) 2026-09-19 16:27:50 -06:00
NOTICE v0.7.5 staging and license updates 2025-10-13 17:07:31 -04:00
README.md chore: promote experimental to main (#156) 2026-09-19 16:27:50 -06:00
release-please-config.json ci: improve release please configuration and CHANGELOG 2026-05-04 11:11:45 -04:00
SECURITY.md feat(daemon): shutdown hardening + test helper linkage fixes (#44) 2026-06-08 16:29:44 -04:00
setup.ps1 fix(ci): stabilize Windows release builds 2026-07-05 15:56:52 -04:00
setup.sh fix(testing): stabilize TSAN coverage, harden daemon shutdown, and speed up KG/storage paths (#53) 2026-06-26 17:57:02 -04:00
tsan.suppressions chore: stabilize CI, faiss, metadata, docker, and simeon (#25) 2026-05-07 21:07:59 -04: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.

What it provides

  • SHA-256 content-addressed storage with chunk-level deduplication and compression
  • SQLite FTS5, Simeon embeddings, hybrid search, and knowledge-graph retrieval
  • Tree-sitter symbol extraction and source-aware graph traversal
  • 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

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

Linux packages and Windows artifacts are published with releases. To build from source, see docs/BUILD.md.

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.