5 ms·
Claudhd It's a user daemon that runs on my machine and exposes a unix socket, and then a bunch of hooks in claude, zsh, vim, etc, that report directory and com
by andrewstuart2 3mo ago
Claudhd
It's a user daemon that runs on my machine and exposes a unix socket, and then a bunch of hooks in claude, zsh, vim, etc, that report directory and commands I've run and all that, pipes it to claude Haiku for summary, and then stores context in sqlite. It also exposes that data as MCP so I can use claude to say "hey what was I doing yesterday," or any arbitrary time range.
I find that in the age of using AI agents, "Wtf was I working on yesterday" is an even harder thing to remember for me, so this helps me kind of track everything with a database that a) has AI summaries already and b) can be accessed by AI as well as a CLI.
- gitaarik 3mo agoWhat does it matter if it was yesterday or last week, and why would git log not suffice?
- andrewstuart2 3mo agoBecause I work across a dozen repos any given week, and I have my own side projects I play with as well. It blurs together. Global git hooks are another data source for the project, which I'd forgotten to add, so that data is in there too.
- xcubic 3mo agoHow do you do this? (The hooks part)
- zigapotocnik 3mo agoThe "expose it as MCP so AI can query it" pattern is one I keep seeing work really well in practice. We did something similar for business metrics in Databox - the interesting design question was whether to expose raw data or pre-aggregated metrics. We ended up with metrics (with dimension breakdowns) because agents hallucinate less when they don't have to decide how to aggregate themselves. Curious if you ran into anything similar with the sqlite summaries - do you find the AI-generated summaries more useful than raw command history?