Skip to content

PrettyFox0/fennec

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fennec ʕ•ᴥ•ʔ

a terminal fennec pet that lives in your shell. reacts to your git commits, test runs, and how badly you neglect them.

   /\     /\
  /  \___/  \
  \  ◕   ◕  /
   \   ω   /
    '-----'

what it does

  • tiny mood face in your right prompt — (^ω^) >ω< (-_-) (>﹏<) (o.o) (T_T) (x_x)
  • full TUI you can open to pet, feed, and let them sleep
  • watches your shell — fires events on git commit, git push, git push --force, git merge, and common test commands (cargo test, pytest, npm test, etc.)
  • 7 moods derived from recent events + sustained stats (hunger / energy / affection) + time of day

install

git clone https://github.com/PrettyFox0/fennec ~/fennec
cd ~/fennec
cargo install --path .
fennec init --apply   # or just `fennec init` to see the snippet first
source ~/.zshrc

requires rust ≥ 1.80 and zsh. terminal must speak unicode.

commands

fennec open the TUI — pet [p], feed [f], sleep [s], quit [q]
fennec status print a tiny mood face (used by RPROMPT, ~2ms)
fennec event <kind> manually record commit, push, force-push, merge, test-pass, test-fail, cmd-error, pet, feed, sleep
fennec init [--apply] write zsh integration + (optionally) append source line to ~/.zshrc
fennec reset a new kit arrives

state lives at ~/.local/share/fennec/state.json.

moods

most recent event (within 5 minutes) wins. otherwise sustained stats and time of day decide.

trigger mood
git push --force* angry (>﹏<)
3+ commits in last hour hyper >ω<
test fail / command error concerned (o.o)
pet / feed happy (^ω^)
energy < 20 sleepy (-_-)
hunger > 80 or affection < 20 sad (T_T)
no interaction in 7 days dead (x_x)
0–6am, idle > 30min sleepy (-_-)
default happy (^ω^)

shell integration (what fennec init writes)

a single file at ~/.config/fennec/init.zsh that:

  1. ensures ~/.cargo/bin is on PATH
  2. appends $(fennec status) to RPROMPT
  3. wraps git to fire events on success (commit / push / force-push / merge)
  4. registers preexec + precmd hooks to detect test runs

set FENNEC_NO_RPROMPT=1 if you don't want the prompt face.

roadmap

  • background daemon with desktop notifications on mood transitions
  • stat decay over time (hunger climbs, energy drains)
  • idle animations in the TUI (ear twitches, blinks)
  • global git hooks via template dir (for repos you didn't git clone through zsh)
  • bash + fish integration

license

MIT

About

terminal fennec pet that lives in your shell — reacts to git events, test runs, and neglect (ʕ•ᴥ•ʔ)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages