GitHub Issues on the command line. Use your $EDITOR, not your browser.



% gem install ghi


Usage: ghi [options]
    -l, --list [state|term|number]
        --search, --show
    -v, --verbose
    -o, --open [title|number]
    -c, --closed, --close [number]
    -e, --edit [number]
    -r, --repo, --repository [name]
    -m, --comment [number|comment]
    -t, --label [number] [label]
        --claim [number]
    -d, --unlabel [number] [label]
    -u, --url [state|number]
    -V, --version
    -h, --help


ghi works simply from within a repository. Some short examples:

ghi -l                    # Lists all open issues
ghi                       # Shorter shorthand for "ghi -l"
ghi -v                    # Lists all open issues, verbosely (includes body)
ghi -lc                   # Lists all closed issues
ghi -l "doesn't work"     # Searches for open issues matching "doesn't work"
ghi -l invalid -c         # Searches for closed issues matching "invalid"
ghi -l1                   # Shows issue 1
ghi -1                    # Shorter shorthand for "ghi -l1"
ghi 1                     # Shorter shorthand still
ghi -o                    # Opens a new issue (in your $EDITOR)
ghi -o "New issue"        # Opens a new issue with the title "New issue"
ghi -o "Title" -m "Body"  # Opens a new issue with specified title and body
ghi -e1                   # Edits issue number 1 (in your $EDITOR)
ghi -e1 -m "New body"     # Edits issue number 1 with the specified body
ghi -c1                   # Closes issue 1
ghi -c1 -m                # Closes issue with comment (from your $EDITOR)
ghi -c1 -m "Comment"      # Closes issue with specified comment
ghi -o1                   # Reopens 1 (accepts comments, too)
ghi -m1                   # Comments on issue 1 (in your $EDITOR)
ghi -t1 "tag"             # Labels issue 1 with "tag"
ghi -d1 "tag"             # Removes the label, "tag"
ghi --claim 1             # Tags issue 1 with your GitHub username
ghi -u                    # Loads issues in your browser.
ghi -u1                   # Loads an issue in your browser.

ghi also works anywhere:

ghi -rghi                 # Your fork of "ghi"
ghi -rstephencelis/ghi    # Mine: "stephencelis/ghi"
ghi stephencelis/ghi      # Shorthand to merely list open.

ghi uses ANSI colors if you use them in git.

ghi looks for a $GHI_PAGER variable for paging.

Always favor SSL by setting it:

git config --global github.ssl true



ghi is not under currently under the control of any gem packaging system. To build, use RubyGems:

% gem build ghi.gemspec
% sudo gem install ghi*.gem