jq-like command-line tool for markdown processing

What is mq?

mq is a command-line tool that processes Markdown using a syntax similar to jq. It's written in Rust, allowing you to easily slice, filter, map, and transform structured data.

🤔 Why mq?

mq makes working with Markdown files as easy as jq makes working with JSON. Since LLM inputs are primarily in Markdown format, mq provides efficient tools for generating and processing the structured Markdown content that LLMs require. It's especially useful for:

🤖

LLM Workflows

Efficiently manipulate and process Markdown used in LLM prompts and outputs

LLM Input Generation

Generate structured Markdown content optimized for LLM consumption, since Markdown serves as the primary input format for most language models

📚

Documentation Management

Extract, transform, and organize content across multiple documentation files

🔍

Content Analysis

Quickly extract specific sections or patterns from Markdown documents

⚙️

Batch Processing

Apply consistent transformations across multiple Markdown files

✨ Features

🔍

Slice and Filter

Extract specific parts of your Markdown documents with ease

🔄

Map and Transform

Apply transformations to your Markdown content

💻

Command-line Interface

Simple and intuitive CLI for quick operations

🔌

Extensibility

Easily extendable with custom functions

🛠️

Built-in Support

Filter and transform content with many built-in functions and selectors

🎯

REPL Support

Interactive command-line REPL for testing and experimenting

🎨

IDE Support

VSCode Extension and Language Server Protocol (LSP) support

📝 Examples