GRAVE — Git Repository Abandonment & Vintage Explorer. Dig up dead, forgotten, and vintage GitHub repositories.
Project description
⚰️ GRAVE — Git Repository Abandonment & Vintage Explorer
Dig up dead, forgotten, and vintage GitHub repositories.
GRAVE is a command-line tool for digital archaeology — it hunts GitHub for the old, the obscure, and the abandoned.
GitHub is a graveyard of forgotten brilliance: repos with no stars that nobody ever saw, clever ideas from 2009 written in languages nobody uses anymore, projects abandoned the day someone lost their login and never came back. Somewhere in there is a gem worth resurrecting, modernizing, or mining for inspiration — and GRAVE is the shovel.
Point it at an era, a dead language, or a theme and it surfaces what time forgot. Then you open it, clone it, and decide what to do with it. Stateless by design — results stream to your terminal or to stdout; no database, nothing written to disk.
Install
pipx install grave-cli # recommended (isolated install)
# or
pip install grave-cli
Requires: Python 3.13+ and the GitHub CLI (
gh), which handles all authentication — GRAVE never touches your credentials.
Quick start
grave init # check prerequisites, sign in via gh
grave scan --preset ancient # GitHub's oldest surviving repos
grave random # surprise me — a random preset
grave dig torvalds/linux --open # deep-dive, then open in the browser
grave morgue # dead forks and abandoned mirrors
Ways to dig
- 28 curated presets across 5 themes — archaeology, dead languages, eras, internet culture, and weird science. Browse them with
grave presets. - Era search — named time windows:
--era y2k,dotcom,web2.0,early-github,pre-mobile. - Abandonment filters —
--abandoned 10(untouched 10+ years),--dead-since 2015. - Dead-language hunts — Perl, Pascal, COBOL, Tcl, Smalltalk, ActionScript, and other survivors.
- Thematic lenses —
grave morgue(dead forks, mirrors, 404s) andgrave casket(archived / deprecated / read-only). - Serendipity —
grave randomfor a blind dig,grave rabbit-hole <owner/repo>to find more like something you just unearthed. - Custom queries — mix
--keyword,--created,--language,--stars, and--pushedhowever you like.
Every result is a rich, clickable table; grave dig opens a full panel for a single repo.
Commands
| Command | Description |
|---|---|
grave init |
First-time setup and prerequisite checks |
grave scan |
Search with a preset or custom parameters |
grave dig <owner/repo> |
Deep-dive into a specific repository |
grave random |
Random preset — the archaeology slot machine |
grave rabbit-hole <owner/repo> |
Find repositories similar to one you like |
grave morgue |
Dead forks, mirrors, and abandoned projects |
grave casket |
Archived, deprecated, and read-only repositories |
grave export |
Run a live search and emit JSON / CSV / NDJSON to stdout |
grave presets |
List all 28 curated presets |
Save a dig
GRAVE keeps no database on purpose — if you want to keep a find, pipe it:
grave export --preset dead-lang-cobol --format ndjson > cobol-relics.ndjson
grave export --keyword fractal --abandoned 10 --format csv > fractals.csv
Links
- Source: github.com/ul0gic/grave
- Issues: github.com/ul0gic/grave/issues
- License: MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file grave_cli-3.0.2.tar.gz.
File metadata
- Download URL: grave_cli-3.0.2.tar.gz
- Upload date:
- Size: 2.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0132737211c1b45aa0bd01d1744eac84d6d562d605578d6cf95df30ec4b457a0
|
|
| MD5 |
c43db1663be18281cd874d01c8cf1b56
|
|
| BLAKE2b-256 |
399217d03fbec08e158c7429c170954023346f19c5eba174302244e16976d7e4
|
Provenance
The following attestation bundles were made for grave_cli-3.0.2.tar.gz:
Publisher:
publish.yml on ul0gic/grave
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
grave_cli-3.0.2.tar.gz -
Subject digest:
0132737211c1b45aa0bd01d1744eac84d6d562d605578d6cf95df30ec4b457a0 - Sigstore transparency entry: 1723206742
- Sigstore integration time:
-
Permalink:
ul0gic/grave@8f4f945e0cb7bbc49d8194cccf5ad49eda3630eb -
Branch / Tag:
refs/tags/v3.0.2 - Owner: https://github.com/ul0gic
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@8f4f945e0cb7bbc49d8194cccf5ad49eda3630eb -
Trigger Event:
push
-
Statement type:
File details
Details for the file grave_cli-3.0.2-py3-none-any.whl.
File metadata
- Download URL: grave_cli-3.0.2-py3-none-any.whl
- Upload date:
- Size: 28.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
46a06070b5e7a0259950b4348d885979dc01cd97fac89cffbb9c0e7891453101
|
|
| MD5 |
179102a3de7e190edbd6ee12d1fb8c3f
|
|
| BLAKE2b-256 |
42b5e2f3eec164e3d897c81d5f16d7d29c1d3ade1b9c16679b970a2a37f63f71
|
Provenance
The following attestation bundles were made for grave_cli-3.0.2-py3-none-any.whl:
Publisher:
publish.yml on ul0gic/grave
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
grave_cli-3.0.2-py3-none-any.whl -
Subject digest:
46a06070b5e7a0259950b4348d885979dc01cd97fac89cffbb9c0e7891453101 - Sigstore transparency entry: 1723206805
- Sigstore integration time:
-
Permalink:
ul0gic/grave@8f4f945e0cb7bbc49d8194cccf5ad49eda3630eb -
Branch / Tag:
refs/tags/v3.0.2 - Owner: https://github.com/ul0gic
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@8f4f945e0cb7bbc49d8194cccf5ad49eda3630eb -
Trigger Event:
push
-
Statement type: