Quick taste - query your notes, pick the hits with fzf, bulk-tag them:
fmql query ./vault 'type = "task" AND status = "open" AND priority > 2' \
| fzf -m --preview 'head -40 {}' \
| fmql append tags=triaged
Or follow references across files and get back deps graph you can render: fmql subgraph ./notes 'status = "active"' --follow blocked_by --format cytoscape
Origins: I run my own projects on workspaces of markdowns with yaml frontmatter (project board, documentation, configurations, agents definitions, ...). The format is great until you want to ask cross-file questions: what's stale, what's blocked on what, rename a field across 100+ files. I used to create one-off python scripts, until last week i decided to build a reusable tool that does all of it.Beyond flat filters, there's a partial Cypher support for graph queries ("everything transitively blocking this sprint"), and you can swap in a semantic search backend via plugin when grep isn't enough. Core stays grep-only and dependency-light; semantic lives in a separate package.
A couple of things I'd be curious for feedback on:
- Linear scan is fine at a scale of few hundred documents, but if you have a larger vault and could try it, I'd love to hear when it breaks.
- What would you want to query your notes for that this doesn't handle? Genuinely interested in the use cases i haven't considered yet.
Repo: https://github.com/buyuk-dev/fmql Blog: https://www.buyuk.io/blog/fmql-launch/