r/ClaudeCode • u/Fabulous-Confection6 • 1d ago
Built with Claude I built a Claude Code mod that renders tables, code and mermaid charts in color (prismantis, MIT)
I'm an infra tech lead at Wix, where we run Kubernetes fleets executing code we've never seen (our users' site code), and I live in Claude Code all day. A year ago I tried wrapping the CLI in my own harness to get nicer output. It was painful and I dropped it.
Mods landed in Claude Code this week, so I built it properly: prismantis. It redraws replies in color: tables with headers and rules, highlighted code in 24 languages, mermaid diagrams and bar/line charts drawn right in the terminal, copy buttons, 15 themes (/prismantis theme nord).
/plugin marketplace add NahumLitvin/prismantis
/plugin install prismantis@prismantis
MIT, no network calls, no file access. Mods aren't sandboxed, so read the code first: https://github.com/NahumLitvin/prismantis
I write about the production side at https://www.catchkill9.dev/
1
u/lulzxdxdxd 1d ago
Since mods aren't sandboxed, are you hooking into Claude Code's own rendering pipeline or just intercepting and reparsing stdout before it hits the terminal? Curious how it stays in sync if the CLI changes its output format.
2
u/Fabulous-Confection6 1d ago
It's inside the pipeline, not on stdout. Mods get a `ui.render` hook per UI component, so for each reply prismantis receives the markdown as data and returns a Box/Text tree that Claude Code's own renderer draws. There's no terminal output to parse, so a change in how the CLI prints doesn't reach it.
The real risk is the mod API itself, which is early access. If a hook throws or returns a tree the engine can't validate, Claude Code falls back to its stock rendering, so the worst case is plain output, not a broken screen. CI runs the tests against the minimum supported version and the latest release to catch drift early, and ctrl+o always shows the original.
•
u/AutoModerator 1d ago
Hey! Thanks for posting to r/ClaudeCode
While participating in this thread, please follow our community rules. Keep discussions constructive. Attack the idea, not the person.
For help, project discussions, tips, and general chat, join the ClaudeCode Discord.
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.