100% local · open source · agent-ready

The simplest memory engine —
for you and your agents.

No servers. No SDKs. No complexity. Just save anything, recall it with natural language. Works for humans in the terminal and for AI agents as a skill.

$ curl -fsSL https://yaad.knl.co.in/install.sh | bash
Get started → View on GitHub
memory — zsh
── save once ────────────────────────
yaad add "claude session for db migration: 3fa2c891-7b4e....."
saved  [fact]
yaad add "prod needs VPN + bastion-01.internal"
saved  [note]
── recall anytime ───────────────────
yaad ask "claude session for db migration?"
3fa2c891-7b4e-4d1a-9f3c-2e8b5a6d0c19
agent session — claude code
── install once ─────────────────────
npx skills add kunalsin9h/yaad -g
✓ yaad skill installed globally
── agent recalls across sessions ─────
/yaad "what's the prod db setup?"
postgres on port 5433
host: db.internal, ssl required
── agent saves discoveries ───────────
/yaad add "deploy: always run migrations first"
saved  [note]
yaad add "deploy prod at 3pm" --remind "in 2h" · yaad ask "what's the staging db port?" · yaad add "api reference: https://docs.example.com/api" · yaad list --remind · yaad ask "any pending reminders for today?" · yaad add "submit PR for review" --remind "tomorrow 9am" · yaad get 01JTXK4A3B · yaad add "deploy prod at 3pm" --remind "in 2h" · yaad ask "what's the staging db port?" · yaad add "api reference: https://docs.example.com/api" · yaad list --remind · yaad ask "any pending reminders for today?" · yaad add "submit PR for review" --remind "tomorrow 9am" · yaad get 01JTXK4A3B ·
features

Everything you need,
nothing you don't.

Query-first memory that stays local and fits how developers actually work.

recall

Query-first memory

Ask in plain English. Local embeddings + LLM reasoning find what you saved, even weeks later.

privacy

Fully local & private

All AI runs via Ollama on your machine. No cloud, no accounts, no data leaving your laptop.

reminders

Smart reminders

Parse "in 30 minutes", "tomorrow 9am", or "Friday 3pm" into real deadlines.

context

Rich metadata

Every memory captures context, cwd, hostname, and timestamp. AI auto-detects type and tags.

resilience

Offline-safe

Memories save even when Ollama is down. AI enrichment degrades gracefully, never blocking saves.

architecture

Ports & Adapters

Swap storage, AI provider, or notifier by implementing a single interface.

for agents

Give your agents a memory.

yaad ships as an Agent Skill — one command to wire persistent local memory into Claude Code, Cursor, Codex, and 39+ agents that support the open skills standard.

quick install

Add to your agent

Install the yaad skill globally — available in every project and agent session.

# install globally (recommended)
npx skills add kunalsin9h/yaad -g

# or project-scoped
npx skills add kunalsin9h/yaad
agent usage

Your agent now remembers

Agents recall prior context, save discoveries, and set reminders — across every session.

# recall
/yaad "what's the staging db setup?"

# save
/yaad add "nginx config at /etc/nginx/sites-enabled/app"

# remind
/yaad add "review PR #42" --remind "tomorrow 9am"

Compatible with any agent that supports the open Agent Skills standard — Claude Code, Cursor, Codex CLI, Gemini CLI, and more. All memory stays on your machine.

reminders

Never miss a deadline.

Set a reminder while saving — yaad surfaces it right in your terminal when it's due.

# set a reminder while saving
yaad add "book conference ticket" --remind "in 30 minutes"
yaad add "deploy to prod" --remind "tomorrow 3pm"
yaad add "submit PR for review" --remind "Friday 9am"
your terminal — 30 minutes later
git push origin main
Everything up-to-date
ls -la
total 48 drwxr-xr-x ...
  ┌─────────────────────────────┐
  │ yaad · reminder              │
  │                             │
  │  book conference ticket     │
  │  due: now                    │
  └─────────────────────────────┘

Two ways to surface reminders — pick what fits your workflow.

recommended

Inline — PROMPT_COMMAND

Reminders surface in your terminal on every prompt. No background process needed.

# ~/.bashrc
export PROMPT_COMMAND="yaad check; $PROMPT_COMMAND"

# ~/.zshrc
precmd() { yaad check }
systemd

Background daemon

Install as a systemd user service. Desktop notifications via notify-send.

yaad daemon install
systemctl --user enable --now yaad

# check status
systemctl --user status yaad

Learn more in the reminders documentation →

installation

Up and running in minutes.

Requires Ollama running locally.

1

Install Ollama and pull models

Get Ollama from ollama.com, then pull the required models.

# embeddings model
ollama pull mxbai-embed-large
# chat / reasoning model (swap for any compatible one)
ollama pull llama3.2:3b
2

Install yaad

curl -fsSL https://yaad.knl.co.in/install.sh | bash
or download from release
3

Initialise config

yaad config init
4

Save your first memory

yaad add "staging db is postgres on port 5433"

Also set up reminders — it's yaad's most powerful feature and takes 30 seconds.

usage

A command for every moment.

Five memory types, auto-detected by AI: command · note · url · fact · reminder

yaad add

Save anything. Include context right in the content — AI finds it later. --remind sets a deadline, --tag for filtering.

yaad add "backend infra: staging db port is 5433"
yaad add "submit PR for review" --remind "tomorrow 9am"
yaad add "prod login: ssh -i ~/.ssh/id_rsa user@prod"
yaad add "https://api.docs.com" --tag reference
yaad ask

Query in plain English. LLM reasons over semantic search results to give a direct answer.

yaad ask "what is the staging db port?"
yaad ask "do I have anything due today?"
yaad ask "how do I log into prod?"
yaad list

Browse recent memories. Filter by type, tag, or show only pending reminders.

yaad list
yaad list --type reminder
yaad list --tag staging
yaad list --remind          # only due reminders
yaad get <id>

Show full details — content, type, tags, working dir, hostname, created time. Accepts 10-char ULID prefix.

yaad get 01JTXK4A3B
yaad delete / clean

Remove one memory by ID, or wipe everything at once. Both prompt for confirmation; skip with -y.

yaad delete 01JTXK4A3B
yaad delete 01JTXK4A3B -y   # skip prompt
yaad clean                  # delete all
yaad config

Manage ~/.yaadrc. Override Ollama URL, models, notifier, and reminder poll interval.

yaad config init
yaad config set ollama.chat_model llama3.2:3b
yaad config list
open source

Memory for you.
Memory for your agents.

Simple. Local. Open source. MIT licensed.

$ curl -fsSL https://yaad.knl.co.in/install.sh | bash
$ npx skills add kunalsin9h/yaad -g