Inspiration

I made a simple observation while working with terminals: terminals are where people do real work, but the history of that work is hard to reuse or share. I wanted a small, reliable tool that makes command history useful beyond the current session — for recalling steps, and reproducing my work.

What it does

  • Automatically records every executed command with context.
  • Stores history efficiently in an SQLite-backed store database.
  • Provides a small CLI for browsing, searching, and safely re-running commands.
  • Offers a terminal UI for navigating directory-organized history.

Example commands:

tracker setup            # configure shell integration
tracker history          # show recent history for current directory
tracker browse           # interactive browser
tracker search "git"  # text search across all history

How we built it

  • Language & tools: written in Go to create a single cross-platform binary and to make the internals easily importable as a library.
  • Architecture: tiny, well-defined interfaces separate concerns — CommandInterceptor for capturing command, StorageEngine for persisting data, HistoryBrowser for UI, and Executor for safe re-execution.
  • Storage: SQLite (via modernc.org/sqlite) gives a compact, fast database that works everywhere without extra services. -UI: I used bubbletea to build an interactive terminal UI experience and cobra to configure CLI commands.
  • Tests: to ensure reliability across shells and platforms, I tested the core flows using unit and integration tests.

Challenges we ran into

  • Setting up shell hooks was a challenge which prevented the interceptors from recording commands automatically.

Accomplishments that we're proud of

  • Cross-platform support out of the box (PowerShell, Bash, Zsh, and Cmd) with automated setup helpers.
  • Great User Experience: The terminal UI is well documented and easy enough for anyone to setup and start using immediately.

Built With

Share this project:

Updates