Settings

Theme

Show HN: Worktale, a local-first CLI to turn your Git history into a dev journal

worktale.org

2 points by plsft 17 days ago · 0 comments · 2 min read

Reader

Hey HN,

I built Worktale because I couldn't remember what to say at my last performance review: "What did you ship this quarter?"

I'd spent months debugging race conditions, redesigning a reporting pipelines, shipping a major migration — all behind a corporate firewall in private repos. None of it was visible. Not on GitHub. Not on my resume. Not even to me.

So I built a CLI that reads your local git history and turns it into a personal record of what you actually built. No account, no cloud, no code leaves your machine.

How it works:

npm i -g worktale cd my-project worktale init # scans full git history, installs a silent post-commit hook worktale # opens a TUI dashboard — overview, daily log, heatmap worktale digest # generates a daily summary (template or local Ollama AI)

After 'init', every git commit silently captures metadata (message, lines changed, timestamps) into a local SQLite database. That's it. No network requests, no telemetry.

If you don't want hooks in your repos--fair point, for those with a fear of commitment:

cd ~/projects worktale batch --since 3m # scans all repos recursively, imports history, installs nothing worktale hook install # opt-in to live tracking per repo later

Technical details for the curious:

  - TypeScript, compiled to ESM with tsup
  - TUI built with Ink 5 (React 18 for terminals)
  - SQLite via better-sqlite3 in WAL mode
  - Historical analysis runs in worker threads (batches of 500 commits)
  - Bash + PowerShell git hooks for cross-platform support
  - 385 tests across 28 test files
  - MIT licensed
What it is not:

  - Not a time tracker (it estimates from commit timestamps, but that's a side effect)
  - Not a replacement for GitHub contributions (this is your private journal)
  - Not a team tool (yet — cloud with shareable profiles is on the roadmap)
The whole thing runs locally. The only optional network call is if you use Ollama for AI-generated digests, and that's localhost.

Source: https://github.com/worktale/worktale-cli Site: https://worktale.org

npm: npm i -g worktale

Happy to answer questions about the architecture, the SQLite schema, or why I parse git log --format instead of using a library.

No comments yet.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection