Skip to content
ManishModakPublic

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

ย 

History

40 Commits

Folders and files

Repository files navigation

๐Ÿ’€ NECRO-PET: The Undead Coding Companion

"Feed it with your code... or watch it perish."

A haunted desktop virtual pet that feeds on your Git activity. Built for the Kiroween Hackathon 2025 in the Resurrection category โ€” bringing the beloved Tamagotchi back from the dead with modern tech.

Necro-Pet Electron React


๐ŸŽฅ Demo

Quick Preview

Necro-Pet Demo

30-second GIF showing pet evolution and weather integration

Full Demonstration

๐ŸŽฌ Watch Full Demo on YouTube

Complete 3-minute video showcasing all features


๐Ÿ† Hackathon Submission: Resurrection Category

Resurrecting Obsolete Technology:

  • Original Tech: Tamagotchi (1996) - simple LCD pets with manual buttons
  • Modern Reimagining: AI-powered desktop pet with real-world data integration

The Transformation:

Original (1996) Necro-Pet (2025)
Manual button presses Git commit detection
Random number generators LLM-driven narratives
Static pixel art Dynamic weather-reactive environments
Isolated gameplay Real-world data integration
Single device Cross-project persistence

Solving Modern Developer Problems

  1. Gamified Productivity: Visual feedback encourages frequent commits
  2. Burnout Prevention: Health decay warns against overwork
  3. Cross-Project Engagement: Pet state persists across different coding projects
  4. Team Collaboration: Shared pet creates team coding challenges

๐Ÿฆ‡ Overview

Necro-Pet is a desktop virtual pet that gamifies your coding workflow:

  • Save files โ†’ Feed the beast with life essence
  • Stop coding โ†’ Watch your pet's health decay
  • Neglect it too long โ†’ It dies and becomes a ghost ๐Ÿ‘ป

The pet evolves through stages: Egg โ†’ Larva โ†’ Beast โ†’ Ghost (death)

๐ŸŽฎ Pet Evolution Stages

Stage Visual Description
Egg Egg Stage The beginning of life - your pet awaits your first commit
Larva Larva Stage Growing stronger with each file save
Beast Beast Stage Fully grown and thriving on your code
Ghost Ghost Stage The final form when neglected too long

Features

  • ๐ŸŽฎ 8-bit pixel art aesthetic with scanline effects
  • ๐ŸŒฆ๏ธ Real-time weather integration via Open-Meteo MCP
  • ๐Ÿ“œ Activity log showing file changes as "spirit disturbances"
  • โšก File watcher that detects saves in your project
  • ๐ŸŽจ Windows 95 Haunted House visual theme

๐Ÿ•ฏ๏ธ Tech Stack

Layer Technology
Desktop Electron 39
UI React 19 + TypeScript
Styling Tailwind CSS (pixel-art config)
State Zustand
Build Vite
Weather MCP Server (Open-Meteo API)

๐Ÿš€ Quick Start

# Clone the crypt
git clone https://github.com/ManishModak/necro-pet.git
cd necro-pet

# Summon the dependencies
npm install

# Resurrect the pet
npm run dev

๐Ÿงช Running Tests

npm test

๐Ÿ“ Project Structure

necro-pet/
โ”œโ”€โ”€ .kiro/                    # Kiro AI configuration
โ”‚   โ”œโ”€โ”€ hooks/                # Agent hooks (Crypt Keeper's Chronicle)
โ”‚   โ”œโ”€โ”€ settings/             # MCP server config
โ”‚   โ”œโ”€โ”€ specs/                # Feature specifications
โ”‚   โ””โ”€โ”€ steering/             # AI steering documents
โ”œโ”€โ”€ mcp-servers/              # Custom MCP server for weather
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ main/                 # Electron main process
โ”‚   โ”œโ”€โ”€ preload/              # Context bridge
โ”‚   โ””โ”€โ”€ renderer/             # React UI
โ”‚       โ””โ”€โ”€ features/
โ”‚           โ”œโ”€โ”€ pet/          # Pet display & state
โ”‚           โ”œโ”€โ”€ weather/      # Weather overlay
โ”‚           โ””โ”€โ”€ activity-log/ # File change log
โ””โ”€โ”€ package.json

