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](https://github.com/atelier-hub/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:
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 –wait
will wait until the build cycle it and return diagnostis - warnings, errors, test results.tricorder status –expand N
zooms in on a specific diagnostic whenever more information is needed.tricorder source Dependency.ModuleName#functionName
will attempt to retrieve the source code for a specific function so the agent can verify APIs instead of hallucinating them. Omitting the #functionName
will 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!