Hello terminal! GitHub makes its way into the command line


GitHub’s efforts to bring the repo hosting platform to the terminal have culminated in version 1.0 of a CLI tool introduced in February. GitHub CLI is available for installation on macOS, Windows, and Linux and aims at granting those who are spending all their time at the command line anyway, a smoother workflow with less context switching.

Although there are nice user interfaces available all around, when it comes to scripting workflows the terminal is still the place to be for many devs and (especially Linux) admins. GitHub didn’t officially cater to this user group until earlier this year, although a helpful employee offered up an open source tool called hub for “everyday GitHub tasks without ever leaving the terminal” long before.

Instead of looking to make it an official project, the Microsoft subsidiary decided to put its own spin on things and came up with GitHub CLI – mainly because it wanted to focus more on workflows and not be constrained by the “10 years of design decisions that hub has baked in”. The company therefore advertises the tool as a way of running GitHub workflows from the terminal, and a newly added direct connection to the GitHub API means easier integration with other command line tools.

According to GitHub product designer Amanda Pinsker, the introduction of GitHub CLI was met with a lot of goodwill, since people have been busy creating “over 250,000 pull requests,” performing over 350,000 merges, and filing over 20,000 issues since its inception.

The feedback collected from these early adopters also seems to have helped to steer the development process in the last couple of months, since it offered some guidance on what to focus on next. While the first iteration mainly focused on basic pull request handling, version 1.0 also features capabilities to create and view repositories, review and merge pull requests, close and reopen issues, and add labels as well as assignees to pull requests and issues. 

Other enhancements added since the last release include gh alias set to let users customise commands and a way of connecting to repositories hosted on GitHub Enterprise Server 2.20+. The latter is said to have been inspired by the initial user feedback as well, though it would have been strange to see the company ignoring some of its best paying customers when driving the new tool across the 1.0-line.

Since the CLI is an open source project, GitHub got quite a bit of coding support from its user base, which contributed things like filtering capabilities for issues, and PR metadata. GitHub hopes to continue this user cooperation, by pointing out some areas of work it will look into next. So if you feel like volunteering your time, “support for editing issues and pull requests, and adding comments” are high on the agenda. But then again, there’s “a team of people who work on the tool on behalf of GitHub” behind it…so pointing out bugs might be useful too.