explaingit

bleeeet/termipet

Analysis updated 2026-06-24

33SwiftAudience · developerComplexity · 3/5Setup · easy

TLDR

A macOS menu bar app that drops an animated desktop pet beside terminals and AI coding tools, exposing quick Claude Code commands, a Pomodoro timer, and a chat with local or hosted models.

Mindmap

mindmap
  root((TermiPet))
    Inputs
      Terminal window titles
      Claude Code hooks
      User chat
    Outputs
      Pet animations
      Typed shell commands
      Status cards
    Use Cases
      Claude Code dashboard
      Pomodoro workflow
      Terminal quick commands
    Tech Stack
      Swift
      macOS
      Ollama
      Homebrew
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Surface Claude Code thinking, tool calls, and permission prompts on a pet card next to your terminal

USE CASE 2

Run quick shell commands like /compact or /diff into the active terminal from a menu bar pet

USE CASE 3

Chat with a local Ollama model or hosted OpenAI endpoint via the desktop pet

USE CASE 4

Track Pomodoro sessions and recent terminal output from the menu bar

What is it built with?

SwiftmacOSOllamaOpenAIHomebrew

How does it compare?

bleeeet/termipethoobnn/fanfanpylogmon/istart
Stars333331
LanguageSwiftSwiftSwift
Setup difficultyeasyeasymoderate
Complexity3/53/52/5
Audiencedeveloperdevelopergeneral

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

Needs macOS Accessibility permission for typed commands and terminal previews, without it quick commands only copy to clipboard.

In plain English

TermiPet is a macOS menu bar app that puts a small animated desktop pet at the edge of the screen for users who work in a terminal or with AI coding tools like Claude Code, Codex, and GitHub Copilot. The README frames it less as decoration and more as a workflow shortcut: the pet sits idle most of the time, and when the cursor moves near it, a floating toolbar with status cards, quick commands, a Pomodoro timer, and a chat window opens. The default pet is Terminal Cat, and other characters or custom pet resource packs can be loaded. Several integrations are documented. TermiPet detects active terminals across Terminal, iTerm2, Ghostty, Warp, WezTerm, Alacritty, and Kitty, and surfaces window titles and recent output in a preview card. A quick command panel ships with Claude Code commands like /compact, /clear, /review, /status, /diff, and /cost, and users can add their own. A folder picker types the matching cd command into the active terminal. A Claude Code Hook installs into ~/.claude/settings.json and ~/.claude/hooks/ and reports thinking, tool calls, permission prompts, context compaction, and completion back to the pet card. The pet chat window can talk to the user about the current state or hold a normal conversation. The model can be a local Ollama instance or an online API: OpenAI, Google Gemini, or any OpenAI-compatible custom endpoint. Privacy posture is spelled out clearly. TermiPet has no self-hosted relay server. Online model API keys live in the macOS Keychain, model base URLs and names live under Application Support, and Hook events go only to TermiPet's local 127.0.0.1 service. Installation has three routes: a packaged TermiPet.app from the GitHub releases page, a curl-piped install script, or a Homebrew tap with brew tap bleeeet/termipet plus brew install --cask termipet. Building from source uses Scripts/build-plugin.sh, which runs tests, builds the Swift Package, signs with a local self-signed certificate, and otherwise falls back to ad-hoc signing. Terminal preview and automatic typing require macOS Accessibility permission, without it the quick commands fall back to copying to the clipboard.

Copy-paste prompts

Prompt 1
Install TermiPet via the Homebrew tap and grant the Accessibility permission so quick commands actually type.
Prompt 2
Add a custom Claude Code slash command to TermiPet's quick command panel that runs my own /lint script.
Prompt 3
Wire TermiPet's chat to a local Ollama model and pick a small one that fits in 8GB of RAM.
Prompt 4
Write a custom pet resource pack for TermiPet using the documented format.

Frequently asked questions

What is termipet?

A macOS menu bar app that drops an animated desktop pet beside terminals and AI coding tools, exposing quick Claude Code commands, a Pomodoro timer, and a chat with local or hosted models.

What language is termipet written in?

Mainly Swift. The stack also includes Swift, macOS, Ollama.

How hard is termipet to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is termipet for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.