跳到正文
DEV Community· Tanisha Naruka·· 2 小時前AI 評分42

Exhume:掃描 Git 儲存庫並為廢棄專案生成驗屍報告

Exhume

AI 導讀

Exhume 會掃描 Git 儲存庫,判斷哪些專案已停止活動,並為每個專案生成驗屍報告及互動式儀錶板。報告由透過 Ollama 運行的本機 Gemma 模型撰寫,系統會核對報告中的提交雜湊、年份及數量,刪除無法由 Git 資料支持的句子,並讓模型重試一次。所有功能均在本機運行,伺服器只監聽 127.0.0.1。

正文

Tanisha Naruka

This is submission for hacktoberfest 2026 challenge week 4

What I Built

Everyone has a folder of abandoned side projects. Exhume scans your git repos, works out which ones are dead, and writes an autopsy for each.

python exhume.py --scan ~/projects --serve

It reads each repo's history and computes the facts: birth date, last commit, days dead, busiest month, authors, leftover TODO/FIXME notes, and a cause of death. The cause comes from a plain heuristic. A last commit like "wip rewrite parser" means "left half-finished".

Then it opens a dashboard styled as a hospital ward of patient monitors:

  • Overview: one monitor per repo. Living repos read STABLE, and dead ones show a flat line and ASYSTOLE.
  • Case file: the autopsy report, an ECG of the commit history, and searchable commits.
  • Activity: a weekday-by-hour heatmap and contributors.
  • Séance: a chat where you question a dead repo.

The part I care about: the AI has to prove it

A local Gemma model (via Ollama) writes the autopsy, but language models invent things. So every commit hash, year, and "N days/commits/authors" in the report is checked against git. A sentence with a detail git can't back up is cut, and the model gets one retry. A badge on the Autopsy card shows how many claims were checked and how many invented details were removed.

The Séance works the same way. It searches the repo's commit messages first and gives only matching commits to the model. If nothing matches, it replies "The repo doesn't say." without calling the model at all. Every answer shows the commits it came from.

Everything runs on your machine. The server listens on 127.0.0.1 only.

How it's built

  • Python standard library only. The only extra is Ollama, for the AI parts.
  • One self-contained HTML dashboard, with no frameworks.
  • If Ollama isn't running, a template-written report is used and the page says so.

Limits

The verifier only catches what it can check: hashes, years and counts. A vague claim like "the project lost momentum" gets through. The cause of death is a simple heuristic, not insight. [Say how many real repos you ran it on and what you found.]

Code

https://github.com/tanisha-naruka/Exhume.git
https://drive.google.com/file/d/1YN5wLZN9oyfTTQfydrUKzfftbN25P35g/view?usp=drive_link

Which of your own repos would you dig up first?

來源:DEV Community · dev.to