Клон jq на Rust, ориентированный на корректность, скорость и простоту; доступен как совместимый с jq CLI и как библиотека.
harehare/mq
Инструмент командной строки и язык запросов в духе jq для выборки, фильтрации и преобразования файлов Markdown.
- Звёзды
- 1,065
- Форки
- 24
- Открытые issues
- 11
- Последний коммит
- 3 часа назад
Что это?
mq позволяет запрашивать и преобразовывать Markdown так же, как jq работает с JSON. Короткими выражениями можно выбирать части документа — например, заголовки, блоки кода, ссылки, таблицы и разделы, — а затем фильтровать, преобразовывать или переписывать их из командной строки. Проект написан на Rust и включает REPL, language server для редакторов и отладчик.
Помимо Markdown, mq умеет читать данные в нескольких других форматах, включая HTML, CSV, JSON, YAML, TOML и XML, и преобразовывать их в таблицы Markdown или другие форматы. Запросы можно повторно использовать как модули, а CLI можно расширять внешними подкомандами с именами mq-*. Параметры sandbox задают, могут ли запросы читать и записывать файлы, отправлять сетевые запросы или запускать команды.
Проект предоставляет биндинги для Node.js, WebAssembly, C и нескольких других языков, а также расширения для VS Code, Neovim, Zed и IDE JetBrains.
Ключевые возможности
- 01Выбирает заголовки, блоки кода, ссылки, таблицы и разделы с помощью выражений в стиле jq.
- 02Фильтрует и преобразует содержимое Markdown с помощью встроенных функций и селекторов.
- 03Читает HTML, CSV, JSON, YAML, TOML и XML и выводит данные в разных форматах.
- 04Включает интерактивный REPL, language server и экспериментальный отладчик.
- 05Выполняет запросы с разрешениями sandbox, которые можно включить для доступа к файлам, сети и командам.
Сценарии использования
- Извлечение нужных разделов или фрагментов кода из больших коллекций документации.
- Подготовка или очистка Markdown-промптов и результатов для рабочих процессов с LLM.
- Пакетное применение одних и тех же изменений ко множеству Markdown-файлов в репозитории.
- Преобразование CSV и других файлов с данными в таблицы Markdown из скрипта или задания CI.
Быстрый старт
- 1
Установите через Homebrew (macOS/Linux)
brew install mq - 2
Выполните запрос к файлу Markdown, чтобы извлечь блоки кода
mq '.code' README.md
Что важно знать
- Проект активно разрабатывается и может измениться.
В подборках
Темы
Частые вопросы
- Что такое mq?
- Инструмент командной строки и язык запросов в духе jq для выборки, фильтрации и преобразования файлов Markdown. mq позволяет запрашивать и преобразовывать Markdown так же, как jq работает с JSON. Короткими выражениями можно выбирать части документа — например, заголовки, блоки кода, ссылки, таблицы и разделы, — а затем фильтровать, преобразовывать или переписывать их из командной строки. Проект написан на Rust и включает REPL, language server для редакторов и отладчик.
- mq можно использовать бесплатно? Какая у него лицензия?
- mq распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- mq всё ещё поддерживается?
- Активно поддерживается. Последний коммит в mq — 22 окт. 2026 г..
- Для чего можно использовать mq?
- Извлечение нужных разделов или фрагментов кода из больших коллекций документации. Подготовка или очистка Markdown-промптов и результатов для рабочих процессов с LLM. Пакетное применение одних и тех же изменений ко множеству Markdown-файлов в репозитории. Преобразование CSV и других файлов с данными в таблицы Markdown из скрипта или задания CI.
- Как установить mq?
- Установите через Homebrew (macOS/Linux): brew install mq Выполните запрос к файлу Markdown, чтобы извлечь блоки кода: mq '.code' README.md
- Где скачать mq?
- Исходный код и инструкции по установке — на GitHub: https://github.com/harehare/mq
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Граф знаний на Markdown с LSP для редактора, CLI и MCP-сервером, чтобы ИИ-агенты могли читать те же заметки и редактировать их.
Библиотека Python для определения кодировки байтовых данных, языка и MIME-типа; включает CLI chardetect.
Порт компилятора и языкового сервера TypeScript 7 на Rust — готовая замена для проверки типов и генерации кода.
Экспериментальный порт компилятора TypeScript 7 на Rust (tsc) с теми же CLI, language server и API, а также встроенной диагностикой Effect.
Пакет Python и CLI для обхода сайтов и извлечения основного текста, метаданных и комментариев из исходного HTML.