Un clon de jq en Rust que prioriza la corrección, la velocidad y la simplicidad, disponible como CLI compatible con jq o como biblioteca.
harehare/mq
Herramienta de línea de comandos y lenguaje de consultas, al estilo de jq, para seleccionar, filtrar y transformar archivos Markdown.
- Estrellas
- 1,065
- Forks
- 24
- Issues abiertos
- 11
- Último commit
- hace 3 horas
¿Qué es?
mq permite consultar y transformar Markdown de forma similar a como jq trabaja con JSON. Puedes seleccionar partes de un documento, como encabezados, bloques de código, enlaces, tablas y secciones, mediante expresiones breves, y luego filtrarlas, mapearlas o reescribirlas desde la línea de comandos. Está escrito en Rust e incluye un REPL, un servidor de lenguaje para editores y un depurador.
Además de Markdown, mq puede leer varios formatos de entrada, como HTML, CSV, JSON, YAML, TOML y XML, y convertirlos en tablas Markdown u otros formatos de salida. Las consultas se pueden reutilizar como módulos, y es posible añadir subcomandos externos con nombres mq-* a la CLI. Las opciones de sandbox controlan si las consultas pueden leer o escribir archivos, hacer solicitudes de red o ejecutar comandos.
El proyecto ofrece bindings para Node.js, WebAssembly, C y varios otros lenguajes, además de extensiones para VS Code, Neovim, Zed y los IDE de JetBrains.
Funciones clave
- 01Selecciona encabezados, bloques de código, enlaces, tablas y secciones mediante expresiones al estilo de jq.
- 02Filtra y mapea contenido Markdown con funciones y selectores integrados.
- 03Lee HTML, CSV, JSON, YAML, TOML y XML como entrada, y genera resultados en varios formatos.
- 04Incluye un REPL interactivo, un servidor de lenguaje y un depurador experimental.
- 05Ejecuta consultas con permisos de sandbox opcionales para acceder a archivos, la red y comandos.
Casos de uso
- Extraer secciones o fragmentos de código específicos de grandes conjuntos de documentación.
- Preparar o limpiar prompts y resultados Markdown para flujos de trabajo con LLM.
- Aplicar por lotes la misma edición a muchos archivos Markdown de un repositorio.
- Convertir archivos CSV u otros archivos de datos en tablas Markdown desde un script o una tarea de CI.
Inicio rápido
- 1
Instala con Homebrew (macOS/Linux)
brew install mq - 2
Ejecuta una consulta en un archivo Markdown para extraer bloques de código
mq '.code' README.md
Antes de usarlo
- El proyecto está en desarrollo activo y puede cambiar.
Temas
Preguntas frecuentes
- ¿Qué es mq?
- Herramienta de línea de comandos y lenguaje de consultas, al estilo de jq, para seleccionar, filtrar y transformar archivos Markdown. mq permite consultar y transformar Markdown de forma similar a como jq trabaja con JSON. Puedes seleccionar partes de un documento, como encabezados, bloques de código, enlaces, tablas y secciones, mediante expresiones breves, y luego filtrarlas, mapearlas o reescribirlas desde la línea de comandos. Está escrito en Rust e incluye un REPL, un servidor de lenguaje para editores y un depurador.
- ¿mq es gratuito? ¿Qué licencia tiene?
- mq es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿mq sigue mantenido?
- Mantenimiento activo. El último commit de mq fue el 22 oct 2026.
- ¿Para qué puedo usar mq?
- Extraer secciones o fragmentos de código específicos de grandes conjuntos de documentación. Preparar o limpiar prompts y resultados Markdown para flujos de trabajo con LLM. Aplicar por lotes la misma edición a muchos archivos Markdown de un repositorio. Convertir archivos CSV u otros archivos de datos en tablas Markdown desde un script o una tarea de CI.
- ¿Cómo se instala mq?
- Instala con Homebrew (macOS/Linux): brew install mq Ejecuta una consulta en un archivo Markdown para extraer bloques de código: mq '.code' README.md
- ¿Dónde consigo mq?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/harehare/mq
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Grafo de conocimiento en Markdown con LSP para tu editor, CLI y servidor MCP para que los agentes de IA lean y escriban las mismas notas.
Biblioteca de Python que detecta la codificación de datos binarios, el idioma y el tipo MIME, e incluye una CLI llamada chardetect.
Un port experimental en Rust del compilador TypeScript 7 (tsc), con la misma CLI, el mismo servidor de lenguaje y la misma API, además de diagnósticos de Effect integrados.
Un port en Rust del compilador y el servidor de lenguaje de TypeScript 7, como reemplazo directo para la comprobación de tipos y la generación de código.
Paquete de Python y CLI para rastrear sitios web y extraer el texto principal, los metadatos y los comentarios del HTML sin procesar.