GHI(1)

πŸ“¦
version 1.2.1 Β· 2 versions
, in alpine 3.24

πŸ’… GHI(1) β€” the GHI manual, bestie edition πŸŽ€

okay so you're looking at the GHI(1) page from the GHI Manual and honestly? you're about to have a great time. sit down, grab a boba, let's go 🧚


✨ NAME ✨

ghi β€” the stupid issue tracker

like yes it's called "stupid" and yes it's iconic for that. moving on πŸ’œ


🌸 SYNOPSIS 🌸

ghi [--version] [-p|--paginate|--no-pager] [--help] command [args]
    [ -- [user/]repo]]

that's the whole shape of it. command first, arguments after, and if you wanna point at a specific repo you tack it on at the end after the --. slay. ⭐


πŸ¦‹ DESCRIPTION πŸ¦‹

GHI is the alphabetical acronym for GitHub Issues, and no I will not be explaining why the acronym is alphabetical, that's just the lore. what it actually does is give you an easy way to manage your issues from the comfort of the command line and your editor of choice β€” which is the correct balance of cool and cozy, fr fr. πŸ’–

GHI should look familiar if you're familiar with Git. that's the whole design language, it's giving "you already know this, bestie."

here's the vibe check on how it picks a repo:

  • when you invoke it from a repository directory that has a GitHub remote, GHI will work with that repository's issues by default β€” no extra typing, we love an effortless queen πŸ‘‘
  • otherwise, GHI will work with your global issues, or with a repository you specify in its terminating arguments. so you're never stuck, there's always a fallback 🫢

and the command? it's either the name of a GHI command (scroll down, they're all listed) or an alias. that's it, that's the rule. ✨


πŸ”₯ OPTIONS πŸ”₯

  • --version β€” prints the GHI version number. short, sweet, does exactly what it says πŸ’…
  • --help β€” prints the synopsis and a list of commonly-used commands. and if you name a GHI command with it, this option will bring up the manual page for that command. so --help is basically the "help me help you" flag. see ghi-help(1) for more information πŸ“–
  • -p, --paginate β€” pipes all output into less if standard output is a terminal. long output? contained. periodt.
  • --no-pager β€” do not pipe output into a pager. for the girlies who want it all dumped straight to the terminal, respect 🫑
  • --[no-]color β€” toggles colorized output. yes color, no color, you decide, main character energy 🌈

πŸ‘‘ GHI COMMANDS πŸ‘‘

here's the roster, alphabetically iconic, every single one:

  • ghi-assign(1) β€” assign an issue to yourself (or someone else). delegation is self-care πŸ’…
  • ghi-close(1) β€” close an issue. bye bestie, resolved. πŸ’€
  • ghi-lock(1) β€” lock an issue's conversation, limiting it to collaborators. respectfully, this conversation is now invite-only πŸ™ˆ
  • ghi-unlock(1) β€” unlock an issue's conversation, opening it to all viewers. doors open, come on in πŸŽ€
  • ghi-comment(1) β€” leave a comment on an issue. say your piece, queen πŸ—£οΈ
  • ghi-config(1) β€” configure GHI. the setup era βš™οΈ
  • ghi-edit(1) β€” modify an existing issue. glow-up time ✨
  • ghi-label(1) β€” create, list, modify, or delete labels. organization is a love language 🏷️
  • ghi-list(1) β€” list your issues (or a repository's). the scroll πŸ“œ
  • ghi-milestone(1) β€” manage project milestones. goals, literally 🎯
  • ghi-open(1) β€” open (or reopen) an issue. we're so back πŸ”₯
  • ghi-show(1) β€” show an issue's details. the receipts πŸ”

🌈 ENVIRONMENT VARIABLES 🌈

various GHI commands use these env vars, so pay attention bestie, they're doing a lot of the work behind the scenes:

  • GHI_REPO β€” the GitHub repository to be used by the issued GHI command.
  • GHI_TOKEN β€” the OAuth access token used to authenticate you. your little key to the kingdom πŸ”‘
  • GHI_PAGER β€” this one overrides $GIT_PAGER and $PAGER. ngl, this next bit is important: if it is set to an empty string or to the value "cat", git will not launch a pager. no pager, no problem 🐈
  • GHI_EDITOR β€” overrides $GIT_EDITOR, $VISUAL, and $EDITOR. your editor, your rules ✍️
  • GITHUB_USER β€” your GitHub username: used to authenticate and identify you. it's giving ✨identity✨
  • GITHUB_PASSWORD β€” if you store your GitHub password in an environment variable, GHI will automatically attempt to fetch an access token using it. convenient! (be normal about where you put your password though πŸ™ˆ)
and here's the cute little plot twist: all environment variables may also be stored in Git configuration files, where the variable is in lowercase form and the underscore becomes a period. so $GHI_REPO would become the ghi.repo option. same energy, different outfit πŸ’–

πŸ“ AUTHORS πŸ“

GHI is maintained by Stephen Celis. a full list of contributors can be found at https://github.com/stephencelis/ghi/contributors β€” go say hi to the whole crew 🫢


🧚 REPORTING BUGS 🧚

found something cursed? drop it here:

ghi open -- stephencelis/ghi

or visit https://github.com/stephencelis/ghi/issues. either way, tell them everything, they wanna know πŸ’œ


⭐ and that's the page!! written by Stephen Celis, dated June 2016, living at the bottom of GHI(1) forever. go forth and manage your issues, bestie β€” no cap, you're gonna slay πŸ’…πŸŽ€
πŸ“¦ where this page comes from