This repository contains the wagl CLI: a local-first agent memory store.
- Local-first memory store backed by libSQL
- Designed for automation/agents: all commands emit JSON
- Includes curation + “expertise areas” for maintaining shareable, structured knowledge
cargo install --path crates/cli --locked --force# init schema
wagl init
# insert
wagl put --type note --text "hello" --tag demo --salience 0.7
# get
wagl get <id>
# query
wagl query "hello" --limit 10
# status
wagl status
# audit/import file-based memories
wagl audit --root /path/to/workspace
wagl import-missing --root /path/to/workspace
# search across primary + all expertise areas
wagl everything "term" --limit 50 --include-index--db <PATH>: override the wagl DB file path (also supported via envWAGL_DB).
Hive/event consumption and notification delivery have moved out of this repo (they live in the worker). This repo is focused on the local-first memory CLI.
Wagl can produce a curated DB (subset) from a source DB using a TOML config.
# create a shareable subset DB
wagl curate --config docs/CURATE_CONFIG.example.toml --out /tmp/wagl-curated.db --overwrite- Example config:
docs/CURATE_CONFIG.example.toml - Use-case: generate a smaller DB safe to expose to other tools (e.g., MCP) or a specialized agent.
Expertise areas are “secondary collections” stored in the same wagl DB.
# list expertise areas
wagl expertise list
# add an expertise area
wagl expertise add cms-quality-measures --description "…" --when-to-use "…"
# add an item to an expertise area
wagl expertise put --expertise cms-quality-measures --type note --text "…" --tag source:doc --salience 0.5
# query an expertise area
wagl expertise query cms-quality-measures dqm --limit 20crates/core— types + validation (no IO)crates/db— libSQL schema + queriescrates/cli— clap CLI entrypoints
wagl supports optional semantic search via sqlite-vec,
statically linked at build time — no external .so file required. To enable, set your
embeddings provider:
export WAGL_EMBEDDINGS_BASE_URL="http://localhost:11434"
export WAGL_EMBEDDINGS_MODEL="nomic-embed-text"If neither WAGL_EMBEDDINGS_BASE_URL nor WAGL_EMBEDDINGS_MODEL is set, wagl runs in
text-only mode — no errors, no startup cost. See docs/sqlite-vec.md
for details.
- sqlite-vec by Alex Garcia — MIT/Apache-2.0 licensed. Statically linked for vector similarity search.
Run:
wagl --help