ghi
GitHub Interface - a minimal command line tool
Description
Simple command line tool created to automate the repetative GitHub operations I perform regularly.
Installation
Developer (you want to contribute)
If you'd like to contribute to the repo:
- clone down the repo
```sh
git clone git@github.com:phillipalexander/ghi.git
```
- cd to the root directory of the project
```sh
cd ./ghi
```
- use npm-link to create a local link to the github repo so that you can develop on it more effectively
```sh
npm link
```
- start hacking!
Basic (you just want it to work)
If you're not insterested in contributing right now, just use npm to install ghi:
$ npm install -g ghi
Configuration
To use the ghi tool, you must configure the config.json file in the root directory. To do so, run any of the commands below and follow the instructions when prompted.
The default configuration file contains the following:
Commands
Configuration Commands
c (configure)
Usage: cDescription: Configure: edit application settingsExample: ghi cOptions: -h, --help output usage information -V, --version output the version number
Repo Commands
rc (repo create)
Usage: rc <orgname/reponame>Description: Repo Create: Create a repo on GitHubExample: ghi rc macroscope/blogOptions: -h, --help output usage information -V, --version output the version number
Things to Note:
- If
settings.openurls = true
inconfig.json
, when runningghi rc <orgname>/reponame>
the resulting github page will be opened automatically in your default browser. - If you replace
"WEBHOOK_CONFIG_OBJECT"
inconfig.json
with a properly formated GitHub webhook configuration object, when runningghi rc <orgname>/reponame>
that webhook will automatically be set on all repos created within orgs.
rd (repo destroy)
Usage: rd <orgname/reponame>Description: Repo Destroy: Destroy a repo on GitHubExample: ghi rd macroscope/blogOptions: -h, --help output usage information -V, --version output the version number
rhc (repo hook add)
Usage: rhc <orgname/reponame>Description: Repo Hook Create: Add webhook defined in config.json to a repoExample: ghi rhc macroscope/blogOptions: -h, --help output usage information -V, --version output the version number
rpn (repo patch name)
Usage: rpn [options]Description: Repo Patch Name: change the name of an existing repoExample: ghi rpn -o "macroscope" -r "venus" -p "mars"Options: -h, --help output usage information -o, --org <orgname> GitHub OrgName -r, --repo <reponame> GitHub RepoName -p, --patch <patchdata> Updated RepoName
rs (repo sync)
Usage: rs [options]Description: Repo Sync: sync a repo across owners using force pushExample: ghi rs -s "macroscope" -t "phillipalexander" -r "mars" Options: -h, --help output usage information -s, --ownersource <ownersource> GitHub Source Owner -t, --ownertarget <ownertarget> GitHub Target Owner -r, --reponame <reponame> RepoName
Team Commands
tua (team user add)
Usage: tua [options]Description: Team User Add: Add a GitHub user to an existing teamExample: ghi tua -o "macroscope" -t "awesome force" -u "jasper"Options: -h, --help output usage information -o, --org <orgname> GitHub OrgName -t, --team <teamname> GitHub TeamName -u, --user <username> GitHub UserName
tra (team repo add)
Usage: tra [options]Description: Team Repo Add: Add a GitHub repo to an existing teamExample: ghi tra -o "macroscope" -t "awesome force" -r "blog"Options: -h, --help output usage information -o, --org <orgname> GitHub OrgName -t, --team <teamname> GitHub TeamName -u, --repo <reponame> GitHub RepoName
Org Commands
ogt (team get all)
Usage: ogt <orgname>Description: Org Get Teams: Get the first 100 teams associated with an OrgExample: ghi ogt macroscopeOptions: -h, --help output usage information -V, --version output the version number
ogr (org get repos)
Usage: ogr <orgname>Description: Org Get Repos: Get the first 100 repos associated with an OrgExample: ghi ogr macroscopeOptions: -h, --help output usage information -V, --version output the version number
For additional usage instructions, run
ghi --help
License
Copyright (c) 2014 Phillip Alexander