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-28 20:30:41 -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 ci logic improvement for windows packagin 2025-11-28 08:38:22 -05:00
.vscode daemon worker coordinator race condition fix for windows 2025-11-25 20:11:06 -05:00
bench_results feat(search): implement parallel post-processing (PBI-001 Phase 3) 2025-11-09 08:04:15 -05:00
conan docs update and ci improvements for qpdf 2025-11-27 14:25: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 disabling thread sanitizer for mobile 2025-11-27 20:23:22 -05:00
examples adding additional headers 2025-10-20 16:12:01 -04:00
external tsan fix and module staging 2025-11-27 20:33:06 -05:00
homebrew-yams@12b3ce4e42 release improvements for linux packaging and homebrew formula automation 2025-11-14 21:49:18 -05:00
include linter 2025-11-28 20:30:41 -05:00
meson test stabilizations for windows. search metadata/tags improvements 2025-11-26 21:45:50 -05:00
packaging use after free fix and ci build fix 2025-11-28 20:30:19 -05:00
plugins tsan fix and module staging 2025-11-27 20:33:06 -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 linter 2025-11-28 20:30:41 -05:00
tests linter 2025-11-28 20:30:41 -05:00
third_party cleaning up tests and exposing windows packaging and builds in ci 2025-11-27 10:54:09 -05:00
tools use after free fix and ci build fix 2025-11-28 20:30:19 -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 windows build running. resolving plugin loading 2025-11-25 09:56:50 -05:00
.gitmodules cleaning up tests and exposing windows packaging and builds in ci 2025-11-27 10:54:09 -05:00
CHANGELOG.md cleaning up tests and exposing windows packaging and builds in ci 2025-11-27 10:54:09 -05:00
CODE_OF_CONDUCT.md v0.6.9 2025-09-06 00:11:43 -04:00
conanfile.py docs update and ci improvements for qpdf 2025-11-27 14:25:29 -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 improvements for lifecycle status and github action fixes 2025-11-26 00:28:30 -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 test stabilizations for windows. search metadata/tags improvements 2025-11-26 21:45:50 -05:00
meson_options.txt improvements for daemon lifecycle, tree repair, and mcp regression 2025-11-26 14:22:35 -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 and ci improvements for qpdf 2025-11-27 14:25:29 -05:00
SECURITY.md staging docs 2025-10-23 23:01:29 -04:00
setup.ps1 fixing pwoershell comparison operator 2025-11-27 23:54:20 -05:00
setup.sh improvements for daemon lifecycle, tree repair, and mcp regression 2025-11-26 14:22:35 -05:00
spdlog.pc yams 2025-08-10 23:41:49 -04:00
tsan.suppressions pre-release v0.7.8 2025-11-14 11:58:19 -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
  • 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, 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

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

# Verify installation
yams --version

# Run as a service (optional)
brew services start yams

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:

# Quick build (MSVC + Conan + Meson)
./setup.ps1 Release

# Build
meson compile -C build/release

Prerequisites:

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

See docs/BUILD.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.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}
}