/gitty

Contextual information about your git projects, right on the command-line

Primary LanguageGoMIT LicenseMIT

gitty

Latest Release Build Status Go ReportCard GoDoc

gitty is a smart little CLI helper for git projects, that shows you all the relevant issues, pull requests and changes at a quick glance, right on the command-line. It currently supports the GitHub, GitLab, and Gitea APIs.

Screenshot

Installation

Packages

Linux

  • Arch Linux: gitty
  • Nix: nix-env -iA nixpkgs.gitty
  • Packages in Debian & RPM formats

Binaries

  • Binaries for Linux, FreeBSD, OpenBSD, macOS, Windows

From source

Make sure you have a working Go environment (Go 1.17 or higher is required). See the install instructions.

Compiling gitty is easy, simply run:

git clone https://github.com/muesli/gitty.git
cd gitty
go build

Access Tokens

Note: In order to access the APIs of hosting providers like GitHub, GitLab, or Gitea, gitty requires you to provide valid access tokens in an environment variable called GITTY_TOKENS.

You can provide tokens for multiple hosts and services in this format:

github.com=abc123;gitlab.com=xyz890;myhost.tld=...

GitHub

You can create a new token in your profile settings: Developer settings > Personal access tokens > Generate new token

Make sure to enable the repo:status, public_repo, read:user, and read:org permissions in particular.

GitLab

You can create a new token in your profile settings: User Settings > Access Tokens

Make sure to enable the read_user, read_api, and read_repository permissions.

Gitea

You can create a new token in your profile settings: Settings > Applications > Manage Access Tokens

Usage

You can start gitty with either a path or a URL as an argument. If no argument was provided, gitty will operate on the current working directory.

$ gitty /some/repo
$ gitty github.com/some/project
$ gitty https://myhost.tld/some/project

The following flags are supported:

  -max-branch-age int
        Max age of a branch in days to be considered active (default 28)
  -max-branches int
        Max amount of active branches to show (default 10)
  -max-commits int
        Max amount of commits to show (default 10)
  -max-issues int
        Max amount of issues to show (default 10)
  -max-pull-requests int
        Max amount of pull requests to show (default 10)

Open issue or pull request in browser

If you launch gitty with the ID of an issue or pull request, it will open the issue or pull request in your browser:

$ gitty [PATH|URL] 42

Monitoring entire namespaces

gitty also lets you monitor entire namespaces, giving you an overview of all its repositories:

$ gitty --all-projects github.com

Per default it will show the projects of the token owner, but you can also retrieve the projects of other namespaces:

$ gitty --all-projects --namespace muesli github.com

Feedback

Got some feedback or suggestions? Please open an issue or drop me a note!