node package manager

Introducing npm Enterprise add-ons. Integrate third-party dev tools into npm…

gh

GitHub command line tools.

Node GH

All the power of GitHub in your terminal.

[sudo] npm install -g gh
gh [command] [payload] [--flags]

In order to sucessfully run this project you must have NodeJS >= v0.12.0 installed.

gh help
  • List all comands options.

gh help --all ```

  • List specific command options.

gh help ```

Option Usage Type
--verbose Optional Boolean
--insane Optional Boolean
--no-hooks Optional Boolean

The verbose flag is useful for debugging issues. The insane flag is a more complete verbose flag, which leaks more privacy sensitive data by default.

gh pull-request

Alias: gh pr

Option Usage Type
-u, --user Required String
-I, --info Required Boolean
-n, --number Required String
-r, --repo Optional String
-u, --user Optional String
Option Usage Type
-l, --list Required Boolean
-a, --all Optional Boolean
-O, --org Optional String
-m, --me Optional Boolean
-d, --detailed Optional Boolean
--direction Optional [asc, desc]
-b, --branch Optional String
--remote Optional String
-r, --repo Optional String
--sort Optional [created, updated, popularity, long-running, complexity]
-S, --state Optional [open, closed]
-u, --user Optional String
  • Shortcut for listing open pull requests for the current repository.

gh pr ```

  • Get information about a pull request.

gh pr --info number ```

  • List open pull requests for all branches from all your repositories.

gh pr --list --all ```

  • List open pull requests for all branches in all repositories belonging to the "github" organization.

gh pr --list --all --org github ```

  • List open pull requests sent by logged user on current repository.

gh pr --list --me ```

  • List open pull requests with link and content.

gh pr --list --detailed ```

  • List open pull requests for a branch.

gh pr --list --branch master ```

  • List open pull requests and sort them by popularity (comment count).

gh pr --list --sort popularity ```

  • List open pull requests and sort them by asc long-running (old but still active).

gh pr --list --sort long-running --direction asc ```

  • List open pull requests and sort them by complexity (complexity is calculated based on number of additions, deletions, changed files, comments and review comments).

gh pr --list --sort complexity ```

Option Usage Type
-f, --fetch Required Boolean
-n, --number Required Number
-M, --merge Optional Boolean
-R, --rebase Optional Boolean
--remote Optional String
-r, --repo Optional String
-u, --user Optional String
  • Shortcut for fetching pull request and checkout into a new branch pr-1.

gh pr 1 ```

  • Fech pull request rebasing or merging into the current branch.

gh pr 1 --fetch --rebase gh pr 1 --fetch --merge ```

Option Usage Type
-M, --merge Required Boolean
-R, --rebase Required Boolean
-n, --number Optional Number
-b, --branch Optional String
--remote Optional String
-r, --repo Optional String
-u, --user Optional String

Omitting --number will try to guess the pull number from branch name e.g. pr-1 results in --number 1. Omitting --branch will merge or rebase into config.default_branch.

  • Merge or rebase pull request into a branch.

gh pr 1 --fetch --merge ```

```

gh pr 1 --fetch --rebase ```

  • Merge or rebase pull request into branch dev.

gh pr 1 --fetch --rebase --branch dev ```

```

gh pr 1 --fetch --merge --branch dev ```

Option Usage Type
-c, --comment Required String
-n, --number Required Number
--remote Optional String
-r, --repo Optional String
-u, --user Optional String
  • Comment on a pull request.

gh pr 1 --comment "Merged, thank you!" ```

Option Usage Type
--fwd Required String
-n, --number Required Number

Omitting a value for --fwd fallbacks to the default_pr_forwarder key found in your config file.

  • Forward a pull request to another reviewer.

gh pr 1 --fwd username ```

Option Usage Type
-o, --open Required Boolean
-C, --close Required Boolean
-n, --number Required Number
--remote Optional String
-r, --repo Optional String
-u, --user Optional String
  • Open a pull request.

gh pr 1 --open ```

  • Close a pull request.

gh pr 1 --close ```

  • Close multiple pull requests.

gh pr --close --number 1 --number 2 ```

  • Open multiple pull requests.

gh pr --open --number 1 --number 2 ```

  • Open or close a pull request that you've sent to someone.

gh pr 1 --close --user eduardolundgren ```

Option Usage Type
-s, --submit Required String
-b, --branch Optional String
-D, --description Optional String
-i, --issue Optional Number
-r, --repo Optional String
-t, --title Optional String

Omitting a value for --submit fallbacks to the default_pr_reviewer key found in your config file. Omitting --title will submit a pull request using the last commit message as title.

  • Submit a pull request using the current branch.

gh pr --submit eduardolundgren --title 'Fix #32' --description 'Awesome fix' ```

  • Submit a pull request using the current branch to dev branch.

gh pr --submit eduardolundgren --branch dev ```

  • Submit a pull request from a issue.

gh pr --submit eduardolundgren --issue 150 ```

Option Usage Type
-B, --browser Required Boolean
-n, --number Required Number
-u, --user Optional String
-r, --repo Optional String
  • Open GitHub pull request page in the browser.

