Skip to content

cluzier/repoview

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔭 repoview

A terminal UI for understanding any Git repository at a glance.

Visualize commit history, branch activity, file churn, contributor activity, TODO comments, and stale files — for any local path or GitHub URL.

Go Version License: MIT Built with Bubble Tea Latest Release


✨ Features

Tab What you get
Overview Repo name, path, total commits, contributors, branches, tags (with recent tag names), size, and latest commit
Branches All branches sorted by most-recent commit — shows author, commit age, hash, and ● active badge for branches touched in the last 7 days
Churn Files ranked by commit count with heatmap bars, author counts, and last-modified timestamps
Activity 52-week contribution calendar + contributor leaderboard with commit share and email
Todos Scans for TODO, FIXME, HACK, and XXX across 40+ file types with a badge summary
Stale Files sorted by oldest last-modified — useful for spotting dead code

Works with local paths and remote GitHub URLs. Remote repos are shallow-cloned (last 200 commits) to a temp directory and deleted automatically on exit — including any orphaned dirs from previous crashed sessions. Commit history, churn counts, and activity data will reflect only those commits for large repositories.


🚀 Quick Start

Install via go install

go install github.com/cluzier/repoview@latest

Build from source

git clone https://github.com/cluzier/repoview.git
cd repoview
go build -o repoview .
./repoview

🛠 Requirements

  • Go 1.24+
  • git on your PATH

📖 Usage

repoview                 # launch the TUI
repoview --version       # print version and exit

On launch, enter a local path or GitHub URL and press Enter:

~/projects/my-app
/absolute/path/to/repo
https://github.com/owner/repo
git@github.com:owner/repo.git

Paths starting with ~ are expanded to your home directory on all platforms.


⌨️ Keybindings

Navigation

Key Action
or Tab Switch tabs
or k j Scroll the table
g / G Jump to first / last row
Esc Clear filter → back to input screen
q / Ctrl+C Quit

Within list tabs (Churn, Todos, Stale)

Key Action
/ Filter list by filename
o / Enter Open selected file in the built-in pager
y Copy selected file path to clipboard
r Refresh analysis

q / Ctrl+C / Esc all work during loading — the app is never frozen.

File pager

Key Action
Scroll line by line
PgUp PgDn Scroll page by page
q / Esc Close pager, return to list

🗂 Project Structure

repoview/
├── main.go                        # Entry point — version flag + Bubble Tea bootstrap
└── internal/
    ├── git_analysis/
    │   └── analysis.go            # All repository data gathering via exec git
    ├── metrics/
    │   └── metrics.go             # Risk scoring and TODO/FIXME scanner (word-boundary aware)
    ├── utils/
    │   └── utils.go               # Shared formatting helpers (bytes, time, truncate)
    └── tui/
        ├── styles.go              # Palette and every lipgloss style — retheme here
        ├── helpers.go             # Blob animation, path utils, cloneRepo, runAnalysis
        ├── model.go               # Model struct, New(), Init(), Update(), state helpers
        ├── view.go                # View(), screen renderers, renderTable()
        └── tabs.go                # One render function per tab
        └── keys.go                # Key bindings (bubbles/key + bubbles/help)

🧱 Built With

  • Bubble Tea — TUI framework
  • Bubbles — UI components (table, spinner, viewport/pager, text input, help)
  • Lip Gloss — terminal styling and layout; adaptive colors for light/dark terminals

🤝 Contributing

Contributions, issues, and feature requests are welcome! See CONTRIBUTING.md for a guide to the codebase and how to get started.


📄 License

MIT © cluzier

About

A terminal UI for Git repository insights: branch activity, file churn, contributor leaderboards, TODO scanning, and stale file detection — for any local path or GitHub URL.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Contributors

Languages