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.
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.
- 🪟 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
sudo dpkg -i Git-Tock_0.1.0_amd64.debchmod +x Git-Tock_0.1.0_amd64.AppImage
./Git-Tock_0.1.0_amd64.AppImagesudo rpm -i Git-Tock-0.1.0-1.x86_64.rpmX11:
xdotoolxprintidlerecommended 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).
Git-Tock can run as a menu-bar/tray style app, but active-window tracking requires macOS privacy permission:
- Launch Git-Tock.
- Open System Settings → Privacy & Security → Accessibility.
- Add/enable Git-Tock.
- Restart Git-Tock.
The app now surfaces tracking errors in the dashboard instead of silently showing an empty timeline.
- Launch Git-Tock.
- Leave it running in the tray/menu bar while you work.
- Open the dashboard to verify the status card says Tracking is working.
- Check Today for project/app time.
- Use Export to generate a Markdown report.
# 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:buildnpm run build
cd src-tauri
cargo test
cargo fmt --check- Wayland support
- App filtering / ignore list
- Weekly/monthly reports
- Focus time analytics
- Auto-start with system
- Configurable polling interval