Skip to content
Discuss with AI

Building Gitwatch

I've recently been running Claude Code in my home dir instead of in specific project dirs, so it can coordinate changes between different repos.

I was finding it difficult to keep track of which repos had been modified. I like the powerlevel10k git statusline, so I got Claude to create something similar for reporting on multiple repos at once.

Gitwatch is a TUI written in Rust with ratatui. I keep it open in a small tmux pane alongside Claude Code.

Gitwatch terminal interface showing a list of git repositories with their branches and status

It looks at my home dir and searches recursively (up to 5 levels deep) for git repos. It orders them by most recent file change or git operation, and reports their current branch as well as a status section in the style of powerlevel10k. It shows modified / added / untracked etc. files, stashes, and push/pull status.

I can use vim motions to move between the lines; if I want to examine the contents of the diff, hitting enter will open neogit (neovim plugin) in that repo.

Neogit interface showing unstaged changes with a diff view