← all repositories
ryanstephen/lil-agents

Tamagotchi meets terminal: AI pets for your dock

Two animated characters wander your macOS dock and open a chat terminal when clicked, wrapping whichever AI CLI you already use.

lil-agents
Velocity · 7d
+18
★ / day
Trend
steady
star history

What it does

lil agents parks two tiny animated characters — Bruce and Jazz — on top of your macOS dock. They stroll back and forth, think in cartoon bubbles, and open a themed popover terminal when clicked. Under the hood it’s a thin wrapper around the AI CLI you already have installed: Claude Code, OpenAI Codex, GitHub Copilot, or Google Gemini. You switch providers from the menubar; the app itself handles none of the LLM traffic.

The interesting bit

The characters are rendered from transparent HEVC video, not sprites or a game engine — a neat hack for smooth alpha-channel animation inside a native Swift app. The whole thing is deliberately local and quiet: no accounts, no analytics, no interception of chat content. Even the “thinking” phrases are just local fluff while your CLI process works.

Key highlights

  • Four visual themes (Peach, Midnight, Cloud, Moss) plus slash commands (/clear, /copy, /help) in the chat input
  • Auto-updates via Sparkle; universal binary for Apple Silicon and Intel
  • Requires macOS Sonoma 14.0+ and at least one supported AI CLI pre-installed
  • MIT licensed; build by opening the Xcode project and hitting run

Caveats

  • The README doesn’t specify how the app locates or manages the CLI binaries — whether it expects them on $PATH or bundles anything is unclear
  • No mention of window management behavior (always on top? hide on focus loss?), which matters for a dock-level overlay

Verdict

Grab it if you want a dash of personality around your AI coding workflow and already live in the terminal. Skip it if you need deep IDE integration or cross-platform support — this is macOS-only, dock-anchored, and proudly single-purpose.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.