---
title: "LLMind CLI — file enrichment from the command line | LLMind"
description: "Python CLI for enriching, signing, and verifying files. Batch-enrich directories, cache outputs, integrate into builds."
url: https://llmind.org/product/cli/
source_format: html
---
# LLMind CLI

Published 2026-04-22

LLMind's primary surface is a Python command-line tool. `llmind enrich` writes a signed semantic layer into any file's XMP packet. `llmind verify` checks the signature. `llmind inspect` shows what's embedded. The CLI is how dataset pipelines, build systems, and day-to-day developer workflows use LLMind.

## What it does

Enrich any JPEG, PNG, PDF, MP3, WAV, or M4A file with structured semantic metadata — extracted text, description, entities, structural summary, transcription — signed with HMAC-SHA256, stored in the file's XMP packet. Idempotent: running twice on the same file with the same model yields the same output. Portable: the enriched file carries its semantic layer wherever it goes.

## Install

Install with `pipx` from PyPI — sandboxed in its own virtualenv, no system Python pollution:

```
pipx install 'llmind-cli[all]'
llmind --version
```

See [/docs/install/](https://llmind.org/docs/install/) for additional installation options and platform-specific guidance.

## First commands

**Enrich a file:**

```
llmind enrich document.pdf
```

Processes `document.pdf`, extracts its structure and content, and writes a signed semantic layer into the file's XMP packet.

**Inspect what was written:**

```
llmind inspect document.pdf
```

Pretty-prints the semantic layer that's embedded in the file. Useful for verification and debugging.

**Verify signature integrity:**

```
llmind verify document.pdf
```

Checks that the signature on the semantic layer is valid and hasn't been tampered with.

**Batch-enrich a directory:**

```
llmind enrich --recursive ~/docs/
```

Recursively enriches all eligible files in a directory. Perfect for enriching an entire dataset or corpus once, then using it everywhere.

## Python SDK usage

The CLI wraps a Python module you can import directly for custom workflows:

```
from llmind import enrich, verify

enrich("document.pdf", sign=True)
result = verify("document.pdf")
```

Useful when you're building a custom pipeline and want to call LLMind from Python rather than shell out to the CLI. Lets you integrate enrichment into your build system, dataset curation scripts, or data processing workflows.

## Related

-   [Quickstart guide](https://llmind.org/docs/quickstart/)
-   [Full CLI reference](https://llmind.org/docs/cli/)
-   [LLMind vs. Exiftool](https://llmind.org/compare/vs-exiftool/)
-   [LLMind vs. Adobe XMP SDK](https://llmind.org/compare/vs-adobe-xmp-sdk/)
-   [Use cases](https://llmind.org/use-cases/) — See where the CLI fits into your workflow
-   [Learning resources](https://llmind.org/learn/) — Understand file enrichment concepts
-   [MCP server](https://llmind.org/mcp/) — Alternative surface for AI agents
-   [Specification](https://llmind.org/spec/) — The formal standard

[Star on GitHub](https://github.com/dmitryrollins/LLMind) · `pipx install 'llmind-cli[all]'`
