Um clone do jq em Rust, focado em correção, velocidade e simplicidade, disponível como CLI compatível com jq ou como biblioteca.
harehare/mq
Ferramenta de linha de comando e linguagem de consulta como jq para selecionar, filtrar e transformar arquivos Markdown.
- Estrelas
- 1,065
- Forks
- 24
- Issues abertas
- 11
- Último commit
- há 3 horas
O que é?
mq permite consultar e transformar Markdown como o jq faz com JSON. Com expressões curtas, você seleciona partes de um documento — como títulos, blocos de código, links, tabelas e seções — e depois filtra, mapeia ou reescreve esse conteúdo pela linha de comando. Escrito em Rust, o projeto inclui um REPL, um language server para editores e um depurador.
Além de Markdown, mq lê vários outros formatos de entrada, incluindo HTML, CSV, JSON, YAML, TOML e XML, e os converte em tabelas Markdown ou outras saídas. As consultas podem ser reutilizadas como módulos, e subcomandos externos chamados mq-* podem ser adicionados à CLI. Flags de sandbox controlam se as consultas podem ler ou gravar arquivos, fazer requisições de rede ou executar comandos.
O projeto oferece bindings para Node.js, WebAssembly, C e várias outras linguagens, além de extensões para VS Code, Neovim, Zed e IDEs JetBrains.
Recursos principais
- 01Seleciona títulos, blocos de código, links, tabelas e seções com expressões no estilo jq.
- 02Filtra e mapeia conteúdo Markdown usando funções e seletores integrados.
- 03Lê HTML, CSV, JSON, YAML, TOML e XML como entrada e gera vários formatos.
- 04Inclui um REPL interativo, um language server e um depurador experimental.
- 05Executa consultas com permissões de sandbox opcionais para acesso a arquivos, rede e comandos.
Casos de uso
- Extrair seções específicas ou trechos de código de grandes conjuntos de documentação.
- Preparar ou limpar prompts e saídas em Markdown para fluxos de trabalho com LLMs.
- Aplicar em lote a mesma edição a vários arquivos Markdown de um repositório.
- Converter arquivos CSV ou outros arquivos de dados em tabelas Markdown usando um script ou uma tarefa de CI.
Início rápido
- 1
Instale pelo Homebrew (macOS/Linux)
brew install mq - 2
Execute uma consulta em um arquivo Markdown para extrair blocos de código
mq '.code' README.md
Antes de usar
- O projeto está em desenvolvimento ativo e pode mudar.
Tópicos
Perguntas frequentes
- O que é mq?
- Ferramenta de linha de comando e linguagem de consulta como jq para selecionar, filtrar e transformar arquivos Markdown. mq permite consultar e transformar Markdown como o jq faz com JSON. Com expressões curtas, você seleciona partes de um documento — como títulos, blocos de código, links, tabelas e seções — e depois filtra, mapeia ou reescreve esse conteúdo pela linha de comando. Escrito em Rust, o projeto inclui um REPL, um language server para editores e um depurador.
- mq é gratuito? Qual é a licença?
- mq é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- mq ainda é mantido?
- Manutenção ativa. O último commit de mq foi em 22 de out. de 2026.
- Para que posso usar mq?
- Extrair seções específicas ou trechos de código de grandes conjuntos de documentação. Preparar ou limpar prompts e saídas em Markdown para fluxos de trabalho com LLMs. Aplicar em lote a mesma edição a vários arquivos Markdown de um repositório. Converter arquivos CSV ou outros arquivos de dados em tabelas Markdown usando um script ou uma tarefa de CI.
- Como instalar mq?
- Instale pelo Homebrew (macOS/Linux): brew install mq Execute uma consulta em um arquivo Markdown para extrair blocos de código: mq '.code' README.md
- Onde consigo mq?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/harehare/mq
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Grafo de conhecimento em Markdown com LSP para seu editor e CLI e servidor MCP para que agentes de IA leiam e escrevam nas mesmas notas.
Biblioteca Python que detecta a codificação de dados em bytes, identifica o idioma e o tipo MIME e inclui a CLI chardetect.
Uma port experimental em Rust do compilador TypeScript 7 (tsc), com a mesma CLI, o mesmo servidor de linguagem e a mesma API, além de diagnósticos integrados do Effect.
Uma implementação em Rust do compilador e do servidor de linguagem do TypeScript 7, que substitui diretamente as ferramentas de verificação de tipos e geração de saída.
Pacote Python e CLI para rastrear sites e extrair o texto principal, metadados e comentários de HTML bruto.