Persistent memory for LLMs and apps. Content-addressed storage with dedupe, compression, full-text and vector search.
  • C++ 93.1%
  • Python 2.4%
  • Shell 1.6%
  • Meson 1.6%
  • Lean 0.7%
  • Other 0.6%
Find a file
2026-01-03 00:27:16 -05:00
.act v0.6.12 experiemental 2025-09-11 11:28:42 -04:00
.devcontainer v0.7.0-prerelease 2025-09-20 22:55:34 -04:00
.githooks watch additions and new tests 2025-12-29 03:14:16 -05:00
.github zig versioning fix 2025-12-31 15:18:17 -05:00
.vscode Merge branch 'main' of github.com:trvon/yams 2025-12-03 14:11:05 -05:00
conan checkpoint system, removed hybrid search engine after its been deprecated, build updates 2025-12-02 15:21:31 -05:00
docker/local-ci removing gtest migrated tests and continuing with test migration 2025-12-16 10:50:18 -05:00
docs prompt updates 2026-01-02 12:52:45 -05:00
examples yams-u2m: sync vector_db readiness 2025-12-23 13:04:20 -05:00
external test and compatibility fixes. grep UI improvements 2025-12-22 17:20:15 -05:00
homebrew-yams@12b3ce4e42 test and compatibility fixes. grep UI improvements 2025-12-22 17:20:15 -05:00
include v0.7.11 staging 2026-01-03 00:17:21 -05:00
meson test stabilizations for windows. search metadata/tags improvements 2025-11-26 21:45:50 -05:00
packaging plugin install path update, daemon status fixes, lint run 2025-12-20 18:13:54 -05:00
plugins expanding language support and update init 2026-01-02 14:22:23 -05:00
public v0.2.0 2025-08-13 23:11:02 -04:00
scripts windows build fixes 2025-12-31 15:38:25 -05:00
spec v0.6.30 2025-09-16 10:55:37 -04:00
sql v0.7.11 staging 2026-01-03 00:17:21 -05:00
src mcp and windows build fixes 2026-01-03 00:27:16 -05:00
tests v0.7.11 staging 2026-01-03 00:17:21 -05:00
third_party bug fix for sesssion and updating module tracking 2025-12-10 01:18:15 -05:00
tools bug fixes, linter run and improvements staging v0.7.10 2025-12-03 15:11:09 -05:00
.actrc v0.7.0-prerelease 2025-09-20 22:55:34 -04:00
.build.yml zig versioning fix 2025-12-31 15:18:17 -05:00
.clang-format v0.3.3 clang-format now in use 2025-08-15 15:51:18 -04:00
.cppcheck-suppressions plugin fixes for windows 2025-12-10 01:04:20 -05:00
.dockerignore fixing plugin load logic for external plugin, test compilation issues and adding entity integration test 2025-12-20 11:19:37 -05:00
.gitignore updating tests / completing catch2 migration. plugin trust fixes 2025-12-12 10:58:48 -05:00
.gitmodules test improvements and linter run 2025-12-31 12:51:28 -05:00
CHANGELOG.md v0.7.11 staging 2026-01-03 00:17:21 -05:00
CODE_OF_CONDUCT.md v0.6.9 2025-09-06 00:11:43 -04:00
conanfile.py fixing conanfile for ci and request dispatcher ordering for windows 2025-12-20 18:55:37 -05:00
CONTRIBUTING.md windows build stable on dev machine 2025-11-23 23:22:30 -05:00
CppProperties.json windows build running. resolving plugin loading 2025-11-25 09:56:50 -05:00
Dockerfile zig versioning fix 2025-12-31 15:18:17 -05:00
GOVERNANCE.md v0.6.12 experiemental 2025-09-11 11:28:42 -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 removing gtest migrated tests and continuing with test migration 2025-12-16 10:50:18 -05:00
meson_options.txt migrated pdf plugin, daemon shutdown logic fix 2025-12-31 14:46:07 -05:00
mkdocs.yml stabilizations. removing http as I am not using it. Focusing on streamlining build and system 2025-11-05 10:52:27 -05:00
NOTICE v0.7.5 staging and license updates 2025-10-13 17:07:31 -04:00
README.md docs improvements, tuning manager now scales postingestqueue, stats exposed in yams stats 2025-12-20 13:36:59 -05:00
SECURITY.md staging docs 2025-10-23 23:01:29 -04:00
setup.ps1 migrated pdf plugin, daemon shutdown logic fix 2025-12-31 14:46:07 -05:00
setup.sh migrated pdf plugin, daemon shutdown logic fix 2025-12-31 14:46:07 -05:00
spdlog.pc yams 2025-08-10 23:41:49 -04:00
tsan.suppressions daemon communication imrpovements and bug fixes related to tests 2026-01-02 11:55:58 -05:00

