@@ -10,19 +10,23 @@ Your abandoned repos deserve a proper funeral.
1010
1111---
1212
13- Paste a public GitHub URL. Get a shareable ** Certificate of Death** — algorithmic cause of death, last commit as last words, repo age, and exportable graphics. No signup. No account. Completely free.
13+ Paste a public GitHub URL ** or ** a GitHub username . Get a shareable ** Certificate of Death** — algorithmic cause of death, last commit as last words, repo age, and exportable graphics. Or run an autopsy across an entire user's public repos and get a Graveyard Report . No signup. No account. Completely free.
1414
15- ## Embed your dead repo
15+ ## Two ways to autopsy
1616
17- Got a dead repo? Add the badge to your README:
17+ - ** Certify a Repo** — paste a GitHub URL, get a certificate of death for that single repo
18+ - ** Examine a Profile** — paste a username, get a graveyard report card with every dead, struggling, and alive repo, plus a README badge you can embed
1819
19- [ ![ 🪦 declared dead ] ( https://img.shields.io/badge/%F0%9F%AA%A6%20declared%20dead-view%20certificate-555?style=for-the-badge&labelColor=cc0000 )] ( https://commitmentissues.dev )
20+ ## Embed your graveyard
2021
21- ``` markdown
22- [ ![ 🪦 declared dead] ( https://img.shields.io/badge/%F0%9F%AA%A6%20declared%20dead-view%20certificate-555?style=for-the-badge&labelColor=cc0000 )] ( https://commitmentissues.dev/?repo=YOUR_OWNER/YOUR_REPO )
22+ Paste the generated `  ` markdown in your README and you'll get a live-updating badge:
23+
24+ ```
25+ 🪦 GITHUB REPO GRAVEYARD
26+ 94 DEAD · 35 STRUGGLING · 14 ALIVE
2327```
2428
25- The badge and full certificate embed markdown are generated automatically on the certificate page — just hit ** Copy** after analyzing your repo .
29+ The badge and full certificate embed markdown are generated automatically on the certificate/profile page — just hit ** Copy** .
2630
2731## Screenshots
2832
@@ -35,13 +39,13 @@ The badge and full certificate embed markdown are generated automatically on the
3539## Features
3640
3741- ** Certificate of Death** — A4 layout with cause of death, last words, repo age, stars, forks, and language
42+ - ** Profile Graveyard Report** — scan any user's public repos, grouped by Dead / Struggling / Alive, with per-repo descriptions and certificates
43+ - ** Field Record badge** — dynamic SVG for READMEs showing live dead/struggling/alive counts for a user
3844- ** Algorithmic scoring** — ` src/lib/scoring.ts ` computes a death index from commit activity, archive status, issue count, and time since last push
3945- ** Export** — PNG downloads in multiple aspect ratios: A4, Instagram (4:5 and 1:1), X/Twitter (16:9), Facebook feed, and Stories (9:16)
4046- ** Mobile share** — Native share sheet on iOS/Android with a story-formatted image
41- - ** README badge** — Embed a ` 🪦 DECLARED DEAD | VIEW CERTIFICATE ` shields.io badge linking back to the certificate
4247- ** Certificate embed** — Full certificate image via ` /api/certificate-image/[owner]/[repo] ` for GitHub READMEs
43- - ** Recently Buried** — Live scrolling feed of the latest public burials
44- - ** Famous Casualties** — Curated graveyard of famously abandoned repos
48+ - ** Recently Buried** — Live scrolling feed of the latest burials, interleaved with a curated Hall of Shame
4549- ** Rate limiting** — Redis-backed per-IP limiting with graceful fallback
4650- ** Timeout + race condition handling** — AbortController on every GitHub API call
4751
@@ -106,32 +110,40 @@ The scoring algorithm weighs: time since last commit, archive status, open issue
106110```
107111src/
108112├── app/
109- │ ├── page.tsx ← homepage
113+ │ ├── page.tsx ← homepage (repo + profile scan)
110114│ ├── about/page.tsx ← /about
115+ │ ├── legal/page.tsx ← /legal
116+ │ ├── user/[username]/page.tsx ← permalink to a profile graveyard
111117│ ├── layout.tsx ← root layout, fonts, analytics, JSON-LD
112118│ └── api/
113- │ ├── repo/route.ts ← main analysis endpoint
119+ │ ├── repo/route.ts ← single-repo analysis
120+ │ ├── user/route.ts ← user profile scan
114121│ ├── recent/route.ts ← recently buried feed
122+ │ ├── recent-profiles/ ← top-ticker profile feed
115123│ ├── random/route.ts ← random dead repo picker
116- │ ├── stats/route.ts ← buried counter
117- │ ├── badge/[owner]/[repo]/ ← shields.io-compatible badge SVG
124+ │ ├── stats/route.ts ← buried + profiles counter
125+ │ ├── badge/route.ts ← dynamic graveyard SVG (for READMEs)
126+ │ ├── badge/[owner]/[repo]/ ← single-repo shields.io badge
118127│ └── certificate-image/[owner]/[repo]/ ← OG image for README embeds
119128├── components/
120- │ ├── CertificateCard.tsx ← certificate view + all export/share logic
121- │ ├── CertificateFixed.tsx ← the actual certificate layout (A4)
122- │ ├── SearchForm.tsx ← URL input + random button
129+ │ ├── CertificateCard.tsx ← certificate view + export/share logic
130+ │ ├── CertificateFixed.tsx ← certificate layout (A4)
131+ │ ├── SearchForm.tsx ← URL input + rotating placeholder
132+ │ ├── UserDashboard.tsx ← profile graveyard (Dead/Struggling/Alive)
133+ │ ├── ReadmeBadge.tsx ← README badge preview + copy
123134│ ├── RecentlyBuried.tsx ← scrolling marquee feed
124- │ ├── Leaderboard .tsx ← Famous Casualties graveyard
125- │ ├── LoadingState.tsx ← loading skeleton
135+ │ ├── ScannerBanner .tsx ← top-bar profile ticker
136+ │ ├── LoadingState.tsx ← unified loading indicator
126137│ ├── ErrorDisplay.tsx ← error + retry UI
127138│ ├── PageHero.tsx ← shared hero (emoji, title, subtitle)
128- │ ├── SubpageShell.tsx ← shell for /about and future subpages
129- │ └── SiteFooter.tsx ← footer
139+ │ ├── SubpageShell.tsx ← shell for /about, /legal, /user
140+ │ └── SiteFooter.tsx ← fixed bottom footer
130141└── lib/
131142 ├── scoring.ts ← death index + cause of death logic
132143 ├── scoring.test.ts ← scoring unit tests
133144 ├── rateLimit.ts ← Redis-backed rate limiting
134145 ├── recentStore.ts ← recently buried Redis store
146+ ├── hallOfShame.ts ← curated famous dead repos
135147 └── types.ts ← shared TypeScript types
136148```
137149
0 commit comments