Skip to content
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Gists in the shell

Build Status License

With gisht, you can run scripts published as GitHub (or other) gists with a single command::

gisht Xion/git-today

Behind the scenes, gisht will fetch the gist, cache it locally, and run its code. Magic!



    -c, --cached     Operate only on gists available locally
    -f, --fetch      Always fetch the gist from a remote host
    -v, --verbose    Increase logging verbosity
    -q, --quiet      Decrease logging verbosity
    -H, --help       Prints help information
    -V, --version    Prints version information

    run      Run the specified gist [aliases: exec]
    which    Output the path to gist's binary
    print    Print the source code of gist's binary [aliases: cat]
    open     Open the gist's webpage [aliases: show]
    info     Display summary information about the gist [aliases: stat]
    hosts    List supported gist hosts (services) [aliases: services]
    help     Prints this message or the help of the given subcommand(s)

Hint: `gisht run GIST` can be shortened to just `gisht GIST`.
If you want to pass arguments, put them after `--` (two dashes), like this:

	gisht Octocat/greet -- "Hello world" --cheerful


Binaries are available for Linux and Mac.

If you use Mac OS X, gisht can be installed with Homebrew:

brew tap Xion/gisht
brew install gisht

Windows binaries coming soon.


gisht is written in Rust. Besides the Rust toolchain, build requirements include:

  • cmake 2.8.11 or higher (for compiling libgit2)
  • OpenSSL 1.1 (for hyper)
    • on Linux, it likely means libssl1.1, libssl-dev, and/or equivalent package(s) must be installed
    • on OSX, besides the relevant package, it may also require adjusting some environment variables
    • (Windows unknown)
  • Some Linux setups may require installing of libssh-dev and pkg-config.

Additionally, the Python-based Invoke task runner is used for automation. It is recommended you install it inside a Python virtualenv. e.g.:

$ virtualenv ~/venv/gisht && source ~/venv/gisht/bin/activate
$ pip install -r -requirements-dev.txt

Then you can use:

$ inv

to build the binary and run tests.

You can’t perform that action at this time.