This is a submission for the Hacktoberfest Open-Source AI Challenge Week 4: Ghost in the Machine
Every developer has a drive full of abandoned side quests: half-finished prototypes, 2 AM scripts, and repos whose last commit was simply "fixing bugs please work". Usually, they just sit there until an aggressive disk cleanup wipes them out.
For Halloween and Día de los Muertos, I built rip: a local CLI tool that acts as a digital cemetery for dead code.
It scans your workspaces for dormant projects, reads strictly high-level metadata (last modified date, size, and last Git commit), and pipes it into a local Google Gemma 2 (2B) instance. Gemma acts as the gravekeeper, writing witty epitaphs for why each project died.
With the --ofrenda flag, it channels Día de los Muertos by turning the eulogy into an altar, offering actionable sparks to resurrect the project today.
The generated dark-mode visual cemetery view (cemetery.html):
In the terminal, it renders ASCII tombstones before generating the web gallery:
.---.
/ RIP /
| ___ | rust-game-engine-attempt
| | | | "It chased a dream of a world built in rust, but the compiler's silence remains."
|_|___|_|
🌼 Ofrenda Revival: Seek the engine's heart. A compiler update might be the spark to bring it back.
A local CLI tool and digital cemetery built for Hacktoberfest 2026: Ghost in the Machine.
Channels the spirits of forgotten scripts and abandoned repositories using local Google Gemma 2 (2B)
Every developer's drive hosts a quiet graveyard: incomplete prototypes, late-night experiments, and uncommitted scripts.
rip acts as a respectful gravekeeper. It traverses your workspaces to locate dormant projects, passing strictly metadata (modification age, sizes, and Git commit logs) to an air-gapped Gemma 2 instance. It produces witty obituaries and constructive Ofrenda sparks to resurrect your code, rendered both as ANSI terminal tombstones and a self-contained HTML gallery.
rip runs an open-weight foundation model locally; source code and file contents never touch the inference pipeline.
The stack is intentionally minimal and runs 100% locally:
gemma2:2b via Ollama. Gemma 2's instruction-following at 2B parameters made it fast and consistent at returning clean, parseable JSON without hallucinated markdown fences.rich for terminal panels.pathlib and subprocess to grab git log -1.
rip never reads actual code or file contents. It sends only the project name, days inactive, and the last commit message to Gemma at temperature: 0.7.
Running rip against my own old folders and seeing Gemma roast a commit from months ago wasn't just fun, it was oddly motivating. Instead of feeling guilty about abandoned repos, it treats them as part of the creative process and gives a clear prompt to pick one back up.