[ANN] tricorder - a new development tool for Haskell and LLMs
Hey everyone,
for those of you who don’t know me, my name is Christian and I’m an engineer at Tweag.
I am very pleased to announce the very first release of tricorder!
tricorder has been my daily driver for Haskell development for months now. It works really well as a standalone replacement for ghcid or ghciwatch with some features that make it very attractive:
- Multiple component support and auto-discovery out of the box.
- A daemon that builds the code in the background and serves as the backend for any number of TUI/CLI sessions so nothing gets built twice.
- A TUI with different levels of detail: overview, test failures, complete test output.
- Configurable hotkeys, mouse scrolling support.
However, it really shines when pair programming with an LLM agent. The included CLI surfaces build information in a way that is context-aware and reliable, so the feedback loop is very tight:
tricorder status –waitwill wait until the build cycle it and return diagnostis - warnings, errors, test results.tricorder status –expand Nzooms in on a specific diagnostic whenever more information is needed.tricorder source Dependency.ModuleName#functionNamewill attempt to retrieve the source code for a specific function so the agent can verify APIs instead of hallucinating them. Omitting the#functionNamewill return the entire contents of the module.
The CLI is mostly for agents to consume, though, with the familiar TUI being the dashboard for developers.
A picture is worth a thousand words, so here’s a moving one, quickly demonstrating the TUI and using tricorder with an agent (invoking the included /tricorder skill):
Please check the README for installation instructions. (Discourse won’t let me post more links)
Tricorder is fully built in Haskell using the atelier toolkit, which was extracted from a project I built at Tweag since my colleagues and I liked the structure and ergonomics of algebraic effects so much.
I’m looking forward to hacking on tricorder with more people in person tomorrow at ZuriHac and welcome any and all feedback!
Special thanks to Victor Bakke who’s been my sparring partner (and the other maintainer of tricorder/atelier) and Aleksandr Vershilov for supporting the project on Tweag’s side!
Discussion in the ATmosphere