Some of the "use html as an output format for LLMs" conversations of the last month inspired me to put together this package. The idea being, if we are outputting HTML, we maybe care less about the idea of HTML-in-browser and more because it's a nice document description format with convenient renderers (browsers).
But with things like kitty, I don't think we necessarily need to use a browser and can instead actually render HTML-described documents inline in the terminal itself. So here's kittyhtml.
You can pipe HTML to it and it renders the HTML+CSS inline in the terminal itself.
echo '<h1>hi</h1>' | kittyhtml
It can take raw HMTL, but also is a nice output target for invocations of claude -p.
claude -p "create a simple html page. return only the HTML and do not include markdown fences" | kittyhtml
Under the hood it's using https://github.com/DioxusLabs/blitz for the parsing/layout and then getting that rendered with kitty. So anything Bitz supports this supports.
As part of the npm package I ship an LLM skill that tells an LLM how to use this, but what I'm really ultimately aiming for here is to have this rendered inline in Claude Code. However, [CC doesn't yet support image protocols](https://github.com/anthropics/claude-code/issues/2266), but once it (inveitably?) does I would update the skill so that "create a plan in html and display it with kittyhtml" would have the plan (or whatever) rendered directly in your CC session.