Ever wanted to browse your repos through CLI? Or create a new one without the hassle of opening the browser? Now you can!
This project uses Github v4 API, Github v3 API and Python to provide you with command line interface. Thus you don't have to leave Guake (or you other favourite terminal) in order to create new repo for your next project, or to see URL of you existing projects, or do whatever the API allows you.
Focus of this project is on simplicity - arguments are intuitive and provided as keywords (some flags are also available).
All you have to do (except installing this application, of course) is to register you API key within Github. To do so, navigate to your settings and choose Developer settings
.
There, in Personal access tokens
section, create new token with full rights (you can actually omit rights you know you don't want to use). Copy this token and save it to file
api_key
in project directory. Beware, make sure no one shady gains access to it, as this key enables anyone to do anything with your Github account.
This project requires Python>=3.6
execute in terminal
pip install github-cli-app
or in case you have both python2
and python3
installed
pip3 install github-cli-app
.
It may also occur that you get error like pip not found
, or so. In that case, make sure you have appropriate python-pip
or python3-pip
installed.
If you have and it still doesn't work, execute following command
python -m pip install github-cli-app
or
python3 -m pip install github-cli-app
(for troubleshooting see Installation from PyPI)
- clone this repository (or download and extract release) and navigate to its root
- execute
pip install .
If you want to install only as a user, executepip install --user .
If you want to always use the newest version, executepip install -e .
(or also with user flag). This will allow executinggithub
dynamically, so you can have new functionality with everypull
.
(tick marks implemented features)
execute github
with following options and/or arguments [ this means optional ]
:
-
list-my-repositories
-
list-user-repositories USERNAME
-
create-repository REPOSITORY_NAME [--private] [--description DESCRIPTION]
-
delete-repository REPOSITORY_NAME
-
create-new-project REPOSITORY_NAME PROJECT_NAME
-
create-pull-request REPOSITORY_NAME PR_TITLE PR_HEAD_BRANCH PR_TARGET_BRANCH [PR_BODY]
more to come!
- Michal Polovka @miskopo
This project is in no way affiliated with Github and it's not official part of Github per se (yet).