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
2025-11-09 02:24:39 -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 v0.6.9 2025-09-06 00:11:43 -04:00
.github grep bug fixes and performance improvements 2025-11-09 02:24:07 -05:00
.vscode test migrations to catch2, service manager + socket server refactor for better startup performance. search bug fixes 2025-10-29 23:08:09 -04:00
conan build improvements for conan formula on macos 2025-11-07 08:31:29 -05:00
docker/local-ci stabilizations. removing http as I am not using it. Focusing on streamlining build and system 2025-11-05 10:52:27 -05:00
docs small bug fixes for retrieval 2025-11-06 17:00:34 -05:00
examples adding additional headers 2025-10-20 16:12:01 -04:00
external mcp fix and ci / repo updates 2025-11-07 15:51:23 -05:00
homebrew-yams@9d1c85b5f4 grep bug fixes and performance improvements 2025-11-09 02:24:07 -05:00
include re-running lint 2025-11-09 02:24:39 -05:00
meson improved ft5s checks for builds 2025-10-04 22:09:09 -04:00
packaging docs: update README with Homebrew installation and simplified init 2025-11-08 15:48:15 -05:00
plugins additional improvements (check the changelog), and clang tidy fixes. working to stabilize build before v0.7.7 so the tag is deleted 2025-11-04 14:43:42 -05:00
public v0.2.0 2025-08-13 23:11:02 -04:00
scripts CI fixes 2025-11-07 23:39:02 -05:00
spec v0.6.30 2025-09-16 10:55:37 -04:00
sql staging plugin updates 2025-10-23 23:47:28 -04:00
src re-running lint 2025-11-09 02:24:39 -05:00
tests re-running lint 2025-11-09 02:24:39 -05:00
third_party additional improvements (check the changelog), and clang tidy fixes. working to stabilize build before v0.7.7 so the tag is deleted 2025-11-04 14:43:42 -05:00
tools build improvements for conan formula on macos 2025-11-07 08:31:29 -05:00
.actrc v0.7.0-prerelease 2025-09-20 22:55:34 -04:00
.build.yml mcp fix and ci / repo updates 2025-11-07 15:51:23 -05:00
.clang-format v0.3.3 clang-format now in use 2025-08-15 15:51:18 -04:00
.cppcheck-suppressions v0.4.0 2025-08-20 14:02:06 -04:00
.dockerignore additional ci fixes for docker and meson setup 2025-11-01 16:46:31 -04:00
.gitignore v0.7.5 staging and license updates 2025-10-13 17:07:31 -04:00
.gitmodules mcp fix and ci / repo updates 2025-11-07 15:51:23 -05:00
CHANGELOG.md grep bug fixes and performance improvements 2025-11-09 02:24:07 -05:00
CODE_OF_CONDUCT.md v0.6.9 2025-09-06 00:11:43 -04:00
conanfile.py fixing prune command and tests fixes 2025-11-06 12:19:08 -05:00
CONTRIBUTING.md updating contributing for new meson build system. 2025-09-21 22:19:20 -04:00
Dockerfile fixing prune command and tests fixes 2025-11-06 12:19:08 -05:00
GOVERNANCE.md v0.6.12 experiemental 2025-09-11 11:28:42 -04:00
LICENSE v0.7.5 staging and license updates 2025-10-13 17:07:31 -04:00
MAINTAINERS.md v0.6.12 experiemental 2025-09-11 11:28:42 -04:00
meson.build CI fixes 2025-11-07 23:39:02 -05:00
meson_options.txt search engine improvements 2025-11-07 11:08:32 -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: update README with Homebrew installation and simplified init 2025-11-08 15:48:15 -05:00
SECURITY.md staging docs 2025-10-23 23:01:29 -04:00
setup.sh ci fixes, test updates and documentation imrpovements 2025-11-07 13:20:58 -05:00
spdlog.pc yams 2025-08-10 23:41:49 -04: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
  • Block‑level dedupe (Rabin)
  • Full‑text search (SQLite FTS5) + semantic search (embeddings)
  • WAL‑backed durability, high‑throughput I/O, thread‑safe
  • Portable CLI and MCP server
  • Extensible with Plugin Support

Install

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

macOS (Homebrew)

brew install trvon/yams/yams

# If linking fails due to conflicts, force link
brew link --overwrite yams

# Verify installation
yams --version

Build from Source

# 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

Prerequisites:

  • Compiler: GCC 13+ or Clang 16+ (C++20 minimum)
  • Build tools: meson, ninja-build, cmake, pkg-config, conan
  • System libs: libssl-dev, libsqlite3-dev, protobuf-compiler

See docs/BUILD-GCC.md for detailed build instructions, compiler configuration, Conan profiles, and troubleshooting.

Quick Start

# Initialize YAMS storage in current directory
yams init .

# Or specify custom location
export YAMS_STORAGE="$HOME/.local/share/yams"
yams init

# Add content
echo hello | yams add - --tags demo

# Search
yams search hello --limit 5

# List
yams list --format minimal --limit 1 

Path-Tree Search (Experimental)

Enable hierarchical index for faster prefix/path scans in config.toml:

[search.path_tree]
enable = true
mode = "preferred" # or "fallback" to keep legacy scans as backup

Optimizes yams grep with explicit path prefixes via listPathTreeChildren index.

MCP

yams serve  # stdio transport

MCP config (example):

{
  "mcpServers": { "yams": { "command": "/usr/local/bin/yams", "args": ["serve"] } }
}

Troubleshooting

Build issues: See docs/BUILD-GCC.md for compiler setup, Conan profiles, and dependency resolution.

Plugin discovery: Verify with yams plugin list. If empty:

  • Check trusted directories: yams plugin trust list
  • Add plugin path: yams plugin trust add ~/.local/lib/yams/plugins
  • Verify shared libs: ldd libyams_onnx_plugin.so

Monitor: yams stats --verbose and yams doctor for diagnostics.

Cite

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