https://preview.redd.it/nfplfuva6ptg1.png?width=349&format=png&auto=webp&s=375cbefb1dfa9e8e5534a3bc7f7bf314f63bda1c I really liked the idea of the Claude Code buddy so I created my own that supports infinite variations and customization. It even supports watching plain files and commenting on them! tpet is a CLI tool that generates a unique pet creature with its own personality, ASCII art, and stats, then sits in a tmux pane next to your editor commenting on your code in real time. It monitors Claude Code session files (or any text file with --follow) through watchdog, feeds the events to an LLM, and your pet reacts in character. My current one is a Legendary creature with maxed out SNARK and it absolutely roasts my code. Stuff I think is interesting about it: No API key required by default -- uses the Claude Agent SDK which works with your existing Claude Code subscription. But you can swap in Ollama, OpenAI, OpenRouter, or Gemini for any of the three pipelines (profile generation, commentary, image art) independently. So your pet could be generated by Claude, get commentary from a local Ollama model, and generate sprite art through Gemini if you want. Rarity system -- when you generate a pet it rolls a rarity tier (Common through Legendary) which determines stat ranges. The stats then influence the personality of the commentary. A high-CHAOS pet is way more unhinged than a high-WISDOM one. Rendering -- ASCII mode works everywhere, but if your terminal supports it there's halfblock and sixel art modes that render AI-generated sprites. It runs at 4fps with a background thread pool so LLM calls don't stutter the display. Tech stack -- Python 3.13, Typer, Rich, Pydantic, watchdog. XDG-compliant config paths. Everything's typed and tested (158 tests). Install with uv (recommended): uv tool install term-pet Or just try it without installing: uvx --from term-pet tpet GitHub: https://github.com/paulrobello/term-pet MIT licensed. Would love feedback, especially on the multi-provider config approach and the rendering pipeline.   submitted by   /u/probello [link]   [comments]