YAMS — Yet Another Memory System

Persistent memory for LLMs and apps. Content-addressed storage with dedupe, compression, full-text and vector search.

license language github builds last commit

Warning

Experimental Software - Not Production Ready

YAMS is under active development and should be considered experimental. The software may contain bugs, incomplete features, and breaking changes between versions. Use at your own risk.

For production workloads, please wait for a stable 1.0 release.

Features

  • SHA-256 content-addressed storage with block-level dedupe (Rabin chunking)
  • Full-text search (SQLite FTS5) + semantic vector search (embeddings)
  • Symbol extraction from source code (tree-sitter: C, C++, Python, JS, TS, Rust, Go, Java, C#, PHP, Kotlin, Dart, SQL, Solidity)
  • Snapshot management with Merkle tree diffs and rename detection
  • WAL-backed durability, high-throughput I/O, thread-safe
  • Portable CLI, MCP server, and plugin architecture (ONNX, S3, PDF extraction)

Install

Supported platforms: Linux x86_64/ARM64, macOS x86_64/ARM64, Windows x86_64

macOS (Homebrew)

# Stable release (recommended)
brew install trvon/yams/yams

# Or get nightly builds for latest features
brew install trvon/yams/yams@nightly

# Verify installation
yams --version

Docker

# Pull and run
docker pull ghcr.io/trvon/yams:latest
docker run --rm -v yams-data:/home/yams/.local/share/yams ghcr.io/trvon/yams:latest --version

# MCP server
docker run -i --rm -v yams-data:/home/yams/.local/share/yams ghcr.io/trvon/yams:latest serve

Build from Source

Linux/macOS:

# Quick build (auto-detects Clang/GCC, configures Conan + Meson)
./setup.sh Release

# Build
meson compile -C build/release

# Optional: Install system-wide
meson install -C build/release

Windows:

./setup.ps1 Release
meson compile -C build/release

Prerequisites: GCC 13+, Clang 16+, or MSVC 2022+ (C++20); meson, ninja-build, cmake, pkg-config, conan

See docs/BUILD.md for detailed instructions.

Quick Start

# Initialize (interactive - prompts for grammar downloads)
yams init .

# Auto mode for containers/headless
yams init --auto

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

# Search
yams search "config file" --limit 5
yams grep "TODO" --include="*.cpp"

# List and retrieve
yams list --limit 20
yams get <hash> -o ./output.bin

Symbol Extraction

YAMS extracts symbols (functions, classes, methods) from source code using tree-sitter:

# Interactive grammar setup
yams init

# Or auto-download recommended grammars
yams init --auto

# Manage grammars separately
yams config grammar list
yams config grammar download cpp python rust

Supported: C, C++, Python, JavaScript, TypeScript, Rust, Go, Java, C#, PHP, Kotlin, Dart, SQL, Solidity

Snapshots & Diff

# Snapshots are created automatically on add
yams add . --recursive --include="*.cpp,*.h" --snapshot-label "v1.0"

# List snapshots
yams list --snapshots

# Compare snapshots (Merkle tree diff with rename detection)
yams diff v1.0 v1.1
yams diff v1.0 v1.1 --include="*.cpp" --stats

MCP Server

yams serve  # stdio transport (JSON-RPC)

Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):

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

Plugins

YAMS supports plugins for embeddings (ONNX), storage (S3), and content extraction (PDF):

yams plugin list                    # List loaded plugins
yams plugin trust add ~/.local/lib/yams/plugins
yams plugin health                  # Check plugin status
yams doctor plugin onnx             # Diagnose specific plugin

Troubleshooting

yams doctor              # Full diagnostics
yams stats --verbose     # Storage statistics
yams repair --all        # Repair common issues

Build issues: See docs/BUILD.md

Plugin discovery: yams plugin list empty? Add trust path: yams plugin trust add ~/.local/lib/yams/plugins

Cite

@misc{yams,
  author = {Trevon Williams},
  title = {YAMS: Content-addressable storage with semantic search},
  year = {2025},
  publisher = {GitHub},
  url = {https://github.com/trvon/yams}
}