GitHub CLI 2.0 includes extensions!
GitHub CLI 2.0 is now available, making it easy to create and share your own custom commands to make your experience even more powerful.
GitHub CLI 2.0 supports extensions, allowing anyone to make custom commands that build on the core functionality of GitHub CLI.
Our goal with GitHub CLI 1.0 was to build amazing tooling that allows you to more seamlessly complete the most common developer workflows end-to-end in the terminal. We continued to build on that foundation with far better support for scripting and for working with GitHub Actions. But we knew that a one-size-fits-all tool would never meet every developer’s needs.
Today, we’re excited to release GitHub CLI 2.0, making it easy to create extensions to extend the tool in whatever ways you choose, and install extensions that others have created.
Creating extensions
Creating extensions is simple. Each extension is just a repository prefixed with gh-
, and you can easily define the extension. We even built tooling into GitHub CLI itself to allow you to get started more quickly with gh extension create
, which creates a scaffolded repository for you with some pre-written Bash that will help you get started.
To learn more about creating extensions, check out the documentation and explore the repositories for the example extensions below.
Example extensions
To get you started, our team built a few extensions ranging from GitHub-focused utilities like gh contribute
to silly terminal-focused features like gh screensaver
:
gh user-status
This extension allows you to quickly set your GitHub user status from your terminal to let others know when you’re unavailable or in focus mode.
gh branch
This extension is a fuzzy finder branch switcher that orders branches by recency and displays information about any associated pull requests.
gh contribute
Quickly find an issue to work on in an open source project using the contribute extension. This finds issues with help wanted
or good first issue
labels that have been created in the past year and do not yet have an associated pull request.
gh screensaver
Extensions don’t have to be serious—they can also just be fun or silly. We’ve got a few things like that already in GitHub CLI like gh repo garden
. This extension invokes a full-screen ASCII screensaver.
gh triage
Our triage extension takes our process to triage issues in our open source repo and makes it more broadly usable. Instead of using this directly, you might take inspiration from it to build your own triage extension more specific to your project’s process.
Let us know what you build
Now that you’ve seen a few examples for inspiration, we’d love to hear about the extensions you create! Join the discussion in the GitHub CLI repository and share what you’ve built. We’re excited to see what great ideas you have to leverage GitHub CLI to improve everyone’s experience.
Install GitHub CLI today.
Tags:
Written by
Related posts
Celebrating the GitHub Awards 2024 recipients 🎉
The GitHub Awards celebrates the outstanding contributions and achievements in the developer community by honoring individuals, projects, and organizations for creating an outsized positive impact on the community.
New from Universe 2024: Get the latest previews and releases
Find out how we’re evolving GitHub and GitHub Copilot—and get access to the latest previews and GA releases.
Bringing developer choice to Copilot with Anthropic’s Claude 3.5 Sonnet, Google’s Gemini 1.5 Pro, and OpenAI’s o1-preview
At GitHub Universe, we announced Anthropic’s Claude 3.5 Sonnet, Google’s Gemini 1.5 Pro, and OpenAI’s o1-preview and o1-mini are coming to GitHub Copilot—bringing a new level of choice to every developer.