Skip to content

Instantly share code, notes, and snippets.

@possibilities
Created March 21, 2026 22:01
Show Gist options
  • Select an option

  • Save possibilities/77a764c78280c6152afded5ebc465ceb to your computer and use it in GitHub Desktop.

Select an option

Save possibilities/77a764c78280c6152afded5ebc465ceb to your computer and use it in GitHub Desktop.
knowctl QMD migration verification results

knowctl QMD Migration — Verification Results

1. list-topics (sample)

- **agent-browser** (48 docs): agent-browser is a Vercel Labs browser automation CLI that provides accessibility tree snapshots for AI agents to interact with web apps via ref-based selectors.
- **agentskills** (12 docs): Agent Skills is an open format for creating reusable skill packages (instructions, scripts, and resources) that agents can discover and apply across platforms. Maintained by Anthropic, it includes a spec, reference implementations, and example skills.
- **ai-elements** (63 docs, 88 examples): AI Elements is a Vercel React component library built on shadcn/ui providing pre-built, customizable UI components for AI-native applications including chat, code, voice, and workflow interfaces.
- **aisdk** (236 docs, 5 examples): The Vercel AI SDK is a TypeScript toolkit providing a unified API for LLMs with streaming, tool calling, and UI components for React, Vue, and Svelte.
- **appkit-panels** (1 docs, 9 examples): NSPanel patterns for building Raycast/Spotlight-style floating windows on macOS. Covers activation policy management (.prohibited to .accessory), panel configuration (canBecomeKey, nonactivatingPanel), dismiss-on-blur behavior, previous app restoration, window level transitions, and animation patterns for command palette interfaces.
- **apple-container** (13 docs, 1 examples): Apple Container is a Swift CLI for running OCI-compliant Linux containers as lightweight VMs on Apple Silicon with sub-second startup and VM-level isolation.
- **biome** (529 docs): Biome is a fast Rust-based formatter and linter for JavaScript, TypeScript, JSX, CSS, and GraphQL with 427+ lint rules and LSP support.
- **bunjs** (325 docs): Bun is an all-in-one JavaScript runtime, bundler, test runner, and package manager built on JavaScriptCore as a faster Node.js drop-in replacement.
- **chonkie** (65 docs): Chonkie is a lightweight Python library for text chunking in RAG pipelines with multiple strategies (token, sentence, semantic, code, neural) and C-accelerated performance.
- **chromadb** (40 docs, 18 examples): ChromaDB is an open-source vector database for AI applications with embedding storage, vector search, and integrations for LangChain and LlamaIndex.

2. semantic-search (default expand type)

