This Alfred workflow lets you search for GitHub repositories right from the Alfred bar.
It uses the GitHub CLI under the hood.
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 is handled by the GitHub CLI, so just follow the instructions when running:
# Run this in the terminal:
gh auth loginYou can download the workflow from the releases page.
Double click on the .alfredworkflow file and follow the instructions.
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
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:
Press Enter while holding down the Ctrl key to open the repository's actions page.
Press Enter while holding down the Cmd key to list the repository's open PRs.
Press Enter while holding down the Option key to copy the clone command with the repository's SSH URL.
Press Enter while holding down the Shift+Option keys to copy the clone command with the repository's HTTPS URL.
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/cacheinstead of$HOME/cache
To clear the cache and force a new request to the GitHub API, type this in Alfred:
ghclear
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 |
You can submit your bug reports or feature requests at: https://github.com/edgarjs/github-repos-alfred-workflow/issues
This project is published under the MIT License.
