CLI

Read your documents from the terminal.

The fusedframes command finds and reads the documents FusedFrames makes from your recorded work. It is built for scripts and for AI coding agents like Claude Code and Cursor: every command prints JSON that other tools can parse. It is read-only. It cannot record anything and it cannot create, change or delete anything. Recording stays in the desktop app.

Install

Shell
npm install -g @fusedframes/cli

The npm package needs Node.js 20 or later. If you would rather not use Node, standalone binaries for macOS, Linux and Windows are on GitHub Releases with a SHA256SUMS file to check your download against.

Set your API key

The CLI needs an API key; see Authentication to create one and to understand what a key can see. Pipe the key in on standard input:

Shell
echo "ff_your_key" | fusedframes config set-key

Keys typed on the command line leak into your shell history, so the CLI only reads keys from stdin and refuses one passed as an argument. In an interactive terminal, fusedframes config set-key on its own prompts for the key with hidden input.

  • fusedframes config show prints your settings with the key masked.
  • The FUSEDFRAMES_API_KEY environment variable overrides the saved key.
  • fusedframes logout removes the saved key from your computer.

Commands

CommandWhat it does
config set-keySet the API key (reads from stdin)
config showShow the current settings
logoutRemove the saved API key from this computer
search <query>Search documents in all the libraries you can see
libraries listList all the document libraries you can see
libraries get <id>Get document library detail
libraries categories <id>List categories with document counts
libraries tags <id>List tags with document counts
libraries applications <id>List applications with document counts
documents list <libraryId>List documents in a library
documents get <id>Get the full document, with its edges included
documents source-recordings <id>Get the source recordings behind a document
graph <libraryId>Get the full document graph for a library
traverse <documentId>Follow the edges from a document

search and documents list filter with --category, --tag and --app; search also takes --library <id> to stay inside one library. search, documents list and documents source-recordings page their results with --page and --page-size (page 1 and 20 results per page by default).

Examples

Output is always compact JSON on one line, so pipe it to jq when you want to read it yourself. Search every library you can see, filtered to one application:

Shell
fusedframes search "failed deployment" --app Terminal | jq

A trimmed response:

JSON
{
  "documents": [
    {
      "id": "doc_01h...",
      "title": "Roll back a failed deployment",
      "category": "Deploys",
      "relevance": { "score": 0.91, "semanticSimilarity": 0.88 }
    }
  ],
  "total": 1,
  "matchedTotal": 1,
  "lowConfidence": false
}

Read the full document behind a hit, with its edges included:

Shell
fusedframes documents get doc_01h...

Follow the document's outgoing edges two steps to see what usually comes next:

Shell
fusedframes traverse doc_01h... --direction outgoing --label "often next" --depth 2

Errors print as JSON too, in the shape {"error":{"code":"...","message":"..."}}, and the exit code is 1 for any error. A typical agent run chains the read commands: search, then documents get, then traverse, then documents source-recordings for the real examples behind a document.