# qmd Configuration
Local-first semantic search engine for markdown files by Tobi Lütke. Combines BM25 keyword search, vector embeddings, and LLM reranking — all running on-device via GGUF models with Metal GPU acceleration. No API keys, no cloud, always available.
> [!info] Why qmd over obsidian-cli?
> `obsidian-cli` requires Obsidian to be running. qmd works from any terminal, any Claude Code session, any time. It also covers project markdown (READMEs, ADRs, docs) that Obsidian doesn't index.
## Installation
```bash
brew install tobil/tap/qmd
```
**Binary:** `/opt/homebrew/bin/qmd`
## Collections
11 collections configured covering four vaults and seven project repositories:
| Collection | Path | Contents |
|---|---|---|
| `personal` | `~/Vaults/personal/` | Journals, decisions, notes, projects, ideas (PARA) |
| `work` | `~/Vaults/work/` | Meetings, projects, devlog, team docs |
| `blog` | `~/Vaults/blog/content/` | Blog posts and drafts (Hugo) |
| `public-content` | `~/Vaults/public-content/` | Talks, presentations, public writing |
| `claude-marketplace` | `~/Workspace/Projects/Personal/claude-marketplace/` | Plugin skills, commands, agents |
| `dotfiles` | `~/Workspace/Projects/Personal/dotfiles/` | Shell config, Claude rules, hooks |
| `dd-trace-go` | `~/dd/dd-trace-go/` | Datadog APM Go tracer docs |
| `orchestrion` | `~/dd/orchestrion/` | Orchestrion compile-time instrumentation docs |
| `otel-go` | `~/…/opentelemetry-go/` | OpenTelemetry Go SDK docs |
| `otel-compile` | `~/…/otel-go-compile-instrumentation/` | OTel compile-time instrumentation docs |
| `otel-contrib` | `~/…/opentelemetry-go-contrib/` | OTel Go contrib docs |
### Adding a collection
```bash
qmd collection add ~/path/to/dir --name name
qmd context add qmd://name/ "What this collection contains"
qmd embed # generate embeddings (run once; slow)
```
## Query Syntax
### Default: implicit expand (recommended)
```bash
qmd query "how does compile-time instrumentation work" -c orchestrion -n 5
```
Runs expand → hybrid BM25+vector → LLM reranking. Best results for natural language questions.
### Typed query document (precision)
Multi-line queries combine search strategies:
```bash
# BM25 + vector combined
qmd query