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-02-23 22:47:05 -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 fix: license header file updates, mcp improvements, windows build fixes 2026-01-30 17:23:33 -05:00
.github fix: ci and repo updates 2026-02-20 22:31:17 -05:00
.vscode fix: resolving TSAN issues and expanding graph building to use gliner data 2026-02-19 14:52:01 -05:00
conan fix: updating conanfile for onnxruntime to respect system version, updated tests for windows compat, update vectors to enforce wal check point so files does not explode in size 2026-02-21 12:20:50 -05:00
docker/local-ci removing gtest migrated tests and continuing with test migration 2025-12-16 10:50:18 -05:00
docs fix: updating prompts, hydration logic and update mcp prompts 2026-02-23 12:00:50 -05:00
examples feat: implementing embedding chunking strategy and two staged ingestion that processes then distributes document data 2026-02-12 00:46:04 -05:00
external fix: reintroducing list hydration for all docs, updating repair logic 2026-02-23 10:47:29 -05:00
homebrew-yams@0c16ee9da8 feat: streamlining tuning and pool logic in daemon 2026-02-18 16:56:25 -05:00
include feat: refactoring mcp and metadata_repository further. 2026-02-23 16:39:41 -05:00
meson test stabilizations for windows. search metadata/tags improvements 2025-11-26 21:45:50 -05:00
packaging fix: testing improvements and bug fixes in daemon logic for lifecycle management 2026-02-17 15:55:29 -05:00
plugins feat: fixing TSAN issues in MCP. implementing cloudflare code mode https://blog.cloudflare.com/code-mode-mcp/ 2026-02-20 20:39:12 -05:00
public v0.2.0 2025-08-13 23:11:02 -04:00
scripts feat: merge and site update 2026-02-14 11:59:36 -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 fix: stop lifecycle improvements 2026-02-23 16:51:08 -05:00
subprojects feat: test coverage improvements. Scaling bug addresses 2026-02-04 20:20:18 -05:00
tests feat: refactoring mcp and metadata_repository further. 2026-02-23 16:39:41 -05:00
third_party fix: updating conanfile for onnxruntime to respect system version, updated tests for windows compat, update vectors to enforce wal check point so files does not explode in size 2026-02-21 12:20:50 -05:00
tools merge: integrate main into experimental (preserve PBI-081 simplification) 2026-02-19 10:01:01 -05:00
.actrc feat: tuning improvements with expanded db metrics, package hardening and updated tests 2026-02-15 17:52:43 -05: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
.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 fix: house cleaning 2026-02-09 21:12:26 -05:00
.dockerignore fix: house cleaning 2026-02-09 21:12:26 -05:00
.gitignore feat: mcp refactor and improvements. reverting list hydration patch from previous commit 2026-02-22 23:10:31 -05:00
.gitmodules feat: expanding mcp UI support, improvements for slots for component usage and other socket server stabilizations 2026-02-09 20:02:26 -05:00
.release-please-manifest.json chore(main): release yams 0.10.0 2026-02-23 21:55:23 +00:00
AGENTS.md fix: updating prompts, hydration logic and update mcp prompts 2026-02-23 12:00:50 -05:00
CHANGELOG.md chore(main): release yams 0.10.0 2026-02-23 21:55:23 +00:00
CITATION.cff chore(main): release yams 0.10.0 2026-02-23 21:55:23 +00:00
CODE_OF_CONDUCT.md v0.6.9 2025-09-06 00:11:43 -04:00
commitlint.config.js feat: release please 2026-02-19 20:26:43 -05:00
conanfile.py fix: Fixing issues that break windows release build. This should allow new msvc version Working on debug builds. 2026-02-10 15:03:39 -08: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 fix: house cleaning 2026-02-09 21:12:26 -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 chore(main): release yams 0.10.0 2026-02-23 21:55:23 +00:00
meson_options.txt feat: test improvements, ASAN fixes, and onnx model performance improvements 2026-02-17 08:59:53 -05:00
mkdocs.yml feat: merge and site update 2026-02-14 11:59:36 -05:00
NOTICE v0.7.5 staging and license updates 2025-10-13 17:07:31 -04:00
README.md build fixes and benchmark improvements 2026-01-17 16:29:28 -05:00
release-please-config.json feat: release please 2026-02-19 20:26:43 -05:00
SECURITY.md staging docs 2025-10-23 23:01:29 -04:00
setup.ps1 fix: Fixing issues that break windows release build. This should allow new msvc version Working on debug builds. 2026-02-10 15:03:39 -08:00
setup.sh fix: updating conanfile for onnxruntime to respect system version, updated tests for windows compat, update vectors to enforce wal check point so files does not explode in size 2026-02-21 12:20:50 -05:00
spdlog.pc yams 2025-08-10 23:41:49 -04:00
tsan.suppressions build fixes and benchmark improvements 2026-01-17 16:29:28 -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

Recommended model: all-MiniLM-L6-v2 (384-dim) — best speed/quality tradeoff.

GPU Acceleration

The ONNX plugin supports GPU acceleration for faster embedding generation:

Platform Provider Hardware
macOS CoreML Apple Silicon Neural Engine + GPU
Linux CUDA NVIDIA GPUs
Windows DirectML Any DirectX 12 GPU (NVIDIA, AMD, Intel)

GPU support is auto-detected during build. To manually control:

# Disable GPU
YAMS_ONNX_GPU=none ./setup.sh Release

# Force specific provider
YAMS_ONNX_GPU=cuda ./setup.sh Release    # Linux
YAMS_ONNX_GPU=coreml ./setup.sh Release  # macOS
YAMS_ONNX_GPU=directml ./setup.ps1       # Windows

See plugins/onnx/README.md for detailed configuration.

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}
}