Spyke

Syndicated from the fediverse. Read and engage on the original instance.

View original on programming.dev
programming·Programmingbytevvvb

A terminal pet that hatches per git worktree, and sulks about your uncommitted files

This started as a joke and turned into something I actually use.

I work across a lot of git worktrees at once, and every terminal looked identical. I kept typing into the wrong one.

So now each session hatches an ASCII creature into the status line. It's derived by hashing the session id, so nothing is chosen and nothing is persisted anywhere - delete the cache and the same session draws the same creature. Some species are rarer than others and a few are shiny, which was a mistake, because I now open extra worktrees hoping for a good roll.

The face also tracks how tidy the worktree is: uncommitted files, unpushed commits, how far behind trunk you are. A small animal looking miserable about your working tree turns out to be more persuasive than any pre-commit hook I've installed.

Single static Go binary, no runtime dependencies. The status line executes once a second in every open session, so that path reads two small cache files and never shells out to git - the expensive work happens in a throttled background probe.

Mine, so take the enthusiasm with salt.

A terminal pet that hatches per git worktree, and sulks about your uncommitted fileshttps://github.com/TevvvB/parallel-harness-petsOpen linkView original on programming.dev
27

7 replies

Now THIS is a coding assisstant! I love them! Its such a clever way of incentivising your own good behavior!

1
pawb.social

It is good that this gives you some happiness; my joy for such things has significantly declined. Making the agent hellscape cutsey seems fruitless and somewhat macabre to me.

6

fair comment! I personally saw this as a tool to encourage parallel development via harnesses (which I've been loving at my work recently).

1

You reached the end

A terminal pet that hatches per git worktree, and sulks about your uncommitted files | Spyke