Official death certificates for abandoned GitHub repositories.
Live: commitmentissues.dev
Paste a public GitHub repository URL and get a shareable Certificate of Death: a tongue-in-cheek summary of how "dead" the repo looks, with a score, cause of death, last words, and exportable graphics for social posts. No account required.
- Certificate of Death - A4-style layout with cause, last words, repo age, and derived stats
- Exports - Multiple aspect ratios (feed, square, story-style) for common social platforms
- Mobile share - Native share uses a tall story-friendly format on small screens to reduce bad crops
- Hall of Shame - Curated leaderboard of famously abandoned repositories
- Recently Buried - Live feed of the latest public burials (repo, cause, score, time)
| Step | What happens |
|---|---|
| Input | You provide a public repo URL |
| Data | The app reads public metadata from the GitHub API |
| Score | A death score and narrative (cause, last words) are computed in src/lib/scoring.ts |
| Output | You get an on-screen certificate and optional image exports |
Hall of Shame entries are curated for recognizable repos and fast first paint; Recently Buried reflects real recent usage.
Home:
Certificate:
About:
- No login required
- Only public GitHub data is used
- Recently Buried stores recent public burial entries (repo, cause, score, timestamp)
- Anonymous aggregate analytics may be used for product metrics
| Framework | Next.js 14 (App Router) |
| Fonts | UnifrakturMaguntia, Courier Prime, Inter |
| Hosting | Vercel |
| Storage | Upstash Redis (usage counters and recent burials) |
| Data | GitHub public API |
git clone https://github.com/dotsystemsdevs/commitmentissues.git
cd commitmentissues
npm install
npm run devOpen http://localhost:3000.
Optional: add a GitHub token to raise API rate limits.
GITHUB_TOKEN=ghp_yourtokenCreate a token under GitHub Settings -> Developer settings -> Personal access tokens. Fine-grained tokens work if you limit scope to what this app needs; classic tokens are also fine for local dev.
npm test- Read
.github/CONTRIBUTING.mdbefore opening a PR - Use the issue and PR templates
- CI runs lint, tests, and build on pull requests to
master
src/
+-- app/
¦ +-- page.tsx
¦ +-- about/
¦ +-- terms/
¦ +-- api/
¦ +-- repo/
¦ +-- stats/
¦ +-- recent/
+-- components/
¦ +-- CertificateCard.tsx
¦ +-- Leaderboard.tsx
¦ +-- SearchForm.tsx
¦ +-- LoadingState.tsx
+-- lib/
+-- scoring.ts
+-- rateLimit.ts
+-- recentStore.ts
+-- types.ts
Scoring logic lives in src/lib/scoring.ts so it stays easy to test and change.
- Release notes:
docs/releases/ - Screenshots:
docs/screenshots/ - Repository conventions:
docs/repository-conventions.md
MIT - see repository license file.
Built by Dot Systems.
A local MV3 extension is included under extension/.
- Open
chrome://extensions/ - Enable Developer mode
- Click Load unpacked
- Select the repository folder
extension/
- Open a GitHub repo root page such as
https://github.com/vercel/next.js - Verify a tombstone badge appears near the repo header
- Click the badge to open the full certificate on
commitmentissues.dev - Navigate to another repo without full reload; verify no duplicate badge appears
If the API is rate-limited or unavailable, the badge falls back to Reaper busy.