๐ŸŽƒ How Kiro Powers Necro-Pet

Comprehensive Kiro Integration

Necro-Pet demonstrates all five Kiro capabilities working together:

1. Spec-Driven Development ๐Ÿ“œ (The Foundation)

How we used it:

  • Created three comprehensive specs in .kiro/specs/
    • necro-pet-core-skeleton: Defined Electron+React architecture with file watching requirements
    • pet-state-evolution: Specified health/XP mechanics with mathematical formulas
    • world-context-weather-time: Detailed weather integration requirements

Impact:

  • Separated "what" (requirements) from "how" (implementation)
  • Generated robust TypeScript interfaces and Zustand stores directly from specs
  • Ensured game mechanics were mathematically sound before coding

2. Agent Hooks ๐Ÿค– (The Automation)

How we used it:

  • Crypt Keeper's Chronicle Hook (crypt-keeper-log.kiro.hook)
    • Runs on schedule (every 6 hours) via Kiro agent
    • Executes git log --since="6 hours ago" to analyze recent commits
    • Generates medieval fantasy narratives in CRYPT_LOG.md

Example Output:

๐Ÿ“œ *The necromancer hath summoned forth 17 new souls from the void!
   A mighty Electron skeleton now stands, its bones forged from TypeScript.
   The beast feasts upon the fresh code, growing stronger with each commit...*

3. Steering Documents ๐Ÿงญ (The Aesthetic Control)

How we used it:

  • .kiro/steering/vibe.md: Enforced "Digital Necromancy" theme rules
    • All UI text must use medieval fantasy language
    • Color palette limited to 8-bit green/black/red
    • Error messages framed as "curses" or "spirit disturbances"
  • .kiro/steering/pet_logic.md: Balanced game mechanics
    • Health decay formula: health -= linear decay over 48h
    • Feed formula: health += 20 per commit

4. MCP (Model Context Protocol) ๐ŸŒ (The Real-World Connection)

How we used it:

  • Custom Open-Meteo MCP Server (mcp-servers/open-meteo-server.py)
    • Fetches real-time weather data via Open-Meteo API
    • Exposes weather conditions to Kiro context
    • Dev Workflow: Kiro inspected the live API data via MCP to generate TypeScript interfaces instantlyโ€”no documentation reading required.
    • Pet environment reacts to actual weather:
      • Rain โ†’ Pixel rain animation
      • Snow โ†’ White overlay
      • Storm โ†’ Lightning flashes

Technical Implementation:

# MCP Server extracts weather data
def get_weather_context():
    data = open_meteo_api.fetch()
    return {
        "current_weather": data["current"]["weather_code"],
        "temperature": data["current"]["temperature_2m"],
        "is_day": data["current"]["is_day"]
    }

5. Vibe Coding ๐ŸŽจ (The Aesthetic Generation)

How we used it:

  • Generated entire Tailwind CSS theme from vibe description:
    • Input: "Haunted Windows 95 with 8-bit green CRT monitor glow"
    • Output: Complete tailwind.config.js with pixel-art plugin
  • Created pixel-art components via vibe prompts:
    • "Generate React component: 32x32 pixel ghost with scanline effect"
    • Result: src/renderer/features/pet/GhostDisplay.tsx

๐ŸŒฆ๏ธ Weather Integration Showcase

Necro-Pet reacts to real-world weather conditions:

Weather Type Day Visual Night Visual
Clear Clear Day Clear Night
Rain Rain Day Rain Night
Snow Snow Day Snow Night
Storm Storm Day Storm Night

๐Ÿ“„ License

MIT License - See LICENSE


๐Ÿฆ‡ May your commits be plentiful and your pet never perish... ๐Ÿฆ‡ ๐Ÿ’€ Resurrected for Kiroween 2025 - The Undead Coding Companion ๐Ÿ’€

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages