{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreibj2yqmhk466cooawnqjkm4dsinj7brnjkeifjfpyzebreol4tjeq",
    "uri": "at://did:plc:pi6woz4d47bkuws673w2il2r/app.bsky.feed.post/3mnkacg2x4zs2"
  },
  "path": "/t/ann-tricorder-a-new-development-tool-for-haskell-and-llms/14208#post_1",
  "publishedAt": "2026-06-05T13:00:10.000Z",
  "site": "https://discourse.haskell.org",
  "tags": [
    "tricorder",
    "atelier"
  ],
  "textContent": "Hey everyone,\n\nfor those of you who don’t know me, my name is Christian and I’m an engineer at Tweag.\n\nI am very pleased to announce the very first release of tricorder!\n\n`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:\n\n  * Multiple component support and auto-discovery out of the box.\n  * 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.\n  * A TUI with different levels of detail: overview, test failures, complete test output.\n  * Configurable hotkeys, mouse scrolling support.\n\n\n\nHowever, 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:\n\n  * `tricorder status –wait` will wait until the build cycle it and return diagnostis - warnings, errors, test results.\n  * `tricorder status –expand N` zooms in on a specific diagnostic whenever more information is needed.\n  * `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.\n\n\n\nThe CLI is mostly for agents to consume, though, with the familiar TUI being the dashboard for developers.\n\nA 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):\n\nPlease check the README for installation instructions. (Discourse won’t let me post more links)\n\nTricorder 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.\n\nI’m looking forward to hacking on `tricorder` with more people in person tomorrow at ZuriHac and welcome any and all feedback!\n\nSpecial 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!",
  "title": "[ANN] tricorder - a new development tool for Haskell and LLMs"
}