Skip to content

ghosthouse7/Repo-lyzer

 
 

Repo-lyzer

Repo-lyzer Logo

Repo-lyzer is a modern, terminal-based CLI tool written in Golang that analyzes GitHub repositories and presents insights in a beautifully formatted, interactive dashboard.


Features

  • Deep Analytics – Repository health, maturity scores, and bus factor.
  • Contribution Friendliness – Assess how easy it is to contribute to a repository using weighted metrics (--contribute flag).
  • Interactive TUI – Fully navigable keyboard-driven menu system.
  • Visual Data – Language breakdown bars and horizontal commit graphs.
  • File Explorer – Browse repository structures directly in the dashboard.
  • Multi-Format Export – Save reports as JSON, Markdown, CSV, or HTML.

Quick Start

Installation

go install [github.com/agnivo988/Repo-lyzer@v1.0.6](https://github.com/agnivo988/Repo-lyzer@v1.0.6)
repo-lyzer

Basic Usage

# Get a 5-line quick summary
repo-lyzer summary golang/go

# Run full interactive analysis
repo-lyzer analyze microsoft/vscode

# Run analysis with contribution scoring enabled
# Run analysis with contribution scoring enabled
repo-lyzer analyze microsoft/vscode --contribute

Docker Usage

You can run repo-lyzer using Docker without installing Go. The Docker image uses a non-root user and is optimized for production.

# Build the image
docker build -t repo-lyzer .

# Run the CLI interactively
docker run -it --rm repo-lyzer

Docker Compose (Daemon Mode)

For continuous monitoring and scheduling, you can run the daemon mode using docker-compose:

# Start the daemon
docker compose up -d

# View logs
docker compose logs -f

Environment Variables

You can configure repo-lyzer using environment variables. These will override file-based settings:

  • REPO_LYZER_GITHUB_TOKEN: Your GitHub Personal Access Token
  • REPO_LYZER_INTERVAL: Scheduler polling interval (e.g., 30s, 5m, 1h)
  • REPO_LYZER_LOG_LEVEL: Logging level (debug, info, warn, error)
  • REPO_LYZER_CONFIG_PATH: Override the config file path (defaults to /app/data/settings.json in the container)

The docker-compose.yml mounts a local ./data directory to persist settings and reports.


Architecture Overview

┌────────────────────────────────────────────┐
│               main.go                      │
└────────────────────────────────────────────┘
                    │
                    ▼
┌────────────────────────────────────────────┐
│                 cmd/                       │
└────────────────────────────────────────────┘
                    │
                    ▼
┌────────────────────────────────────────────┐
│             internal/ui/                   │
└────────────────────────────────────────────┘
          │           │           │
          ▼           ▼           ▼
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│   github     │ │   analyzer   │ │   output     │
└──────────────┘ └──────────────┘ └──────────────┘

Documentation

For Contributors

Reference


Maintainers & Contributors

Maintainer: @agnivo988

Aamod007 Aditya8369 agnivo988 Gupta-02 GauravKarakoti Sappymukherjee214 ItsMeArm00n MuktaRedij Kiran95021 Shriii19 KUMARI-SONALIUPADHYAY magic-peach coderabbitai[bot] sahoo-tech Abhijeet-980 Diksha78-bot Shivani-Meena07 ShashankSaga


License

MIT License © 2026 Agniva Mukherjee

About

Repo-lyzer is a developer-focused CLI tool built in Go language that analyzes and compares GitHub repositories to help understand code structure, quality, and changes efficiently. It provides insights like file tree analysis, repository comparison, and actionable metrics, making it easier for developers and recruiters to evaluate projects quickly.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Go 98.8%
  • HTML 1.1%
  • Dockerfile 0.1%