← 一覧へ戻る

ローカルにクローンしてエディタを開く動作をRaycastで簡略化

開発者なら何度もやる作業。

Githubのリポジトリをローカルにクローンして、そのフォルダでエディタを開く。

この一連の流れをなんとか楽チンにできないかなと思っていたら、Raycastを使って実現できた。

これまで4〜5ステップかかっていた作業がなんと、Raycastでリポジトリ名を入力してEnter押すだけで良くなるのだ。

  • これまで:Finderを開く → devへ移動 → clone → フォルダへ移動 → エディタを開く
  • これから:Raycast → owner/repository を入力 → Enter

完成系は以下の画像のようになる。

注意:macOS前提だよ

私はmacOSユーザーなので、この記事ではmacOSでのやり方を紹介する。

今までの流れ(面倒な方)

「さあ、Githubのリポジトリをローカルにクローンして、開発を始めなきゃ!」

こんな時、毎回面倒くささに駆られる。笑

  1. Githubのリポジトリ名を控える。Githubにアクセスしたり。
  2. Finderを開いて、ユーザーフォルダ直下にある dev フォルダを右クリックし、ターミナルを開く。もしくはターミナルで直接 cd コマンドを使って dev フォルダに移動する。
  3. git clone ほにゃらら コマンドを使って、クローンする。
  4. クローンしたフォルダで、エディタを開く。Finder上だったら、右クリックしてクイックアクションから開く(これは別途用設定)。もしくはターミナル上で、コマンドを叩く(VSCodeなら code コマンド)

思ったより作業多くない?

ということで、楽チンにする方法を探していたら、Raycastを使う方法が便利だった。

Raycastって?

この記事の読者なら、Raycastはすでに使っている人がいたり、聞いたことがあるかもしれない。

Raycastとは、macOSで動くランチャーアプリ。RaycastのURLは、 https://www.raycast.com/

macOSにも標準でランチャー機能はついていて、コマンドキー + スペースキーで起動できるけど、私はこのRaycastを使っている。機能が豊富だし、サクサク動くし、便利だから。

RaycastのScript Commandが便利

そう、今回の目玉が、「Script Command」だ。

独自のスクリプトを、Raycastから呼び出せるのだ。だから、面倒くさい一連の流れをスクリプト化して、Raycastから呼び出せるようにすれば、めっちゃ楽チンになる。

それではやり方

1. GitHub CLIの gh コマンドを使えるようにする

which gh を実行して、GitHub CLIのghがインストール済みであることを確認。これがないと動かないので。

brew install gh でインストールできる。

また、gh auth loginでGitHub認証済みであることも要確認。

2. お使いのエディタのCLIコマンドを使えるようにする

たとえば私はZedというエディタ使いなので、 zed コマンドが使えるようにする。

3. クローン先のフォルダを用意する

たとえば私は、 clone先として~/devを使う。ここはお好みで。後々のスクリプトもこれに合わせて編集が必要。

4. Raycastを使えるようにする

まず大前提、Raycastがインストールされていて、使えるようになっていることが条件。

5. Raycastで、Create Script Command が使えることを確認

まずは、Raycastのランチャーを開いて、コマンドキー + ,でRaycastの設定画面を開く。

以下の画像のように、Extensions設定でCreate Script Commandが有効になっていればOK。

6. Create Script Commandで、スクリプトコマンドを基本設定

ランチャーで、「Create Script Command」を実行。

すると、スクリプトコマンドの作成モーダルが出現する。

基本設定は以下のように入力する。

Template

Bash

Mode

Compact

Title

Clone GitHub Repository

Description

Clone a GitHub repository to ~/dev and open it in Zed

Package Name

Developer Tools

Needs Confirmation

No

With Argument

Yes

そして、次に行く。

7. スクリプトファイルを作成する

スクリプトファイルには、以下のように記述する。

#!/bin/bash

# Required parameters:
# @raycast.schemaVersion 1
# @raycast.title Clone GitHub Repository
# @raycast.mode compact

# Optional parameters:
# @raycast.icon 🐙
# @raycast.packageName Development
# @raycast.argument1 { "type": "text", "placeholder": "owner/repository or GitHub URL" }

set -euo pipefail

export PATH="/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin"

REPO="$1"
ROOT="$HOME/dev"

NAME="${REPO##*/}"
NAME="${NAME%.git}"
DEST="$ROOT/$NAME"

mkdir -p "$ROOT"

if [[ -e "$DEST" ]]; then
  echo "Already exists: $DEST"
  zed "$DEST"
  exit 0
fi

gh repo clone "$REPO" "$DEST"
zed "$DEST"

echo "Cloned and opened: $REPO"

ちなみに上記は、Zedというエディタで開くことを想定している。お使いのエディタに合わせて変えていただきたい。

このファイルを保存すれば、Raycastから「Clone Github Repository」を呼び出し、 owner/repository 形式で入力することで、一気にエディタを開くところまでショートカットできる。

これで楽チン!

あんなに億劫だったリポジトリのクローンと開くまでの動作が、こんな簡単にできるようになるとは。

Raycast最高!スクリプト最高!