GH-S(1)

NAME

gh-s โ€” ๐Ÿ”Ž search github repositories interactively

SYNOPSIS

$https://github.com/gennaro-tedesco/gh-s/releases

INFO

392 stars
8 forks
0 views

DESCRIPTION

๐Ÿ”Ž search github repositories interactively

README



PR Go releases

search github repositories interactively

Installation โ€ข Usage โ€ข Feedback

Search GitHub repositories interactively from the command line. Start the prompt and browse the results! The name of that repository ๐Ÿค”? Written in rust, a list of awesome projects...

...well say no more:

gh s -l rust -d list
example_image

Installation

gh extension install gennaro-tedesco/gh-s

This being a gh extension, you of course need gh cli as prerequisite.

Usage

Get started!

gh s

demo

...or do you prefer a full YouTube video on the topic?

Without any argument (or with flags only) gh s starts a prompt to insert the search query; after the search a list of results is shown. Navigate the list to show details, stars counts, URL and more. If instead you want to do all in one line

gh s [search] [flag]

takes one of the following arguments or flags

flagsdescriptionmultipleexample
-E, --emptydo not prompt for name, search by flags onlynogh s -E -l go -l rust
-l, --langnarrow down the search to a specific languageyes (OR)gh s prompt -l go -l lua
-d, --descsearch for keyword in the repository descriptionnogh s neovim -d plugin
-u, --userrestrict the search to a specific usernogh s lsp -u neovim
-t, --topicnarrow down the search to specific topicsyes (AND)gh s lsp -t plugin -t neovim
-c, --colourchange colour of the promptnogh s nvim -c magenta
-L, --limitlimit the number of results (default 20)nogh s nvim -L 3
-h, --helpshow the help pagenogh s -h
-V, --versionprint the current versionnogh s -V

The prompt accepts the following navigation commands:

keydescription
arrow keysbrowse results list
/toggle search in results list
enter (<CR>)print selected repository URL to stdout

Search by topic or language only

gh-s allows to skip prompting for a repository name by passing the -E flag; this in turn implies that the query searches against all possible GitHub repositories, which may result in longer response times. Notice furthermore that -E must always be accompanied by at least another non-empty flag. Use with care, however it does allow for some interesting statistics or general curiosity: check the Wiki!

Execute commands

gh-s must be intended as a filter prompt returning the URL of the selection; as such, the best and most flexible way to execute commands with the results is to pipe it into and from stdin/stdout. Have a look at the Wiki for some common examples!

Release versions

Releases are obtained via goreleaser and the available architectures are defined in .goreleaser.yml. To locally test the release workflow

goreleaser check
goreleaser healthcheck
goreleaser release --snapshot --skip=publish --clean

Feedback

If you find this application useful consider awarding it a โญ, it is a great way to give feedback! Otherwise, any additional suggestions or merge request is warmly welcome!

See also the complete family of extensions

  • gh-i to search for github issues with interactive prompt
  • gh-f to snap around your git worfklow with fzf

SEE ALSO

clihub3/4/2026GH-S(1)