A terminal user interface (TUI) tool for managing GitHub repositories at scale. Visualize, filter, and batch archive repositories.
- Visual Dashboard - Interactive TUI showing all repositories with status indicators
- Smart Filtering - Filter by age, stars, forks, language, visibility
- Archive Detection - Automatically identifies archive candidates based on heuristics
- Batch Operations - Mark and archive multiple repositories at once
- Search - Real-time search filtering by repository name
- Export - Export marked repositories to JSON for documentation
- Go 1.21+
- GitHub CLI (
gh) installed and authenticated
git clone https://github.com/llbbl/repjan.git
cd repjan
go build -o repjan ./cmd/repjan# Audit your own repositories
repjan
# Audit an organization
repjan --owner acme-corp
| Key | Action |
|---|---|
j / k / ↑ / ↓ |
Navigate list |
g / G |
Go to top / bottom |
/ |
Search by name |
Enter |
View repository details |
q |
Quit |
? |
Show help |
| Key | Action |
|---|---|
a |
Show all repositories |
o |
Show old (365+ days inactive) |
n |
Show no stars |
f |
Show forks only |
l |
Filter by language |
p |
Show private only |
| Key | Action |
|---|---|
1 |
Sort by name |
2 |
Sort by activity |
3 |
Sort by stars |
4 |
Sort by language |
| Key | Action |
|---|---|
Space |
Mark/unmark for archiving |
Shift+A |
Mark all visible |
Shift+U |
Unmark all |
a |
Archive marked repos (when marked) |
e |
Export marked to JSON |
Repositories are flagged as archive candidates based on:
- Age: No activity in 1+ years (or 2+ years)
- Engagement: Zero stars and zero forks
- Fork Status: Stale forks (180+ days inactive)
- Language: Legacy language + inactivity (PHP, CoffeeScript, Perl, etc.)
| Icon | Status |
|---|---|
● (green) |
Active repository |
⚠ (yellow) |
Archive candidate |
□ (gray) |
Already archived |
Exported JSON includes:
{
"exported_at": "2026-01-28T10:30:00Z",
"owner": "username",
"total_marked": 12,
"repositories": [
{
"name": "old-repo",
"full_name": "username/old-repo",
"stars": 0,
"forks": 0,
"days_since_activity": 823,
"reason": "No activity in 2+ years; No community engagement",
"language": "PHP",
"last_push": "2023-02-15T12:00:00Z",
"is_fork": false,
"is_private": false
}
]
}FSL-1.1-MIT - Functional Source License with MIT future license.
Copyright 2026 Logan Lindquist Land