Skip to content

Alfred workflow to easily open GitHub repositories

License

Notifications You must be signed in to change notification settings

edgarjs/github-repos-alfred-workflow

Repository files navigation

GitHub Repos Alfred Workflow

This Alfred workflow lets you search for GitHub repositories right from the Alfred bar.

It uses the GitHub CLI under the hood.

Requirements

Install the GitHub CLI:

# Run this in the terminal:
brew install gh

💡 Note:
The command above assumes you use Homebrew as your package manager.

Authentication

Authentication is handled by the GitHub CLI, so just follow the instructions when running:

# Run this in the terminal:
gh auth login

Installation

You can download the workflow from the releases page.

Double click on the .alfredworkflow file and follow the instructions.

Usage

The main keyword that triggers the workflow is: gh

Then you can start typing the name of the repository you're looking for. It will first fetch your repositories and filter them locally by name. If no match is found, it will search GitHub repositories.

gh octocat/hello-world

Example of gh command

When an item is highlighted, you can press Enter to open the repository's page, or press any of the following modifier keys for other options:

Hold Ctrl ⌃ for repository actions page

Press Enter while holding down the Ctrl key to open the repository's actions page.

Hold Cmd ⌘ to see Pull Requests

Press Enter while holding down the Cmd key to list the repository's open PRs.

Hold Option ⌥ to copy SSH clone command

Press Enter while holding down the Option key to copy the clone command with the repository's SSH URL.

Hold Shift+Option ⇧+⌥ to copy HTTPS clone command

Press Enter while holding down the Shift+Option keys to copy the clone command with the repository's HTTPS URL.

Configuration

API Response Caching

You can configure the cache duration passed to the GitHub CLI, by setting the following environment variables.

Environment Variable Description Default
CACHE_PULLS Cache duration for PRs API call 10m
CACHE_SEARCH_REPOS Cache duration for repos search API call 24h
CACHE_USER_REPOS Cache duration for user repos API call 72h
CACHE_DIR Directory removed by ghclear command $HOME/.cache/gh

⚠️ Caution ⚠️

If you don't see your recently created repository in the results, it may be due to the cache duration mentioned above.

Also make sure to use absolute paths if you need to customize the default. Like /Users/juan/cache instead of $HOME/cache

To clear the cache and force a new request to the GitHub API, type this in Alfred:

ghclear

Enterprise Host

If you're using an Enterprise account, you can set the following environment variable to your needs:

Environment Variable Description Default
API_HOST Hostname to use for the API calls github.com

Contributing

You can submit your bug reports or feature requests at: https://github.com/edgarjs/github-repos-alfred-workflow/issues

License

This project is published under the MIT License.

About

Alfred workflow to easily open GitHub repositories

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

Contributors 8

Languages