GitHub commit analyzer with an interactive TUI for tracking committers across multiple repositories.
- Track multiple GitHub repositories in isolated projects
- View commit statistics with committer breakdown
- Interactive terminal UI with keyboard navigation
- Highlight email domains with custom colors
- Tag committers and query their GitHub repos/gists
- User detail view showing repositories and gists
- Open repos/gists directly in browser
- Export data to Markdown with clickable GitHub profile links
- Export comprehensive project reports
- Database backup/export functionality
- Project management (create, switch, backup projects)
go install github.com/thesavant42/gitsome-ng/cmd/yolosint@latestgit clone https://github.com/thesavant42/gitsome-ng.git
cd gitsome-ng
go build -o yolosint ./cmd/yolosintRequires GITHUB_TOKEN environment variable set to a GitHub Personal Access Token.
yolosintThis launches the project selector where you can open existing projects, create new ones, or exit.
yolosint --db myproject.db # Use specific database
yolosint --add-repo owner/repo # Add repository
yolosint --list-repos # List tracked repos
yolosint owner/repo # Legacy single-repo mode| Key | Action |
|---|---|
| Up/Down | Navigate rows |
| Left/Right | Switch repositories / tabs |
| Enter | Open menu / detail view / browser |
| t/T | Tag/untag committer |
| Tab | Switch tabs in detail view |
| Esc | Return from detail view |
| q | Quit |
- Configure Highlight Domains - Color-code email domains
- Add Repository - Track a new GitHub repository
- Query Tagged Users - Fetch repos/gists for tagged users
- Switch Project - Open a different database
- Export Tab to Markdown - Save current view as Markdown
- Export Database Backup - Copy database file
- Export Project Report - Full project report with all data
- Navigate to a committer and press
tto tag them[x] - Open menu and select "Query Tagged Users"
- Tagged users are scanned and marked
[!]when complete - Press Enter on a scanned user to view their repos/gists
- Press Enter on a repo/gist row to open it in browser
Project databases (.db files) are created in your current working directory.
The original Python implementation is available in the legacy_python/ directory.
When working on TUI components, you MUST follow the Width Management Style Guide. This is the source of truth for all layout and width calculations in the terminal UI.
THE ONE RULE: All content inside borders must be exactly InnerWidth chars wide.
Key requirements:
- All borders use
BorderStyle.Width(ViewportWidth)with NO.Padding() - All dividers use
strings.Repeat("─", InnerWidth) - All selectors use
.Width(InnerWidth) - All padding calculations use
InnerWidth - len(content) - NEVER calculate widths manually
See STYLE_GUIDE.md for complete details, examples, and the audit checklist.
See LICENSE file for details.