{"adoption": {"forks": 1823, "observed_at": "2026-08-28T04:11:53.202985+00:00", "stars": 29259}, "canonical_url": "https://ross.abutalabs.com/products/qmd", "card": {"archived": false, "artifact_type": "cli-tool", "description": "mini cli search engine for your docs, knowledge bases, meeting notes, whatever. Tracking current sota approaches while being all local", "domain": ["developer-tools", "large-language-models"], "enriched": true, "function": ["search-engine", "rag", "llm-inference", "cli", "mcp"], "health_score": 99, "homepage": null, "language": "TypeScript", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["tobi/qmd"], "name": "tobi/qmd", "platform": ["cli", "bun", "cross-platform", "windows"], "pushed_at": "2026-08-18T14:26:31+00:00", "repo": "tobi/qmd", "stars": 29259, "tags": ["local-search", "bm25", "vector-search", "embeddings", "hybrid-search", "reranking", "hyde", "gguf", "on-device", "knowledge-base", "agentic-workflows", "markdown", "search", "retrieval-augmented-generation", "command-line", "nodejs", "macos", "linux"], "topics": [], "urls": [], "use_cases": ["search my local markdown notes from the terminal", "build a local search engine for my docs and meeting notes", "semantic search over my knowledge base without the cloud", "give my AI agent a tool to search my files", "hybrid keyword and vector search with reranking", "index meeting transcripts and query them in natural language"], "what_it_is": "QMD is a local, on-device CLI search engine that indexes markdown notes, docs, meeting transcripts, and knowledge bases. It combines BM25 full-text search, vector semantic search, and LLM re-ranking (via node-llama-cpp with GGUF models) with reciprocal rank fusion, and exposes an MCP server for AI agent workflows.", "when_to_avoid": ["you need to index large shared team wikis with multi-user access", "you want a hosted or web-based search service with a GUI", "you lack hardware for local GGUF model inference"], "when_to_choose": ["you want fully local, private search over personal docs and notes", "you need JSON/file-list output designed for agentic and MCP workflows", "you want SOTA hybrid retrieval (BM25 + vectors + HyDE + LLM reranking) on-device"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/qmd", "repo": "tobi/qmd", "role": "main", "score": 82}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:11:53.202985+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T16:53:04.270809+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "efb10e39440646c5b6b073b40f8aa7dd14394e03aeb0770ce014ea257a681a1e", "fetched_at": "2026-08-28T04:11:53.202985+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tobi/qmd"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:11:53.202985+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T16:53:04.270809+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "efb10e39440646c5b6b073b40f8aa7dd14394e03aeb0770ce014ea257a681a1e", "fetched_at": "2026-08-28T04:11:53.202985+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tobi/qmd"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T16:53:04.270809+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "efb10e39440646c5b6b073b40f8aa7dd14394e03aeb0770ce014ea257a681a1e", "fetched_at": "2026-08-28T04:11:53.202985+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tobi/qmd"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:11:53.202985+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:11:53.202985+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:11:53.202985+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T16:53:04.270809+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "efb10e39440646c5b6b073b40f8aa7dd14394e03aeb0770ce014ea257a681a1e", "fetched_at": "2026-08-28T04:11:53.202985+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tobi/qmd"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:11:53.202985+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:11:53.202985+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T16:53:04.270809+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "efb10e39440646c5b6b073b40f8aa7dd14394e03aeb0770ce014ea257a681a1e", "fetched_at": "2026-08-28T04:11:53.202985+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tobi/qmd"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:11:53.202985+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:11:53.202985+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:11:53.202985+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T16:53:04.270809+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "efb10e39440646c5b6b073b40f8aa7dd14394e03aeb0770ce014ea257a681a1e", "fetched_at": "2026-08-28T04:11:53.202985+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tobi/qmd"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:11:53.202985+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:11:53.202985+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T16:53:04.270809+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "efb10e39440646c5b6b073b40f8aa7dd14394e03aeb0770ce014ea257a681a1e", "fetched_at": "2026-08-28T04:11:53.202985+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tobi/qmd"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T16:53:04.270809+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "efb10e39440646c5b6b073b40f8aa7dd14394e03aeb0770ce014ea257a681a1e", "fetched_at": "2026-08-28T04:11:53.202985+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tobi/qmd"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T16:53:04.270809+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "efb10e39440646c5b6b073b40f8aa7dd14394e03aeb0770ce014ea257a681a1e", "fetched_at": "2026-08-28T04:11:53.202985+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tobi/qmd"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T16:53:04.270809+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "efb10e39440646c5b6b073b40f8aa7dd14394e03aeb0770ce014ea257a681a1e", "fetched_at": "2026-08-28T04:11:53.202985+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tobi/qmd"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 98, "longevity": 19, "rhythm": 98}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 268, "days_push": 15, "days_rel": 17, "gap_med": 2, "n_releases_24m": 14}, "score": 82, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}