Skip to content

Automattic/git-jump-raycast

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Git Jump

Raycast extension to jump to any GitHub repository you have access to.

Lists repos across any number of configured GitHub organizations and users on github.com and/or a GitHub Enterprise host. Opens them in the browser with one keystroke.

Requirements

  • Raycast

  • GitHub CLI (gh)required. The extension shells out to gh for every fetch. Install via Homebrew:

    brew install gh

    Then authenticate:

    • gh auth login for github.com
    • gh auth login --hostname <enterprise-host> for GitHub Enterprise

    The extension resolves gh from the inherited PATH.

  • Node.js 18+ and npm

How repositories are fetched

The extension uses gh repo list <owner> under the hood — no direct API calls, no personal tokens handled by the extension itself. Authentication is whatever gh already has on disk.

For each org or user listed in preferences, it runs:

gh repo list <owner> --limit 1000 --json name,url,description,isArchived,visibility

For Enterprise entries, the same command runs with GH_HOST=<enterprise-host> set in the environment so gh talks to the right instance.

All requests happen in parallel; results are filtered to drop archived repos, grouped by owner, and cached on disk via Raycast's Cache API. The Refresh Repositories action re-runs the same commands.

You can reproduce exactly what the extension sees by running the command above in your terminal.

Install

  1. Clone the repo with git clone git@github.com:Automattic/git-jump-raycast.git
  2. Open Raycast (⌘ Space)
  3. Search Import Extension
  4. Select the git-jump-raycast folder
  5. In your terminal, go to the git-jump-raycast folder and run npm install && npm run build

The command will be available as Git Jump (search "git", "gh", "repo", or "jump").

Updating

When a new version lands on trunk, pull and rebuild:

git checkout trunk
git pull
npm install
npm run build

In Raycast, open Git Jump and press ⌘ R to reload the command — the new build is picked up immediately.

Alternative: npm run dev

I've noticed that reloading the command doesn't always work, and npm run dev is more reliable.

git checkout trunk
git pull
npm install
npm run dev

npm run dev watches for file changes and reloads the extension in Raycast on every save. Stop it (Ctrl-C) when you're done — the latest build will remain installed.

Preferences

Open Raycast Settings (⌘,) → Extensions → find Jump to a GitHub repo you have access to → configure the fields below.

Preference Default Purpose
github.com Orgs woocommerce, Automattic Comma-separated list of orgs on github.com
github.com Users WordPress Comma-separated list of user accounts on github.com
Enterprise Orgs (empty) Comma-separated list of orgs on the Enterprise host
Enterprise Host (empty) Hostname of your GitHub Enterprise instance (e.g. github.example.com)
Enterprise HTTP Proxy socks5://127.0.0.1:8080 Optional HTTP_PROXY applied when fetching from the Enterprise host
Enterprise HTTPS Proxy socks5://127.0.0.1:8080 Optional HTTPS_PROXY applied when fetching from the Enterprise host

Enterprise fetching only happens when both Enterprise Host and Enterprise Orgs are set. Proxy values only apply to Enterprise calls. If only one of the two proxy fields is filled in, the same value is used for both HTTP_PROXY and HTTPS_PROXY.

All fields accept multiple values separated by commas, e.g. woocommerce, Automattic, WordPress.

Usage

  • Open Raycast and type any of the following to surface the command: git jump, git, gh, repo, jump
  • to open it
  • Type to fuzzy-match repo names (hyphen-separated words match independently)
  • opens the repo in the browser
  • ⌘ KRefresh Repositories re-fetches from gh and updates the cache
  • ⌘ .Copy URL copies the repo URL to the clipboard
  • ⌘ DAdd to Favorites / Remove from Favorites toggles the selected repo

Results are cached on disk. Refresh only when you expect new repos.

Refreshing the repository list

Repos are cached on disk after the first fetch, so the list opens instantly on subsequent uses. To pull the latest list of repos (e.g. when a new repo has been added to one of your configured orgs):

  1. Open the Git Jump command
  2. Press ⌘ K to open the action panel
  3. Select Refresh Repositories

The refresh re-runs gh repo list <org> for every configured org and user, replaces the cache, and the list updates in place.

Favorites

Press ⌘ D on any repo to add it to a pinned Favorites section that appears at the top of the list. Favorited repos are removed from their original org section so they only show up once. Press ⌘ D again on a favorite to remove it. Favorites persist across Raycast restarts via Raycast's local storage.

Display tweaks

Repo names starting with woocommerce-, ending with -woocommerce, or containing -woocommerce- have that segment stripped from the displayed title to reduce visual noise in lists dominated by those repos. The full original name is still used for matching, keywords, and the opened URL — so searching woocommerce still finds everything.

Development

npm run dev       # live-reload in Raycast
npm run build     # one-off build
npm run lint      # lint
npm run fix-lint  # autofix lint issues

About

Raycast extension to jump to any repo

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors