The interactive mode that qq has is really slick. I didn't torture test it, but it worked pretty smoothly with a quick test.
I see that the XML support is implemented using the same library as rq. This definitely has some problems, because the data model of XML does not map very cleanly onto JSON. In particular, I recall that I had problems using mxj to marshal arrays, and had to use this[2] ugly hack instead. qq seems to have done this a little more cleanly[3]. I may just have to lift this particular trick.
I definitely found CSV output to be challenging. Converting arbitrary JSON style data into something table shaped is pretty tricky. This[4] is my attempt. I have found it works well enough, though it isn't perfect.
I can also see that qq hasn't yet run into the byte order marker problem with CSV inputs yet. Might want to check out spkg/bom[5].
One final breadcrumb I'll drop - I drew a lot of inspiration for rq's input parsers from conftest[6]. That may be a good resource to find more formats and see specific usage examples of them.
Thanks for sharing! It's really interesting to see some of the convergent evolution between rq and qq.
0 - https://git.sr.ht/~charles/rq
1 - https://www.openpolicyagent.org/docs/latest/policy-language/
2 - https://git.sr.ht/~charles/rq/tree/c67df633c0438763956ff8646...
3 - https://github.com/JFryy/qq/blob/2f750f04def47bec9be100b7c89...
4 - https://git.sr.ht/~charles/rq/tree/c67df633c0438763956ff8646...
5 - github.com/spkg/bom