Skip to content

YassineChahdi/Lazarus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Lazarus

Bring your dead GitHub projects back to life.

A Chrome extension that detects abandoned repos, analyzes what's missing, and helps you finally ship them.

Features

  • Detect dead projects as you browse GitHub (injected buttons repo list)
  • Analyze what's missing to reach MVP using Gemini AI
  • Resurrect by generating the missing code and creating a PR
  • Stats dashboard tracking projects resurrected, hours saved, and dead projects found

Quick Start

# Backend
cd backend
cp .env.example .env  # Add your API keys
npm install
npm run dev

# Extension
# 1. Open chrome://extensions
# 2. Enable Developer Mode
# 3. Load unpacked → select extension/

Environment Variables

GITHUB_TOKEN=ghp_xxxxxxxxxxxx
GEMINI_API_KEY=xxxxxxxxxxxx
MONGODB_URI=mongodb+srv://...

Tech Stack

Component Technology
Extension Chrome Extension (Manifest V3)
Backend Node.js + Express
Database MongoDB Atlas
AI Google Gemini API

API Endpoints

POST /analyze

Analyzes a GitHub repo. Uses structured JSON outputs from Gemini.

// Request
{ "repoUrl": "owner/repo", "skipPersist": false }

// Response
{
  "status": "dead",
  "completionPercent": 80,
  "timeToMvp": "4 hours",
  "analysis": {
    "missingPieces": ["Authentication", "Deployment config"],
    "summary": "Solid foundation, needs auth to ship."
  }
}

POST /resurrect

Generates missing code and creates a PR.

// Request
{ "repoUrl": "owner/repo", "missingPieces": ["Auth", "Deploy"] }

// Response
{ "prUrl": "https://github.com/owner/repo/pull/1" }

POST /ship

Generates a landing page for the project.

GET /stats

Returns aggregate stats for the extension popup.

{ "projectsResurrected": 3, "hoursSaved": 12, "deadProjectsFound": 7 }

Classification Logic

Projects are classified based on completion percentage (deterministic, not LLM-decided):

Completion Status Description
≥ 90% Alive Complete MVP
70-89% Dead Resurrectable
< 70% Dead Too early

Cache Behavior

  • Analyses are cached in MongoDB
  • Cache expires after 7 days OR if repo has new commits
  • Expired caches are automatically deleted

Project Structure

lazarus/
├── extension/
│   ├── manifest.json
│   ├── content.js      # Injects buttons on GitHub
│   ├── popup.html/js   # Extension popup with stats
│   └── background.js   # Service worker
│
└── backend/
    ├── server.js
    ├── routes/
    │   ├── analyze.js   # POST /analyze, GET /analyze/:owner/:repo
    │   ├── resurrect.js # POST /resurrect
    │   ├── ship.js      # POST /ship
    │   └── stats.js     # GET /stats
    ├── services/
    │   ├── github.js    # GitHub API
    │   └── gemini.js    # Gemini API (structured outputs)
    └── models/
        ├── Analysis.js
        └── Resurrection.js

Built at ConUHacks X

About

An AI tool that identifies dead projects, shows what's missing to reach MVP, and helps you ship them - turning sunk cost into something real.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors