Skip to content

feat(tat): add Terminal Activity Tracker v1 with local SQLite storage and shell hooks#1

Draft
cto-new[bot] wants to merge 1 commit intomasterfrom
feat/tat-v1-terminal-activity-tracker
Draft

feat(tat): add Terminal Activity Tracker v1 with local SQLite storage and shell hooks#1
cto-new[bot] wants to merge 1 commit intomasterfrom
feat/tat-v1-terminal-activity-tracker

Conversation

@cto-new
Copy link

@cto-new cto-new bot commented Dec 3, 2025

Summary

Introduce Terminal Activity Tracker v1 as a private, local tool that records terminal commands and stores metadata in a local SQLite database. It provides a minimal CLI to initialize, enable/disable, and search, and includes shell integration to capture execution metadata.

Details

  • Set up a new v1 implementation starting from scratch with local storage
  • Implement SQLite-backed data model (Session, Command, Output) and migrations
  • Add core CLI: init, enable/disable, status, search, start, record, install-shell
  • Implement Bash and Zsh shell hooks to capture preexec and postexec events
  • Add shell hook scripts and an installer to bind hooks to the user shell
  • Persist data under ~/.tat/tat.db with privacy controls via TAT_DISABLE
  • Extendable design for future features (full stdout/stderr capture, UI, MCP integration)

Warning: Task VM test is not passing, cto.new will perform much better if you fix the setup

…torage and shell hooks

This initial MVP introduces a private, local terminal activity tracker that records commands executed in shells (Zsh and Bash) and stores metadata in a local SQLite database. It provides a minimal CLI for initialization, enabling/disabling tracking, and searching past commands, with extensible architecture for future features.

- Adds SQLite-backed models (Session, Command, Output) and storage glue with migrations
- Implements core CLI: init, enable, disable, status, search, start, record, and install-shell
- Introduces shell integration via preexec/postexec hooks for Bash and Zsh
- Stores data locally under ~/.tat/tat.db and exposes privacy controls (TAT_DISABLE)
- Adds install-shell and shell hook scripts to ~/.tat

Breaking changes: none
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants