Projects

// project

codagatchi

A tamagotchi-style coding companion that lives in your terminal.

0 · ⑂ 0 · ● 0 open
Rustpushed 2026-05-14T01:25:46ZView on GitHub ↗

README

A desktop Tamagotchi built with Tauri 2. It lives as a small floating widget and a system tray icon. Hatch ASCII creatures with a rarity system, keep them alive by feeding and playing, and build up a Codex of every species you've discovered.


Features

  • Floating widget — 220×280px, borderless, always-on-top, draggable to any screen position
  • Expanded panel — expands in-place to a tabbed view with Codex, Collection, and Settings
  • ASCII creatures — 8 species across 4 rarity tiers, each with idle/happy/hungry art
  • Stat system — hunger, happiness, and energy decay/regen each tick; feed and play to keep your creature healthy
  • XP & milestones — earn XP over time and through interactions; milestones award new eggs
  • Egg inventory — hatch eggs to discover new species (max 3 unhatched eggs at once)
  • Codex — tracks every species: discovered entries show art and flavor text; undiscovered entries show a silhouette
  • OS notifications — starvation warnings, death notices, and new egg alerts via native OS notification
  • System tray — creature name and mood always visible; show/hide the widget from the tray menu
  • Configurable tick interval — default 60s, adjustable in settings

Species

NameRarityNotes
BlobCommonAmorphous, wobbly
KittenCommonSmall ASCII cat
SparrowCommonTiny round bird
BearcubCommonPerpetually sleepy
DraklingUncommonSmall dragon
SpecterUncommonFloating ghost
PhoenixRareFlame bird
VoidlingLegendaryCosmic entity

Hatch weights: Common 60% / Uncommon 25% / Rare 12% / Legendary 3%.


Game Mechanics

Per-tick stat changes:

StatPer Tick
Hunger−2
Happiness−1
Energy+1

Interactions:

ActionEffect
FeedHunger +20, Energy −5, XP +2
PlayHappiness +15, Energy −10, XP +3

Lifecycle events:

  • Hunger ≤ 20 → starvation warning notification
  • Hunger = 0 for 3 consecutive ticks → creature dies
  • XP milestones (50 / 200 / 500 / …) → new egg added to inventory
Read the full README on GitHub ↗

Recent Commits

  • 0611082fix: enable small_rng feature for rand to fix CI Rust test compilationMark D'Adamo · May 14
  • f48daedfix: propagate drag-region attribute to creature display childrenMark D'Adamo · May 13
  • 5c80ca1fix: add allow-start-dragging capability to enable window dragMark D'Adamo · May 12
  • 268e1b6ci: add test workflow, CI pipeline, and ESLint setupMark D'Adamo · May 11
  • d9f96bcfeat: add manual release workflow with semver tagging and cross-platform…Mark D'Adamo · May 11
  • 36ea153docs: add project READMEMark D'Adamo · May 11
  • 1e1bd65fix: enable window dragging via data-tauri-drag-region on creature displ…Mark D'Adamo · May 09
  • 875b549fix: vertically distribute widget layout with flexbox spacingMark D'Adamo · May 09