3 hours ago

Translate natural language to jq filters, 100% offline. Trained on execution-verified data; also understands Brazilian Portuguese.

ollama run D0minuZ/jq-coder

Models

View all →

1 model

jq-coder:latest

639MB · 32K context window · Text · 3 hours ago

Readme

Type what you want in plain English, get an executable jq filter — without your JSON ever leaving your machine. Built for the JSON you can’t send to a cloud API: production payloads, logs with PII, anything under NDA. Also understands Brazilian Portuguese.

Usage

The system prompt and temperature come preconfigured — just type your request followed by a small JSON sample (the model reads field names and shapes from it):

ollama run D0minuZ/jq-coder
>>> get the id of every order
... JSON sample: {"orders":[{"id":1,"status":"done"}]}
.orders[] | .id

More examples, all verified by executing the generated filter with real jq:

  • “get the id of every order” → .orders[] | .id
  • “keep only the orders whose status is done” → [.orders[] | select(.status == "done")]
  • “some o total de todos os pedidos” → [.orders[].total] | add
  • “remova o campo total de cada pedido” → del(.orders[].total)

Good to know

  • Always include a JSON sample — the model was trained to copy field names from it; without one it will hallucinate fields.
  • It outputs a jq filter, not a shell command: pipe it into jq yourself, or use the jqc CLI — a single binary that generates the filter and runs it for you.
  • Review destructive filters (del, assignments) before applying them to data you care about.

Links

0.6B full fine-tune of Qwen3-0.6B-Base · weights CC BY 4.0