🚀

【Mac】Raycast × GitHub CLI で LaTeX の爆速執筆環境を構築する(3秒でリポジトリ作成まで)

に公開

はじめに

LaTeXでレポートや論文を書き始めるときに発生する作業をシェルスクリプトで自動化しました。

Raycast の Script Commands と GitHub CLI を組み合わせることで、コマンド一発でローカルの執筆環境構築からリモートリポジトリへのバックアップ設定までを完結させる実装を紹介します。

達成できたこと

Raycastでコマンドを叩き、フォルダ名を入力するだけで、以下の処理が全自動で行われます。

  1. 所定の場所にフォルダを作成
  2. build attachment などのディレクトリ構成を作成
  3. 中間ファイルをGit管理から除外する .gitignore の生成
  4. 規定に合わせた .tex テンプレートの作成
  5. Gitの初期化(git init)とコミット
  6. GitHubへのPrivateリポジトリ作成 & プッシュ
  7. VSCodeでそのフォルダを開く

以下のように、GitHubへのプッシュも完了しているのがわかります。

事前準備

以下のツールを使用します。

  • Raycast
  • GitHub CLI (brew install gh)

Raycastスクリプト

Raycastの「Script Commands」機能を使って、自作の自動化コマンドを登録します。
手順は以下の通りです。

1. スクリプトの新規作成

まず、Raycastで検索窓に Create Script Command と入力して実行します。

2. 基本設定の入力

作成画面が開くので、以下のように設定します。

  • Title: New LaTeX Project(自分が呼び出しやすい名前でOK)
  • Mode: Silent
    • ※ ターミナル画面を開かずに、バックグラウンドで静かに実行させる設定です
  • Language: Bash

入力できたら、右下の Create Command をクリック(または Cmd + Enter)します。

3. コードの記述

デフォルトのエディタで .sh ファイルが開かれます。
元々書かれているサンプルコードをすべて消して、以下のスクリプトをコピペして保存します。

#!/bin/bash

# Required parameters:
# @raycast.schemaVersion 1
# @raycast.title New LaTeX Project
# @raycast.mode silent
# @raycast.packageName Automation

# Optional parameters:
# @raycast.icon 📝
# @raycast.argument1 { "type": "text", "placeholder": "Folder Name" }

# --- 設定項目 ---
# 作成する親フォルダ(⚠️自分の環境に合わせて変更してください)
TARGET_DIR="/path/to/dir/$1"

# --- 処理開始 ---
# 1. フォルダ作成
mkdir -p "$TARGET_DIR"
cd "$TARGET_DIR"

# 2. サブフォルダ作成
mkdir build attachment

# 3. .gitignore作成
cat <<EOF > .gitignore
*.aux
*.bbl
*.blg
*.dvi
*.fdb_latexmk
*.fls
*.log
*.out
*.synctex.gz
*.toc
*.xdv
*.pdf
build/
EOF

# 4. report.tex作成(テンプレート)
cat <<EOF > report.tex
\documentclass{jlreq} 

% (ここにいつものプリアンブルを書く)

\begin{document}

\end{document}
EOF

# 5. Git初期化 & コミット
git init
git add .
git commit -m "Initial commit"

# 6. GitHubへ非公開リポジトリとして作成 & プッシュ
# ここでGitHub CLIを使用します
gh repo create "$1" --private --source=. --remote=origin --push

# 7. VSCodeで開く
open -a "Visual Studio Code" "$TARGET_DIR"

echo "Created & Published: $1"

4. Raycastにスクリプトのディレクトリを指定

もし初めてスクリプトを作成する場合や、Raycastに反映されない場合は、設定画面からフォルダを登録する必要があります。
Raycastの設定(Cmd + ,)を開き、Extensions タブを開きます。
右側の プラスボタンから、Add Script Directory をクリックし、先ほどスクリプトファイルを保存したフォルダを選択してください。

これで、Raycastの検索窓から New LaTeX Project(設定したタイトル)と打てば、コマンドが出てくるはずです!

ポイント:GitHub CLIの活用

gh repo create コマンドを使うことで、ターミナル(スクリプト)から出ることなくリポジトリ作成とプッシュまで完了できます。
つまり、VSCodeが開いたときには、もうGitHubへのアップロードまで全て終わっています。

ただし、事前にターミナルで gh auth login を実行し、GitHubとの連携を済ませておく必要があります。
GitHub CLI の認証がまだの方は、以下のコマンドでログインしておいてください。

gh auth login
# 選択肢が出たら、GitHub.com -> SSH (または HTTPS) -> Login with web browser を選べばOKです

まとめ

環境構築の手間をゼロにすることで、レポートの執筆そのものに時間を使えるようになりました。

Discussion