gh pr 100 --browser ```

gh notification

Alias: gh nt

Option Usage Type
-l, --latest Required Boolean
--remote Optional String
-r, --repo Optional String
-u, --user Optional String
  • Shortcut for displaying the latest activities on the current repository.

gh nt ```

  • Display the latest activities on a certain repository.

gh nt --latest --user eduardolundgren --repo node-gh ```

Option Usage Type
-w, --watch Required Boolean
--remote Optional String
-r, --repo Optional String
-u, --user Optional String
  • Watch for any activity on the current repository.

gh nt --watch ```

  • Watch for any activity on a certain repository.

gh nt --watch --user eduardolundgren --repo node-gh ```

gh issue

Alias: gh is

Option Usage Type
-N, --new Required Boolean
-t, --title Required String
-A, --assignee Optional String
-L, --label Optional String
-m, --message Optional String
--remote Optional String
-r, --repo Optional String
-u, --user Optional String
  • Shortcut for creating a new issue on the current repository.

gh is 'Node GH rocks!' 'Body with Markdown support' ```

  • Create a new issue on a certain repository.

gh is --new --title 'Node GH rocks!' --message 'Body with Markdown support' --user eduardolundgren --repo node-gh ```

  • Create a new issue with labels.

gh is --new --title 'Node GH rocks!' --label bug,question,test ```

  • Create a new issue and assign it to someone.

gh is --new --title 'Node GH rocks!' --assignee zenorocha ```

Option Usage Type
-c, --comment Required String
-n, --number Required Number
--remote Optional String
-r, --repo Optional String
-u, --user Optional String
  • Comment on an issue of the current repository.

gh is 1 --comment 'Node GH rocks!' ```

  • Comment on an issue of a certain repository.

gh is 1 --comment 'Node GH rocks!' --user eduardolundgren --repo node-gh ```

Option Usage Type
-o, --open Required Boolean
-C, --close Required Boolean
-n, --number Required Number
--remote Optional String
-r, --repo Optional String
-u, --user Optional String
  • Open an issue.

gh is 1 --open ```

  • Close an issue.

gh is 1 --close ```

  • Close multiple issues.

gh is --close --number 1 --number 2 ```

  • Open multiple issues.

gh is --open --number 1 --number 2 ```

  • Open or close an issue that you've sent to someone.

gh is 1 --close --user eduardolundgren ```

Option Usage Type
-l, --list Required Boolean
-a, --all Optional Boolean
-A, --assignee Optional String
-d, --detailed Optional Boolean
-L, --label Optional String
-M, --milestone Optional [Number, String]
--remote Optional String
-r, --repo Optional String
-S, --state Optional [open, closed]
-u, --user Optional String
  • Shortcut for listing all issues on the current repository.

gh is ```

  • List all issues from all repositories.

gh is --list --all ```

  • List issues assigned to someone.

gh is --list --assignee zenorocha ```

  • List issues with link and content.

gh is --list --detailed ```

  • List only closed issues on the current repository.

gh is --list --state closed ```

  • List issues filtered by milestone.

gh is --list --milestone 1 ```

  • List issues that contains labels todo and bug.

gh is --list --label todo,bug ```

  • List all issues on a certain repository.

gh is --list --user eduardolundgren --repo node-gh ```

Option Usage Type
-B, --browser Required Boolean
-n, --number Required Number
-u, --user Optional String
-r, --repo Optional String
  • Shortcut for opening GitHub issue page in the browser.

gh is 100 ```

  • Open GitHub issue page in the browser.

gh is 100 --browser ```

Option Usage Type
-s, --search Required Boolean
-a, --all Optional Boolean
-d, --detailed Optional Boolean
-r, --repo Optional String
-u, --user Optional String
  • Search issues in current repository

gh is --search 'term' ```

  • Search issues in all repositories for a user

gh is --all --user node-gh --search 'term' ```

  • Search issues in a repository for a user

gh is --user node-gh --repo gh --search 'term' ```

  • Search issues in a repository for a user with link and content

gh is --user node-gh --repo gh --search 'term' ```

  • Search issues with github filters

gh is --user node-gh --repo gh --search 'updated:<=2013-05-24' ```

gh repo

Alias: gh re

Option Usage Type
-B, --browser Required Boolean
-u, --user Optional String
-r, --repo Optional String
  • Shortcut for opening the GitHub repository page in the browser.

gh re ```

  • Open GitHub repository page in the browser.

gh re --browser --user eduardolundgren --repo node-gh ```

Option Usage Type
-l, --list Required Boolean
-d, --detailed Optional Boolean
-u, --user Optional String
-t, --type Optional [all, owner, public, private, member]
  • List all repositories.

gh re --list ```

  • List all private repositories.

gh re --list --type private ```

  • List all repositories from someone.

gh re --list --user zenorocha ```

Option Usage Type
-N, --new Required String
--organization Optional String
-c, --clone Optional Boolean
-t, --type Optional [private]
--init Optional Boolean
--gitignore Optional String
--homepage Optional String
--description Optional String
  • Create a new GitHub repository and clone on the current directory.

gh re --new foo --clone ```

  • Create a new GitHub repository for an organization.

gh re --new foo --organization node-gh ```

  • Create a new GitHub repository using .gitignore template for Ruby.

gh re --new gemified --gitignore Ruby ```

  • Create a new private repository on GitHub, initializing it with a initial commit of the README.

gh re --new foo --init --type private ```

Option Usage Type
-f, --fork Required String
-u, --user Required String
-O, --organization Optional Boolean
  • Fork a GitHub repository.

gh re --fork repo --user user ```

  • Fork a GitHub repository into the node-gh organization.

gh re --fork repo --user user --organization node-gh ```

Option Usage Type
-D, --delete Required String
-u, --user Required String
  • Delete a repository of the logged user.

gh re --delete foo ```

gh gists

Alias: gh gi

Option Usage Type
-B, --browser Required Boolean
-u, --user Optional String
-i, --id Optional String
  • Shortcut for opening your Gists in the browser.

gh gi ```

  • Open a Gist in the browser.

gh gi --browser --id 5991877 ```

Option Usage Type
-l, --list Required Boolean
-u, --user Optional String
  • List all gists.

gh gi --list ```

  • List all gists from someone.

gh gi --list --user brunocoelho ```

Option Usage Type
-N, --new Required String
-c, --content Optional String
-d, --description Optional String
-p, --private Optional Boolean
  • Create a Gist hello containing "Hello World".

gh gi --new hello --content "Hello World!" ```

  • Create a private Gist hello containing "Hello World".

gh gi --new hello --content "Hello World!" --private ```

Option Usage Type
-f, --fork Required String
  • Fork a Gist.

gh gi --fork 5444883 ```

Option Usage Type
-D, --delete Required String
  • Delete a Gist.

gh gi --delete 4252323 ```

  • Delete multiple Gists.

gh gi --delete 4252321 --delete 4252322 ```

gh user

Alias: gh us

Option Usage Type
-l, --login Required Boolean
-L, --logout Required Boolean
  • Login or show current logged in GitHub user.

gh user --login ```

  • Logout current GitHub account.

gh user --logout ```

Option Usage Type
-w, --whoami Required Boolean
  • Prints your username to stdout.

gh user --whoami ```

gh alias

Alias: gh al

Option Usage Type
-l, --list Required Boolean
  • Shortcut for listing aliases.

gh alias ```

  • List aliases.

gh alias --list ```

Option Usage Type
-a, --add Required String
-u, --user Required String
  • Create alias for username.

gh alias --add zeno --user zenorocha ```

Option Usage Type
-r, --remove Required String
  • Remove alias.

gh alias --remove zeno ```

There are some pretty useful configurations that you can set on .gh.json. This file can be found under home directory (on MacOSx: /Users/yourName/.gh.json on Windows: C:\\Users\yourName\.gh.json).

You can also set per-project configurations by adding a .gh.json file in your project's root folder and overriding existing keys.

"api": { "host": "api.github.com", "protocol": "https", "version": "3.0.0", "pathPrefix": null } ```

  • Set default branch and remote.

"default_branch": "master", "default_remote": "origin" ```

"default_pr_forwarder": "", "default_pr_reviewer": "" ```

  • GitHub data filled once you log in.

"github_token": "", "github_user": "" ```

  • Run automated tasks before or after a certain command.

"hooks": { "pull-request": { "merge": { "before": [{"cmd": "ls -la", "log": true}], "after": [ "gh pr {{options.number}} --comment 'Thank you, pull request merged :D'" ] } } } ```

  • Run automated tasks passing arguments to the commands. Required for prompt commands.

"hooks": { "pull-request": { "merge": { "before": [{"cmd": "foo", "args": ["bar", "qux"]}] } } } ```

  • Set default branch name prefix for PR fetching.

"pull_branch_name_prefix": "pr-" ```

  • Insert signature below issue comment.

"signature": "

:octocat: Sent from GH." ```

If you need to use a custom git command, set the environment variable GH_GIT_COMMAND.

  • GH Gif - A plugin for commenting on pull requests/issues using GIF reactions.
  • GH Travis - A plugin for integrating Travis, a continous integration server.
  • GH Jira - A plugin for integrating Jira, an issue management system.

Feel free to create your own plugins by forking GH Boilerplate.

  • lint Detect errors on the code or its style using JSHint and JSCH
  • complexity Show code complexity analysis summary
  • plato Create advanced code complexity static analysis in HTML
  • unit Run unit tests and create code coverage report in HTML
  • test Run all code quality tools
  • coverage-report Open code coverage report
  • plato-report Open code complexity and static analysis report
  • watch Watch for any changes and run linting and tests

Node GH is maintained by these guys and some awesome contributors.

Eduardo Lundgren Zeno Rocha Henrique Vicente Bruno Coelho

For detailed instructions, check Contributing. Don't miss the source code reports.

For detailed changelog, check Releases.

BSD License