If you code with Claude Code, you probably can't answer two simple questions: how many hours did the last feature take, and how much did the AI cost for it?
Time trackers don't help. A stopwatch you have to remember to start always fails, and nobody wants to install something that watches their terminal.
So I built Estela, an open-source CLI that answers both questions from files that already exist on your disk.
The idea: read what's already written
Two artifacts already record almost everything you need:
- Claude Code session files. Claude Code saves every session locally, with the model and exact token counts. Estela reads when, how much and with which model. It never stores the content of your prompts.
- Your git history. Estela reads it with git log and matches commits to sessions by timestamp, author and branch. No hooks installed, nothing added to your commit messages. Husky and lefthook stay untouched. ## Measured vs. estimated, never mixed Not every hour comes from an AI session. If you coded by hand, or with an agent Estela can't read yet (Codex, Cursor, Copilot, Gemini CLI, Aider), your commits are still a trail. Estela infers time from them and labels it as estimated. Hours from Claude Code sessions are labeled measured. That distinction matters more than it looks: a report is only useful if you know which numbers are real and which are guesses. ## The real cost of AI is not the sum of tokens If you're on a flat subscription, adding up token prices gives you a number you never paid. Estela prorates your actual subscription across what you consumed, and counts cache separately, because cache is usually the biggest chunk of the bill. The result: effort per feature, in human hours and in AI money, attributed to the same piece of work. ## A dashboard your client can actually use Instead of attaching a PDF timesheet, you share a read-only link. Every number drills down to the commits behind it. And no vanity metrics: no lines of code, no commit counts, no productivity scores. Effort per feature, rewrites, pace and unmerged work. ## Try it It runs fully local, with no account and no card. The code is open source (MIT) and has zero dependencies. Requires Node 22.5+. npx estela setup Then npx estela web opens the dashboard. If you're already in Claude Code, there's also a plugin, and /estela:demo fills a dashboard with fake data so you can see what it does before letting it near your history. Sample dashboard: https://getestela.dev/demo Code: https://github.com/jdleonruiz/estela-cli ## What I'd love feedback on Today Estela only reads Claude Code sessions. Which agent should it support next? And if you bill clients for AI-assisted work: how do you handle the AI cost today?
Top comments (0)