Skip to content

PiotrRut/BetterGitCLI

Repository files navigation

BannerImg

Disclaimer: BetterGitCLI is not official GitHub software, nor is it in any way affiliated with GitHub.

BetterGitCli is a third party GitHub CLI made with Python, providing easier access to managing your GitHub account directly from your shell with simple and intuitive UI. It's based on PyGithub which is a wrapper library around the official GitHub REST API.

Configuration

See below for instructions on how to configure BetterGitCLI. Note that Python 3.6 or higher is required to run this program.

GitHub access

In order to grant access to your GitHub account you will need to authenticate with your GitHub access token. You can find instructions on how to obtain it here.

Your token must grant access to "repo", "user", "delete_repo" and "admin:public_key". After generating your token, export it as an environmental variable in your shell πŸ‘‡πŸ»

# bash / zsh
$ export GITHUB_AUTH_TOKEN="token"

# powershell
$env:GITHUB_AUTH_TOKEN = "token"

🚨 BetterGitCLI will never store your access token, and it will only be stored locally on your machine.

Installation

You can either install this program using pip or pipenv, or clone it and run locally with Python. Click on one of the options down below to reveal the instructions πŸ‘‡πŸ»

Install package with pip (preferred)

Install BetterGitCLI using this command:

$ pip install bettergitcli

After installation, you can run it from anywhere in your shell πŸŽ‰

$ bettergitcli

Clone and run locally with Python

If you prefer to clone this repository and run BetterGitCLI locally using your Python interpreter, you can do that as well. Just remember that in this case you will have to install these dependencies manually:

  • PyInquirer, PyGithub, colorama

This can be done easily using the provided requirements.txt file by running this in the project root:

$ pip install -r requirements.txt

After installation, run the program inside the /better_git_cli directory:

$ python main.py

Usage

To navigate the UI, use your arrow keys (up and down) and select options using Enter. You can also exit the program at any time by using the ^C (Ctrl+C) combination, or by choosing the "Exit to shell" option.

Via the UI, you can view all your repositories, manage branches and deployments, manage your personal user details and much more! Current functions include:

  • Repository management
    • View and edit repository details, such as the description, default branches, visibility and more!
    • Delete repositories
    • Create a new repository
  • User management
    • View and edit your personal details like your name, location or bio
  • SSH keys management
    • View, create and delete SSH keys linked to your GitHub account
  • Language statistics
    • See what your top languages are

Preview πŸ“²

Some screenshots of BetterGitCLI in action πŸ‘‡

Main Menu Manage personal details Manage a specific repo
Main menu Details management Screenshot 2021-04-02 at 1 55 52 pm

Changelog

You can view the changelog here.

Contributing

All contributions to add new features, fix any bugs (if you spot any) or make the code better or more efficient are more than welcome - please raise an issue before you open a pull request to make sure we're not working on the same feature/bugfix! πŸ’«