search:
  query: how to create hooks
  topic: claude-code
  results:
  - id: content/documents/code-claude-com-docs-en-hooks.md
    snippet: |-
      @@ -25,4 @@ (24 before, 10 after)
        <Frame>
          <img src="https://mintcdn.com/claude-code/2YzYcIR7V1VggfgF/images/hooks-lifecycle.svg?fit=max&auto=format&n=2YzYcIR7V1VggfgF&q=85&s=3004e6c5dc95c4fe7fa3eb40fdc4176c" alt="Hook lifecycle diagram showing the sequence of hooks from SessionStart through the agentic loop (PreToolUse, Per...
    score: 0.93
    topic: claude-code
    display_path: content/documents/code-claude-com-docs-en-hooks.md
    title: Hooks reference
  - id: content/documents/code-claude-com-docs-en-sub-agents.md
    snippet: |
      @@ -57,4 @@ (56 before, 14 after)
      hould explain
          each issue, show the current code, and provide an improved version.
          ```
    score: 0.5
    topic: claude-code
    display_path: content/documents/code-claude-com-docs-en-sub-agents.md
    title: Create custom subagents
  - id: content/documents/code-claude-com-docs-en-hooks-guide.md
    snippet: |
      @@ -20,4 @@ (19 before, 42 after)
      <Tip>
        This guide covers common use cases and how to get started. For full event schemas, JSON input/output formats, and advanced features like async hooks and MCP tool hooks, see the [Hooks reference](/en/hooks).
      </Tip>
    score: 0.43
    topic: claude-code
    display_path: content/documents/code-claude-com-docs-en-hooks-guide.md
    title: Automate workflows with hooks
  - id: content/documents/code-claude-com-docs-en-plugins.md
    snippet: |-
      @@ -55,4 @@ (54 before, 29 after)
        <Step title="Add a skill">
          Skills live in the `skills/` directory. Each skill is a folder containing a `SKILL.md` file. The folder name becomes the skill name, prefixed with the plugin's namespace (`hello/` in a plugin named `my-first-plugin` creates `/my-first-plugin:hello`).

          Create a...
    score: 0.35
    topic: claude-code
    display_path: content/documents/code-claude-com-docs-en-plugins.md
    title: Create plugins
  - id: content/documents/code-claude-com-docs-en-agent-teams.md
    snippet: |-
      @@ -30,4 @@ (29 before, 37 after)

      Use [hooks](/en/hooks) to enforce rules when teammates finish work or tasks complete:

      * [`TeammateIdle`](/en/hooks#teammateidle): runs when a teammate is about to go idle. Exit with code 2 to send feedback and keep the teammate working.
    score: 0.34
    topic: claude-code
    display_path: content/documents/code-claude-com-docs-en-agent-teams.md
    title: Orchestrate teams of Claude Code sessions

3. semantic-search with --type lex

search:
  query: group
  topic: click
  results:
  - id: content/documents/github-com-pallets-click/docs/commands-and-groups.md
    snippet: |-
      @@ -1,4 @@ (0 before, 105 after)
      ---
      url: https://github.com/pallets/click/tree/main/docs/commands-and-groups.md
      md5: 9b6b79449ffd1b003e3c459ae8764ef1
      ---
    score: 0.9
    topic: click
    display_path: content/documents/github-com-pallets-click/docs/commands-and-groups.md
    title: Basic Commands, Groups, Context
  - id: content/documents/github-com-pallets-click/docs/extending-click.md
    snippet: |-
      @@ -18,4 @@ (17 before, 100 after)

      (custom-groups)=

      ## Custom Groups
    score: 0.53
    topic: click
    display_path: content/documents/github-com-pallets-click/docs/extending-click.md
    title: Extending Click
  - id: content/documents/github-com-pallets-click/docs/commands.md
    snippet: |-
      @@ -5,4 @@ (4 before, 78 after)

      # Advanced Groups and Context

      ::: currentmodule
    score: 0.38
    topic: click
    display_path: content/documents/github-com-pallets-click/docs/commands.md
    title: Advanced Groups and Context

4. Cross-topic search

search:
  query: linting rules
  topic: ruff
  results:
  - id: content/documents/github-com-biomejs-website/src/content/docs/linter/index.md
    snippet: |-
      @@ -13,4 @@ (12 before, 82 after)

      Like rules and groups, you can also turn the rules that belong to a domains with the `"off"` value:

      ```json title="biome.json" ins={4} mark="off"
    score: 0.93
    topic: biome
    display_path: content/documents/github-com-biomejs-website/src/content/docs/linter/index.md
    title: Rules
  - id: content/documents/github-com-biomejs-website/src/content/docs/linter/rules-sources.md
    snippet: |-
      @@ -1,4 @@ (0 before, 54 after)
      ---
      title: Rules sources
      description: A page that maps lint rules from other sources to Biome
      url: https://github.com/biomejs/website/tree/main/src/content/docs/linter/rules-sources.md
    score: 0.56
    topic: biome
    display_path: content/documents/github-com-biomejs-website/src/content/docs/linter/rules-sources.md
    title: Biome exclusive rules
  - id: content/documents/github-com-biomejs-website/src/content/docs/internals/changelog-v1.md
    snippet: |-
      @@ -1,3 @@ (0 before, 47 after)
      spicious/noConsole](https://biomejs.dev/linter/rules/no-console/)
      - [suspicious/noEvolvingTypes](https://biomejs.dev/linter/rules/no-evolving-types/)
      - [suspicious/noMisplacedAssertion](https://biomejs.dev/linter/rules/no-misplaced-assertion/)
    score: 0.47
    topic: biome
    display_path: content/documents/github-com-biomejs-website/src/content/docs/internals/changelog-v1.md
    title: Biome changelog

5. list-documents

topic: click
total: 35
offset: 0
limit: 5
documents:
- id: click-001
  name: docs/advanced.md
- id: click-002
  name: docs/api.md
- id: click-003
  name: docs/arguments.md
- id: click-004
  name: docs/changes.md
- id: click-005
  name: docs/click-concepts.md

6. show-content (ordinal ID)

---
url: https://github.com/pallets/click/tree/main/docs/advanced.md
md5: d69a678112ce95579064d17965e18289
---

# Advanced Patterns

```{currentmodule} click

In addition to common functionality, Click offers some advanced features.

:depth: 1
:local: true

7. query subcommand (structured multi-type)

query: |-
  lex: group
  vec: CLI command structure
topics:
- click
results:
- docid: '#2d6c07'
  path: qmd://content-topics:click/content/documents/github-com-pallets-click/docs/design-opinions.md
  collection: content-topics:click
  title: CLI Design Opinions
  snippet: |-
    @@ -21,4 @@ (20 before, 1 after)
    - A command should be doing one thing, and the arguments should be related directly to that.
        - A group, where the argument is the sub-command name.
        - A command acts on some files.
        - A command looks at a source and acts on a destination.
  score: 0.89
  display_path: content/documents/github-com-pallets-click/docs/design-opinions.md
- docid: '#9e9280'
  path: qmd://content-topics:click/content/documents/github-com-pallets-click/docs/commands-and-groups.md
  collection: content-topics:click
  title: Basic Commands, Groups, Context
  snippet: |-
    @@ -1,4 @@ (0 before, 105 after)
    ---
    url: https://github.com/pallets/click/tree/main/docs/commands-and-groups.md
    md5: 9b6b79449ffd1b003e3c459ae8764ef1
    ---
  score: 0.52
  display_path: content/documents/github-com-pallets-click/docs/commands-and-groups.md
- docid: '#4dc584'
  path: qmd://content-topics:click/content/documents/github-com-pallets-click/docs/extending-click.md
  collection: content-topics:click
  title: Extending Click
  snippet: |-
    @@ -18,4 @@ (17 before, 100 after)

    (custom-groups)=

    ## Custom Groups
  score: 0.4
  display_path: content/documents/github-com-pallets-click/docs/extending-click.md

8. --no-rerank (fast mode)

search:
  query: query expansion
  topic: qmd
  results:
  - id: content/documents/github-com-tobi-qmd/changelog.md
    snippet: |-
      @@ -40,4 @@ (39 before, 34 after)
        management, indexing, lifecycle
      - Unified `search()`: pass `query` for auto-expansion or `queries` for
        pre-expanded lex/vec/hyde — replaces the old query/search/structuredSearch split
      - New `getDocumentBody()`, `getDefaultCollectionNames()`, `Maintenance` class
    score: 0.91
    topic: qmd
    display_path: content/documents/github-com-tobi-qmd/changelog.md
    title: Changelog
  - id: content/documents/github-com-tobi-qmd/readme.md
    snippet: |-
      @@ -37,4 @@ (36 before, 91 after)

      // Pre-expanded queries — skip auto-expansion, control each sub-query
      const results3 = await store.search({
        queries: [
    score: 0.55
    topic: qmd
    display_path: content/documents/github-com-tobi-qmd/readme.md
    title: QMD - Query Markup Documents
  - id: content/documents/github-com-tobi-qmd/finetune/scoring.md
    snippet: |-
      @@ -5,4 @@ (4 before, 74 after)

      # QMD Query Expansion Scoring

      ## Goal
    score: 0.43
    topic: qmd
    display_path: content/documents/github-com-tobi-qmd/finetune/scoring.md
    title: QMD Query Expansion Scoring

Migration Stats

  • 1,488 lines deleted, 244 lines added
  • Removed: ChromaDB, Chonkie, Haystack, SentenceTransformers, summaryctl
  • Added: qmdctl.api integration, ordinals.py, qmd_client.py, run_query.py
  • New capabilities: 4 search types (lex/vec/hyde/expand), intent, explain, no-rerank, min-score
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment