Help us shape the future of Go! Take the 2026 Go Developer Survey

vaultmind

command module
v0.10.18 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 21, 2026 License: MIT Imports: 2 Imported by: 0

README

VaultMind

A project's knowledge, where its agents can use it.

A codebase records what the system does. It rarely records why: the decisions and what they ruled out, how the parts work, the gotchas someone already paid for. VaultMind keeps that knowledge in a vault of plain Markdown notes in Git, and gets it to the agents that work on the project: searched, ranked and delivered into their context as they work, with no server and no LLM of its own.

It's a single Go binary. It builds a derived index (full-text, dense, sparse and late-interaction embeddings) and a graph of the [[wikilinks]] between notes. It needs the embedding model it downloads on first use (BGE-M3, about 2.3 GB, for the full hybrid; MiniLM, about 90 MB, for the pure-Go build), and bash and python3 for the agent hooks.

What you can do

Get knowledge in

Start a vault vaultmind init ./knowledge
Import a folder of docs (Markdown, PDF, Word, PowerPoint, Excel, HTML, CSV, EPUB, images) vaultmind import ./docs --vault ./knowledge
Import a web page, or a whole docs site vaultmind import https://docs.example.com --vault ./knowledge --crawl
Keep the vault in step with a folder or site as it changes vaultmind import ./docs --vault ./knowledge --watch
Import a zip or tar of docs vaultmind import ./docs.zip --vault ./knowledge
Write a note vaultmind note create decisions/cache.md --type decision --field title="Cache in front of the API" --field status=accepted --vault ./knowledge

A re-import brings changes across and keeps notes you edited by hand (--force overwrites them). --dry-run shows what an import would do. A long document becomes an index note plus one note per section. Images become notes of their metadata, their text (OCR, when tesseract is installed) and, with --vision-endpoint, a description from a vision model.

Find it

Ask a question; get the ranked notes and their most relevant text vaultmind ask "why sqlite and not postgres?" --vault ./knowledge
Search without bodies (--mode keyword, semantic or hybrid) vaultmind search "retries" --vault ./knowledge --mode hybrid
See what the vault covers: folders, what each is about, one line per note vaultmind tree --vault ./knowledge --depth 1
Find the notes about a code file (via paths: in their frontmatter) vaultmind tree --vault ./knowledge --for internal/auth/token.go
Read a note vaultmind note get decision-sqlite --vault ./knowledge
See what links to a note, and what it links to vaultmind memory links decision-sqlite --in --vault ./knowledge
Ask across several vaults at once vaultmind ask "..." --vaults ./knowledge,./team-notes

Give it to agents

Claude Code: recall on every prompt, the notes about a file as it's read, related notes before a commit vaultmind hooks install . --vault ./knowledge --merge
Codex CLI vaultmind hooks install . --vault ./knowledge --agent codex --merge
Cursor vaultmind hooks install . --vault ./knowledge --agent cursor --merge
Any MCP client, including Claude Desktop and agents without a shell vaultmind mcp --vault ./knowledge
Check that the hooks are installed and wired vaultmind hooks status .

Keep it healthy

Check the vault: unresolved and dead links, missing required fields, notes not yet embedded, a stale index, drifted hooks vaultmind doctor --vault ./knowledge
Fix what can be fixed automatically vaultmind doctor heal --vault ./knowledge
Re-index after editing notes by hand (--embed refreshes embeddings) vaultmind index --embed --vault ./knowledge

Every command has --help, and --json for scripts. vaultmind --help lists all of them by what you want to do.

Install

Claude Code plugin — one command:

claude plugin install vaultmind --marketplace peiman/vaultmind

Requires Claude Code 2.1.292+. Then run /vaultmind:vaultmind-setup inside Claude Code; the agent initializes a vault, imports project Markdown, embeds it and verifies retrieval. The plugin downloads a version-pinned binary on first use and supplies hooks plus MCP tools. See plugin/README.md for requirements, existing-hook coexistence, data storage and uninstall options.

Quick — MiniLM, every platform:

go install github.com/peiman/vaultmind@latest   # requires Go >= 1.26.6

A pure-Go binary: full-text + MiniLM dense retrieval (2 lanes). Ideal for trying VaultMind — it does not include BGE-M3's sparse + ColBERT lanes. The same MiniLM build is published as a plain archive, vaultmind_<version>_<os>_<arch>.tar.gz (no v in the version), for platforms without an ORT build. Windows is a .zip of that build.

Full 4-way hybrid — BGE-M3 (recommended for real use):

The ORT archives carry a v in the version. The two published for v0.10.18 are vaultmind_v0.10.18_darwin_arm64_ort.tar.gz and vaultmind_v0.10.18_linux_amd64_ort.tar.gz (darwin_arm64 and linux_amd64) on the releases page. Extract the archive, keep libonnxruntime* in the same directory as the binary, and put that directory on PATH. The official libonnxruntime is bundled, so there's nothing else to install — no compiler required. Upgrading an existing install? Extract elsewhere and mv the new binary and its libonnxruntime* libraries into place rather than copying over the old ones — mv is atomic and gives a fresh inode. Overwriting in place has been seen once on macOS to trip a codesigning SIGKILL; the cause is unconfirmed, but replacing rather than overwriting avoids it and is the safer form anyway.

With the ORT build, the first vaultmind index --embed downloads the BGE-M3 model (about 2.3 GB). On an Apple Silicon Mac a first embed of 74 notes took 133 seconds and used 2.7 GB peak memory.

Which one? For a small vault or a slow machine, MiniLM is genuinely fine — its dense lane covers a small corpus well, and its lighter query encoder keeps per-prompt latency low (that cost lands on every recall). Reach for BGE-M3 when your vault is large and varied and recall quality matters most. Note: go install is the only path that can't produce BGE-M3 (cgo can't travel through it) — so if your setup uses go install, you're on MiniLM by design; the prebuilt archive above is the no-compile way to the full hybrid.

From source (any platform with a C toolchain):

git clone https://github.com/peiman/vaultmind && cd vaultmind
brew install onnxruntime   # macOS; Linux: install from the ONNX Runtime releases
task setup:ort             # verifies ONNX Runtime; hugot uses a Go tokenizer
task build                 # auto-selects ORT when the toolchain check passes

See docs/embedding-backends.md for every backend, platform, performance note, and the dense-only vs. 4-way-hybrid tradeoff.

Quickstart

vaultmind init ./knowledge
vaultmind import docs *.md --vault ./knowledge
vaultmind index --embed --vault ./knowledge
vaultmind ask "what did we decide about retries?" --vault ./knowledge
vaultmind hooks install . --vault ./knowledge --merge

The shell expands *.md to the root Markdown (README, CONTRIBUTING, AGENTS, and the rest) and skips dotfiles, so tool chat logs such as .aider.chat.history.md stay out; drop docs if the project has no docs/, and if the project has no root Markdown, leave out *.md (zsh aborts the whole command with no matches found otherwise). Re-running the same command picks up changes; a root doc you delete or rename must be removed from the vault by hand: delete its file under <vault>/imported/ and run vaultmind index --vault <vault> (single-file imports have no orphan pass, even with --prune).

vaultmind init --wire-hooks installs the hooks while scaffolding. vaultmind init --print-instructions prints the agent setup guide.

init writes a type registry, a README for the vault and starter notes. doctor names those starters (2 example notes: delete or keep). Add your own notes as Markdown with frontmatter; vaultmind index picks up hand edits.

The vault's .vaultmind/.gitignore keeps its index, caches and locks out of git while leaving config.yaml, section templates, project hook setup and the telemetry fingerprint available to commit; init and the first index create it when absent and preserve an existing file.

The first index --embed downloads the embedding model if it is not cached (about 2.3 GB for BGE-M3). Allow a few minutes for the first embed: one run of 74 notes took 133 seconds and peaked at 2.7 GB of memory; time and memory depend on note length and hardware. Each batch prints embedded <done>/<total> notes (<elapsed>s) to stderr, so progress stays visible with --json too. The count includes only notes whose vectors were stored; failed batches are reported on the same line. Imports keep this progress, while ordinary note writes print one embed summary. Later runs reuse the cached model and skip notes whose embeddings are current.

Agents: hooks and MCP

Hooks deliver the vault without being asked. hooks install writes scripts into the project and wires them into the agent's settings (--merge adds to existing hooks and never removes them; --dry-run previews). A knowledge vault gets: the vault map and health at session start (and again after /clear and compaction), the notes that match each prompt as short excerpts, the notes about a code file when the agent reads or edits it, and related notes before a commit, push or merge. A note marked pinned: true is loaded at session start too, under one budget for the session, with a long note excerpted to 400 tokens. That mark lives in the vault so it survives hooks install --force. Without --vault, the hooks look for <project-dir>/vaultmind-identity.

  • Codex needs your approval, and skips the hooks silently without it. Trust the project when Codex asks, then run /hooks inside Codex and trust the VaultMind hooks, and again after every upgrade. vaultmind hooks status <project-dir> checks each hook the way Codex does and fails while any would be skipped. Codex projects keep the scripts in .vaultmind/scripts/. Read-tracking, the code map and the pre-compaction prompt are Claude Code only.
  • Cursor adds context only at session start and after a tool runs. So under Cursor the agent gets the vault map at session start, the notes about a file after it reads or edits that file, and related notes after a commit, but no per-prompt recall: Cursor's hooks cannot add context to a prompt. The session-start message tells the agent to ask the vault itself, and in our tests it did. Cursor projects share .vaultmind/scripts/ with Codex.

For Claude Code hooks in every project, use vaultmind hooks install --scope user --vault /absolute/path/to/knowledge --merge. Scripts live in ~/.vaultmind/scripts, with absolute paths in ~/.claude/settings.json. Check or upgrade an existing global install with vaultmind hooks status --scope user and vaultmind hooks install --scope user --merge --force --dry-run (preview before applying). Status fails for broken command paths or overlapping user/project hooks; install warns about overlaps and migrates generated legacy commands while preserving custom commands as conflicts. See user-scope hooks for Codex, Cursor and overwrite protection.

vaultmind hooks status <project-dir> reports both halves: whether each script matches the copy in the binary, and whether each event is actually wired. See docs/AGENT_USAGE.md for the day-to-day agent workflow.

MCP gives any client the tools. vaultmind mcp serves a vault over stdio to Claude Desktop, Cursor or any MCP client. Its tools are ask, search, note_get, tree, links, note_create and import (a web page or site: http(s) URLs from public addresses only, since a page the agent read could prompt it). Each one runs the vaultmind command of the same name with --json, so a tool answers exactly what the CLI answers. The vaults are fixed when the server starts, so a client can't point a tool at another directory.

claude mcp add vaultmind -- vaultmind mcp --vault /path/to/vault

Claude Desktop, Cursor (.cursor/mcp.json) and most other clients take the same entry: {"mcpServers": {"vaultmind": {"command": "vaultmind", "args": ["mcp", "--vault", "/path/to/vault"]}}}. MCP gives an agent the tools, while the hooks deliver the vault without being asked, so use both where your agent has hooks.

An agent's own identity (persona vaults)

A vault can also hold who an agent is: the moments that changed how it works, its principles, and its captured sessions. Loaded at session start, it lets a new session continue as the same agent. vaultmind init --profile persona makes one, and hooks install --profile persona loads it. See docs/persona-vault.md for the persona hooks, seeding a vault from past sessions, the desk, and the example vault, and docs/building-an-identity-vault.md for the arc method.

How it works

Notes are the source of truth; the SQLite index is derived from them and rebuilt by vaultmind index. Search fuses full-text, dense, sparse and ColBERT lanes, and reports how far the top hit clears the vault's own off-topic noise floor, so "nothing relevant" is an honest answer. A hit brings along the notes it links to. See docs/how-it-works.md for retrieval, context packs, excerpts and delivery.

The local usage log

VaultMind keeps a local SQLite log of retrieval events — which queries surfaced which notes, and which notes an agent then opened — as the raw material for learning from use. Today it is a record, not an input: it does not change what search returns. It is on by default, and it is worth knowing exactly what that means.

doctor reports observable evidence over seven days:

Memory use (7d, all vaults on this machine): 5 surfaced → 5 delivered → 1 opened, 2 cited (2 unknown — not measurable from text)
gap-closing notes (all vaults on this machine): 1 surfaced, 1 cited

opened is a logged read in the same conversation and vault. cited means the exact note ID appeared in that turn's assistant text or tool inputs, with reads taking precedence. Titles and injected recall blocks do not count. Neither signal proves influence, and unknown never means unused: applying an idea in other words cannot be measured from text. The check runs in episode capture (the existing SessionEnd capture hook, or Stop when wired to that path), adding no work to recall. See use evidence for the event and JSON fields and measurement limits.

On your disk, by default: the full query text, the vault path, the note ids returned, and caller metadata ($USER, hostname, CLAUDE_PROJECT_DIR). The file is created 0600 — together with the -wal and -shm sidecars SQLite writes beside it, which hold the same material — at

  • macOS: ~/Library/Application Support/vaultmind/experiments.db
  • Linux: $XDG_DATA_HOME/vaultmind/experiments.db (default ~/.local/share/vaultmind/experiments.db)

Nothing is transmitted — VaultMind has no uploader, and doctor's once-a-day version check is the only network call it makes on its own (see "The one network call").

experiments.telemetry chooses what leaves, not what is written:

writes locally vaultmind export emits
anonymous (default) everything above query text, vault path, note ids and paths, and caller metadata stripped
full everything above everything
off nothing — the log is never created nothing to export

So anonymous means anonymous when shared. It is not a redaction at write time, and a reader who opens the database will find their queries in it. Reading an existing log still works under off; turning it off is a decision about new data, not a lock on what you already have.

To turn it off — in ~/.config/vaultmind/config.yaml (or $XDG_CONFIG_HOME/vaultmind/config.yaml):

experiments:
  telemetry: off

The nesting matters. A bare experiments: off does not work — it is read as an empty value and you get the anonymous default, which is the opposite of what you asked for. VAULTMIND_EXPERIMENTS_TELEMETRY=off works too, and vaultmind config prints what is currently in effect.

Turning it off loses that history; it changes nothing about today's search results.

Sharing remains something you do on purpose: there is no automatic upload, and export only writes a file.

The one network call

vaultmind doctor asks the Go module proxy once a day whether a newer VaultMind exists, and prints a line if so. That is the only time VaultMind reaches the network on its own, and it sends nothing about you or your vault — it is a GET for a version number, the same request go install …@latest makes. The answer is cached for 24 hours, times out in 3 seconds, and is silent on any failure.

It lives on doctor and nowhere else: that is the command you run to ask whether your setup is healthy, so a network call there is expected rather than a surprise — and putting it on ask would tax every query. Set VAULTMIND_NO_UPDATE_CHECK=1 to opt out; the check returns before making any request, and the notice itself tells you that variable exists. (import reaches the network when you give it a URL, and --vision-endpoint sends images to the endpoint you name; neither happens on its own.)

Contributing

VaultMind is a Go CLI built on the ckeletin-go scaffold (the .ckeletin/ framework layer). task check is the single quality gate — it runs formatting, linting, architecture and security checks, the full test suite, and the coverage floor. If it passes, the change is sound regardless of who wrote it.

  • Read AGENTS.md for architecture rules and conventions, and CONTRIBUTING.md before opening a PR.
  • TDD: write the failing test first; commit test + implementation together.

License

See LICENSE.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
ckeletin:allow-custom-command - not a command: ask helpers (activation scores, experiment logging)
ckeletin:allow-custom-command - not a command: ask helpers (activation scores, experiment logging)
internal
baseline
Package baseline provides pre-curated golden-query regression metrics for VaultMind's retrievers.
Package baseline provides pre-curated golden-query regression metrics for VaultMind's retrievers.
cmdutil
Package cmdutil provides shared helpers for CLI command implementations.
Package cmdutil provides shared helpers for CLI command implementations.
commandcatalog
Package commandcatalog turns an assembled cobra command tree into a structured, group-ordered catalog and renders it for two surfaces: a terminal cheat-sheet (used by `vaultmind help`) and a markdown reference (used by `vaultmind docs commands` and embedded into onboarding).
Package commandcatalog turns an assembled cobra command tree into a structured, group-ordered catalog and renders it for two surfaces: a terminal cheat-sheet (used by `vaultmind help`) and a markdown reference (used by `vaultmind docs commands` and embedded into onboarding).
dev
discovery
Package discovery locates VaultMind vaults under a root directory so multi-vault commands (e.g.
Package discovery locates VaultMind vaults under a root directory so multi-vault commands (e.g.
distill
Package distill reads rendered episode markdown (the durable episodic substrate captured by internal/episode) and surfaces candidate transformation moments for arc distillation — plasticity step 2.
Package distill reads rendered episode markdown (the durable episodic substrate captured by internal/episode) and surfaces candidate transformation moments for arc distillation — plasticity step 2.
embedding
Package embedding provides text embedding infrastructure for VaultMind.
Package embedding provides text embedding infrastructure for VaultMind.
envelope
Package envelope provides the standard JSON response wrapper for all --json output.
Package envelope provides the standard JSON response wrapper for all --json output.
episode
Package episode parses a Claude Code session transcript (JSONL) into a structured Episode and renders it as a markdown "episode" file for the identity vault.
Package episode parses a Claude Code session transcript (JSONL) into a structured Episode and renders it as a markdown "episode" file for the identity vault.
experiment
Package experiment provides the SQLite-backed database for VaultMind experiment data.
Package experiment provides the SQLite-backed database for VaultMind experiment data.
fix
Package fix implements the `vaultmind frontmatter fix` command's logic — walking the vault and identifying domain notes that are missing the `created` field, then optionally writing it via the existing mutator.
Package fix implements the `vaultmind frontmatter fix` command's logic — walking the vault and identifying domain notes that are missing the `created` field, then optionally writing it via the existing mutator.
gap
Package gap records a question the vault did not answer.
Package gap records a question the vault did not answer.
git
graph
Package graph provides entity resolution and graph traversal over the SQLite index.
Package graph provides entity resolution and graph traversal over the SQLite index.
hooks
Package hooks — legacy hooks.json detection.
Package hooks — legacy hooks.json detection.
hooks/autorag
Package autorag defines the auto-RAG drift catalog schema — the JSON shape consumers use to declare their project-specific drift signatures for `auto-rag-guard.sh`.
Package autorag defines the auto-RAG drift catalog schema — the JSON shape consumers use to declare their project-specific drift signatures for `auto-rag-guard.sh`.
hookscripts
Package hookscripts is the single source of truth for VaultMind's Claude Code hook scripts.
Package hookscripts is the single source of truth for VaultMind's Claude Code hook scripts.
identity
Package identity implements the Contract-B trust-root signing core: RFC 8785 (JCS) canonicalization, ed25519 signing/verification over the canonical bytes, and the Contract-B schema-validation gate.
Package identity implements the Contract-B trust-root signing core: RFC 8785 (JCS) canonicalization, ed25519 signing/verification over the canonical bytes, and the Contract-B schema-validation gate.
identity/anchor
Package anchor is the SSOT for the persisted Contract-B trust anchor: the out-of-band-confirmed {network_id, root_pubkey} pair that `identity enroll` pins on first enrollment and that a later `doctor` slice authenticates registry verification against.
Package anchor is the SSOT for the persisted Contract-B trust anchor: the out-of-band-confirmed {network_id, root_pubkey} pair that `identity enroll` pins on first enrollment and that a later `doctor` slice authenticates registry verification against.
identity/doctorclient
Package doctorclient is a LOOPBACK-PINNED, read-only HTTP client for probing the LOCAL Contract-B chat daemon's well-known/whoami endpoints from `vaultmind doctor`.
Package doctorclient is a LOOPBACK-PINNED, read-only HTTP client for probing the LOCAL Contract-B chat daemon's well-known/whoami endpoints from `vaultmind doctor`.
identity/enrollment
Package enrollment implements the Contract-B AGENT ENROLLMENT REQUEST: an agent SELF-SIGNS a request so an admin can VERIFY proof-of-possession of the agent's identity key and then decide, out-of-band, whether to add a binding for that (slug, pubkey, key_epoch) to the trust-root registry.
Package enrollment implements the Contract-B AGENT ENROLLMENT REQUEST: an agent SELF-SIGNS a request so an admin can VERIFY proof-of-possession of the agent's identity key and then decide, out-of-band, whether to add a binding for that (slug, pubkey, key_epoch) to the trust-root registry.
identity/envelope
Package envelope implements Contract-B SLICE 5: signing and verifying a chat MESSAGE envelope.
Package envelope implements Contract-B SLICE 5: signing and verifying a chat MESSAGE envelope.
identity/invite
Package invite implements the Contract-B agent-network INVITE token: a self-contained, UNSIGNED transport an admin emits so a future `identity enroll` can bootstrap trust in a network's root anchor.
Package invite implements the Contract-B agent-network INVITE token: a self-contained, UNSIGNED transport an admin emits so a future `identity enroll` can bootstrap trust in a network's root anchor.
identity/registry
Package registry implements Contract-B SLICE 3: the trust-root REGISTRY itself — a root-signed, epoched, freshness-bounded slug→pubkey binding set plus the consumer resolve/verify surface.
Package registry implements Contract-B SLICE 3: the trust-root REGISTRY itself — a root-signed, epoched, freshness-bounded slug→pubkey binding set plus the consumer resolve/verify surface.
identity/registryfetch
Package registryfetch decides whether a registry fetched from the hub may replace this machine's local copy.
Package registryfetch decides whether a registry fetched from the hub may replace this machine's local copy.
identity/relayclient
Package relayclient fetches a Contract-B relay's PUBLIC trust anchor from its /.well-known/vaultmind-root endpoint.
Package relayclient fetches a Contract-B relay's PUBLIC trust anchor from its /.well-known/vaultmind-root endpoint.
identity/signer
Package signer implements the Contract-B DEV-INTERIM custody signer.
Package signer implements the Contract-B DEV-INTERIM custody signer.
identity/signerservice
Package signerservice supervises the custody signer under launchd.
Package signerservice supervises the custody signer under launchd.
identitycli
Package identitycli holds the business logic behind the `vaultmind identity` commands (init, sign), keeping the cmd/ layer ultra-thin (ADR-001).
Package identitycli holds the business logic behind the `vaultmind identity` commands (init, sign), keeping the cmd/ layer ultra-thin (ADR-001).
importdocs
Package importdocs copies a folder of markdown docs, or one web page, into a vault as notes, and keeps the copies in step on every re-run.
Package importdocs copies a folder of markdown docs, or one web page, into a vault as notes, and keeps the copies in step on every re-run.
index
Package index provides the SQLite-backed derived index for VaultMind.
Package index provides the SQLite-backed derived index for VaultMind.
initvault
Package initvault scaffolds a fresh VaultMind vault from embedded templates.
Package initvault scaffolds a fresh VaultMind vault from embedded templates.
mcpserver
Package mcpserver serves vaults to MCP clients, such as Claude Desktop and other agents without a shell.
Package mcpserver serves vaults to MCP clients, such as Claude Desktop and other agents without a shell.
memguard
Package memguard bounds a process's memory: it reads the process's peak resident size and reports when it passes a limit, so a runaway stops small and loud instead of taking the machine (0.10.13's re-embed passed 100 GB).
Package memguard bounds a process's memory: it reads the process's peak resident size and reports when it passes a limit, so a runaway stops small and loud instead of taking the machine (0.10.13's re-embed passed 100 GB).
meshpaths
Package meshpaths is the SSOT for the mesh wake-watcher's on-disk state: which directory it lives in, and what each per-agent file is called.
Package meshpaths is the SSOT for the mesh wake-watcher's on-disk state: which directory it lives in, and what each per-agent file is called.
mutation
Package mutation provides utilities for reading and writing YAML frontmatter in Markdown note files while preserving key order, scalar styles, and line ending conventions.
Package mutation provides utilities for reading and writing YAML frontmatter in Markdown note files while preserving key order, scalar styles, and line ending conventions.
navigate
Package navigate builds the map of a vault: what it holds, by folder, one line per note.
Package navigate builds the map of a vault: what it holds, by folder, one line per note.
noisefloor
Package noisefloor turns a raw top-hit cosine similarity into an honest relevance signal, relative to the vault's noise floor N — the cosine an off-topic ("garbage") query gets to any note in the vault.
Package noisefloor turns a raw top-hit cosine similarity into an honest relevance signal, relative to the vault's noise floor N — the cosine an off-topic ("garbage") query gets to any note in the vault.
onboard
Package onboard provides the embedded agent-onboarding script as a CLI-accessible asset.
Package onboard provides the embedded agent-onboarding script as a CLI-accessible asset.
parser
Package parser extracts frontmatter, links, headings, and blocks from Markdown files.
Package parser extracts frontmatter, links, headings, and blocks from Markdown files.
pathglob
Package pathglob is the glob language of `paths:` in note frontmatter: slash-separated segments matched as in path.Match, `**` for any number of segments, and a trailing `/` covering everything beneath.
Package pathglob is the glob language of `paths:` in note frontmatter: slash-separated segments matched as in path.Match, `**` for any number of segments, and a trailing `/` covering everything beneath.
progress
Package progress provides a flexible progress reporting system with handler-based architecture for composable output handling (logging, console, Bubble Tea UI).
Package progress provides a flexible progress reporting system with handler-based architecture for composable output handling (logging, console, Bubble Tea UI).
projectdefaults
Package projectdefaults is the project's default overlay for framework options.
Package projectdefaults is the project's default overlay for framework options.
propose
Package propose turns a finding into a reviewable draft, and accepts that draft.
Package propose turns a finding into a reviewable draft, and accepts that draft.
query
Package query provides read-only vault diagnostics and search operations.
Package query provides read-only vault diagnostics and search operations.
release
Package release answers one question: is there a newer VaultMind than the one running?
Package release answers one question: is there a newer VaultMind than the one running?
retrieval
Package retrieval defines the retrieval contract shared by every search backend (FTS, dense/sparse/ColBERT embedding, hybrid fusion) and by consumers that evaluate or compose them (baseline runner, ask/search commands).
Package retrieval defines the retrieval contract shared by every search backend (FTS, dense/sparse/ColBERT embedding, hybrid fusion) and by consumers that evaluate or compose them (baseline runner, ask/search commands).
schema
Package schema provides the type registry and frontmatter validation.
Package schema provides the type registry and frontmatter validation.
serve
Package serve keeps one vaultmind process warm and answers the CLI's commands from it.
Package serve keeps one vaultmind process warm and answers the CLI's commands from it.
shellparse
Package shellparse provides shell-quoting-aware preprocessing for hooks that pattern-match Bash command strings.
Package shellparse provides shell-quoting-aware preprocessing for hooks that pattern-match Bash command strings.
template
Package template provides template processing and ID generation for notes.
Package template provides template processing and ID generation for notes.
testgit
Package testgit runs test Git commands without the caller's GIT_* variables.
Package testgit runs test Git commands without the caller's GIT_* variables.
testvault
Package testvault provides shared, per-process test fixtures built from the committed fixture vault.
Package testvault provides shared, per-process test fixtures built from the committed fixture vault.
ui
vault
Package vault provides vault scanning and configuration loading.
Package vault provides vault scanning and configuration loading.
xdg
Package xdg provides XDG Base Directory Specification compliant paths.
Package xdg provides XDG Base Directory Specification compliant paths.
test

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL