Skip to content

Repository files navigation

Git-Tock 🕐

A private, local-first work journal for developers. Git-Tock runs in your system tray, watches the active window every few seconds, recognizes git projects when it can, and builds a daily timeline you can export as Markdown.

What it is for

Git-Tock answers the question: “What did I work on today?”

Use it for:

  • remembering where the day went
  • standup notes and personal daylogs
  • lightweight billing/invoice reconstruction
  • seeing time grouped by app, repo, and branch

Everything stays on your computer in the local SQLite database at your OS data directory, usually ~/.local/share/git-tock/git-tock.db on Linux.

Features

  • 🪟 Active window tracking — records focused app and window title
  • 📁 Git repo detection — labels time by repo/branch when a path appears in the window title
  • 📊 Friendly dashboard — explains what the app does, whether tracking is healthy, and what it is currently seeing
  • 📝 Markdown export — generate standup/daylog-ready summaries
  • 🔒 Fully local — zero cloud, zero telemetry, zero accounts
  • 🖥️ System tray — runs quietly in the background; closing the window hides it instead of quitting

Install

Debian/Ubuntu

sudo dpkg -i Git-Tock_0.1.0_amd64.deb

Other distros (AppImage)

chmod +x Git-Tock_0.1.0_amd64.AppImage
./Git-Tock_0.1.0_amd64.AppImage

Fedora/RHEL

sudo rpm -i Git-Tock-0.1.0-1.x86_64.rpm

Platform requirements

Linux

X11:

  • xdotool
  • xprintidle recommended for idle detection

Wayland:

  • Hyprland: hyprctl (included with Hyprland)
  • Sway: swaymsg (included with Sway)
  • KDE Plasma: kdotool
  • river: riverctl (included with river)

Git-Tock auto-detects your display server and compositor, and uses the appropriate tools. Idle detection is supported on X11 (xprintidle), Hyprland (hyprctl idle), and KDE (qdbus).

macOS

Git-Tock can run as a menu-bar/tray style app, but active-window tracking requires macOS privacy permission:

  1. Launch Git-Tock.
  2. Open System Settings → Privacy & Security → Accessibility.
  3. Add/enable Git-Tock.
  4. Restart Git-Tock.

The app now surfaces tracking errors in the dashboard instead of silently showing an empty timeline.

Usage

  1. Launch Git-Tock.
  2. Leave it running in the tray/menu bar while you work.
  3. Open the dashboard to verify the status card says Tracking is working.
  4. Check Today for project/app time.
  5. Use Export to generate a Markdown report.

Building from source

# Ubuntu/Debian system dependencies
sudo apt-get install -y libwebkit2gtk-4.1-dev build-essential libxdo-dev   libssl-dev libayatana-appindicator3-dev librsvg2-dev xdotool xprintidle

# Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
. ~/.cargo/env

# Build
git clone https://github.com/mechemfarm-cmd/git-tock
cd git-tock
npm install
npm run build
npm run tauri:build

Development checks

npm run build
cd src-tauri
cargo test
cargo fmt --check

Roadmap

  • Wayland support
  • App filtering / ignore list
  • Weekly/monthly reports
  • Focus time analytics
  • Auto-start with system
  • Configurable polling interval

Built with

About

Developer work tracker that auto-tracks active projects from your system tray — local-first, no cloud, no accounts

Topics

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages