configuring-ghostty-vibe-stack について
configuring-ghostty-vibe-stackは、Apple Silicon搭載MacにターミナルベースのAIコーディング環境を構築する手順型スキルです。Ghostty、Fish、Neovimなどのインストールと設定を案内し、確認、バックアップ、ロールバック手順も含みます。
主な機能
- 01macOSとApple Siliconの事前確認
- 02HomebrewによるGhosttyとCLIツールの導入
- 03Ghostty、Fish、各種ツールの設定
- 04設定構文と内容の検証
- 05既存設定のバックアップと復旧手順
- 06CJK向けまたはラテン文字向けフォント設定
活用シーン
- 01新しいMacにターミナル型コーディング環境を構築
- 02GhosttyとFishの設定を調整
- 03NeovimとLazyVimをワークフローに追加
- 04設定トラブル後に変更を復旧・取り消し
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ psylch/ ghostty-vibe-coding-stack --skill configuring-ghostty-vibe-stackインストール後、Claude Code で/configuring-ghostty-vibe-stackを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/fish-config.mdghostty-config.mdlazygit-config.mdset-default-terminal.mdyazi-config.md詳細
言語
ユーザーの言語に合わせる:ユーザーが使用する言語で応答してください。
Ghostty バイブコーディングスタック
macOS(Apple Silicon)向けの、ターミナルベースの完全な AI コーディング環境です。Claude Code/AI 支援開発向けに、重い IDE を軽量で組み合わせ可能なツールに置き換えます。
動作の仕組み
以下の手順を順番に実行してください。ツールがすでにインストールされている手順は省略します。
このチェックリストをコピーして、進捗を記録してください。
Setup Progress:
- [ ] Step 1: Pre-flight checks
- [ ] Step 2: Install Ghostty
- [ ] Step 3: Install CLI tools
- [ ] Step 4: Install fonts
- [ ] Step 5: Configure Ghostty
- [ ] Step 6: Configure Fish shell
- [ ] Step 7: Install Fish plugins
- [ ] Step 8: Configure lazygit
- [ ] Step 9: Configure yazi
- [ ] Step 10: Install Neovim + LazyVim
- [ ] Step 11: Set Ghostty as default terminal
- [ ] Step 12: Validate and verify
ステップ 1:事前確認
開始前に前提条件を確認してください。
# Check macOS and architecture
uname -m # expect: arm64
sw_vers --productVersion # expect: 13.0+
# Check Homebrew
brew --version || echo "Homebrew not installed — install from https://brew.sh"
Homebrew がない場合は、インストールしてください。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
すでにインストールされているものを確認し、重複する手順を省略してください。
for cmd in ghostty fish yazi lazygit nvim fzf zoxide atuin fd rg bat delta; do
printf "%-10s: " "$cmd"
which $cmd 2>/dev/null || echo "not installed"
done
以下の表を使って、不足している項目を解決してください。
| 確認項目 | 対処方法 |
|---|---|
| Homebrew がインストールされていない | 上記のインストールスクリプトを実行 |
ghostty が見つからない | ステップ 2:brew install --cask ghostty |
| CLI ツールが見つからない | ステップ 3:brew install <tool>(すべてのツールをまとめてインストール) |
| アーキテクチャが arm64 ではない | このスキルは Apple Silicon を対象としています。Intel Mac では一部のツールで互換性の問題が発生する場合があります |
ステップ 2:Ghostty のインストール
Ghostty がすでにインストールされているか確認してください。
ls /Applications/Ghostty.app 2>/dev/null && echo "Ghostty installed" || echo "Not installed"
インストールされていない場合:
brew install --cask ghostty
ステップ 3:CLI ツールのインストール
すべてのツールを 1 つのコマンドでインストールします(インストール済みのツールは自動的にスキップされます)。
brew install fish yazi lazygit neovim fzf zoxide atuin fd ripgrep bat git-delta
ステップ 4:フォントのインストール
インストール前に、希望するフォント設定をユーザーに確認してください。
オプション A:CJK 最適化(中国語/日本語/韓国語ユーザーに推奨)
brew install --cask font-maple-mono-nf-cn font-sarasa-gothic font-jetbrains-mono-nerd-font
オプション B:ラテン文字のみ(英語を主に使うユーザー向け)
brew install --cask font-jetbrains-mono-nerd-font
ステップ 5:Ghostty の設定
references/ghostty-config.md から設定テンプレート全体を読み込んでください。
書き込む前に、ユーザーの希望を確認してください。
- テーマ:
ghostty +list-themesを実行して候補を表示します。人気のテーマ:Monokai Vivid、Rose Pine、TokyoNight Storm、Catppuccin Mocha - 透明度:背景の不透明度を有効にするかどうか(完全に不透明な表示を好むユーザーもいます)
- フォントサイズ:デフォルトは 15 です。ディスプレイに合わせて調整します
書き込む前に、設定ファイルがすでに存在するか確認してください。
mkdir -p ~/.config/ghostty
ls ~/.config/ghostty/config 2>/dev/null && echo "Config exists" || echo "No config"
設定ファイルが存在する場合は、現在の内容を表示して、ユーザーに以下を確認してください。
- (A)バックアップして置き換える:
cp ~/.config/ghostty/config ~/.config/ghostty/config.backup.$(date +%s)を実行してから、新しい設定を書き込みます - (B)スキップする:既存の設定を維持します
- (C)差分を表示して統合する:差分を表示し、セクションごとにユーザーに判断してもらいます
書き込み後、必ず検証してください。
ghostty +validate-config
検証でテーマのエラーが表示された場合は、テーマ名の大文字小文字を正確に指定する必要がある可能性があります。ghostty +list-themes | grep -i <name> で確認してください。
ステップ 6:Fish シェルの設定
references/fish-config.md から設定テンプレート全体を読み込んでください。
Fish をログインシェルとして登録するか、ユーザーに確認してください。登録すると、以下のようになります。
- Fish が
chshのログインシェルの選択肢として使用可能になります /etc/shellsを変更するためにsudoが必要です- 後でユーザーが明示的に
chsh -s $(which fish)を実行しない限り、現在のシェルがデフォルトのままです
ユーザーが同意した場合は、Fish を登録してください。
grep -q "$(which fish)" /etc/shells || echo "$(which fish)" | sudo tee -a /etc/shells
chsh を自動的に実行しないでください。 Fish をデフォルトのシェルにしたいとユーザーから求められた場合に限り、次の手順として任意で実行できることを伝えてください。
書き込む前に、設定ファイルがすでに存在するか確認してください。
mkdir -p ~/.config/fish/{completions,conf.d,functions}
ls ~/.config/fish/config.fish 2>/dev/null && echo "Config exists" || echo "No config"
設定ファイルが存在する場合は、現在の内容を表示して、ユーザーに以下を確認してください。
- (A)バックアップして置き換える:
cp ~/.config/fish/config.fish ~/.config/fish/config.fish.backup.$(date +%s)を実行してから、新しい設定を書き込みます - (B)スキップする:既存の設定を維持します
- (C)差分を表示して統合する:差分を表示し、セクションごとに統合します。冪等性の確認:初期化行(
fzf --fish | source、zoxide init fish | source、atuin init fish | source)やエイリアスを追加する前に、既存ファイルを grep で検索して重複を避けてください。
設定を書き込んだ後、Fish が設定を解析できることを検証してください。
fish -n ~/.config/fish/config.fish && echo "Fish config syntax OK" || echo "Fish config has syntax errors"
構文エラーが見つかった場合は、エラー出力を表示し、先に進む前に設定を修正してください。
既存のシェル履歴を atuin にインポートしてください。
fish -c "atuin import auto"
ステップ 7:Fish プラグインのインストール
Fisher(プラグインマネージャー)がインストールされているか確認してください。
fish -c "type fisher" 2>/dev/null || fish -c "curl -sL https://raw.githubusercontent.com/jorgebucaran/fisher/main/functions/fisher.fish | source && fisher install jorgebucaran/fisher"
Tide プロンプトをインストールしてください。
fish -c "fisher install IlanCosman/tide@v6"
ステップ 8:lazygit を設定する
references/lazygit-config.md の設定テンプレートをすべて読み込みます。
このリファレンスには、Monokai、TokyoNight、Rose Pine のカラーテーマが含まれています。ステップ 5 でユーザーが選んだ Ghostty のテーマに合わせて、lazygit のテーマを選んでください。
書き込む前に、設定ファイルがすでに存在するか確認します。
mkdir -p ~/.config/lazygit
ls ~/.config/lazygit/config.yml 2>/dev/null && echo "Config exists" || echo "No config"
設定ファイルが存在する場合は、現在の内容を表示して、ユーザーに次のいずれかを尋ねます。
- (A) バックアップして置き換える:
cp ~/.config/lazygit/config.yml ~/.config/lazygit/config.yml.backup.$(date +%s)を実行してから、新しい設定を書き込みます - (B) スキップする:既存の設定を保持します
- (C) 差分を表示してマージする:差分を表示し、セクションごとにユーザーに判断してもらいます
書き込み後、lazygit で YAML を解析できることを確認します。
lazygit -c ~/.config/lazygit/config.yml --version && echo "lazygit config OK" || echo "lazygit config may have issues"
lazygit がまだ利用できない場合は、次のコマンドで YAML の構文を確認します。
python3 -c "import yaml; yaml.safe_load(open('$HOME/.config/lazygit/config.yml'))" && echo "YAML syntax OK" || echo "YAML syntax error"
ステップ 9:yazi を設定する
references/yazi-config.md の設定テンプレートをすべて読み込みます。
書き込む前に、設定ファイルがすでに存在するか確認します。
mkdir -p ~/.config/yazi
ls ~/.config/yazi/yazi.toml 2>/dev/null && echo "Config exists" || echo "No config"
設定ファイルが存在する場合は、現在の内容を表示して、ユーザーに次のいずれかを尋ねます。
- (A) バックアップして置き換える:
cp ~/.config/yazi/yazi.toml ~/.config/yazi/yazi.toml.backup.$(date +%s)を実行してから、新しい設定を書き込みます - (B) スキップする:既存の設定を保持します
- (C) 差分を表示してマージする:差分を表示し、セクションごとにユーザーに判断してもらいます
書き込み後、TOML を解析できることを確認します。
python3 -c "import tomllib; tomllib.load(open('$HOME/.config/yazi/yazi.toml', 'rb'))" && echo "yazi config OK" || echo "TOML syntax error"
ステップ 10:Neovim + LazyVim をインストールする
nvim の設定がすでに存在するか確認します。
ls ~/.config/nvim/init.lua 2>/dev/null && echo "Nvim config exists" || echo "No config"
設定が存在する場合は、ユーザーに次のいずれかを尋ねます。
- (A) バックアップして置き換える:
cp -r ~/.config/nvim ~/.config/nvim.backup.$(date +%s)を実行してから、新しい設定をクローンします - (B) スキップする:既存の Neovim の設定を保持します
既存の設定がない場合(またはユーザーが A を選んだ場合)は、クローンに失敗しても既存の設定が失われないよう、まず一時ディレクトリにクローンします。
NVIM_TMP=$(mktemp -d)
git clone https://github.com/LazyVim/starter "$NVIM_TMP/nvim" && rm -rf "$NVIM_TMP/nvim/.git"
クローンが成功した場合にのみ、設定を置き換えます。
rm -rf ~/.config/nvim
mv "$NVIM_TMP/nvim" ~/.config/nvim
rm -rf "$NVIM_TMP"
クローンに失敗した場合は、既存の設定(またはバックアップ)がそのまま残っていることをユーザーに伝え、ネットワークが利用可能になってから再試行するよう案内します。
初めて nvim を開くときは、LazyVim がすべてのプラグインを自動インストールするため、約 30 秒待つようユーザーに伝えてください。
ステップ 11:Ghostty をデフォルトのターミナルに設定する(任意)
Finder の「ターミナルで開く」で、現在のデフォルトターミナルを Ghostty に置き換えるかどうか、ユーザーに尋ねます。
希望する場合は、references/set-default-terminal.md の Swift ヘルパーを読み込んで実行します。
ステップ 12:検証と確認
最終確認を実行します。
echo "=== Tool Versions ==="
for cmd in fish yazi lazygit nvim fzf zoxide atuin fd rg bat delta; do
printf "%-10s: " "$cmd"
$cmd --version 2>&1 | head -1
done
echo ""
echo "=== Ghostty Config ==="
ghostty +validate-config 2>&1 || echo "Config OK (no output = no errors)"
echo ""
echo "=== Fish Shell ==="
fish -c "echo Fish is working"
インストールおよび設定した項目の概要と、以下のクイックリファレンスをユーザーに提示します。
クイックリファレンス
| エイリアス | コマンド |
|---|---|
y | yazi(ファイルマネージャー) |
yy | 終了時に cd する yazi |
lg | lazygit |
v | nvim |
cc | claude |
z <keyword> | zoxide のスマートな cd |
| Ghostty ショートカット | アクション |
|---|---|
Cmd+D | 垂直分割 |
Cmd+Shift+D | 水平分割 |
Cmd+Alt+Arrow | 分割間を移動 |
Ctrl+` | クイックターミナル(グローバル) |
| Fish キー | アクション |
|---|---|
Tab | 自動提案を確定 |
Alt+Tab | 1 語を確定 |
→ | 補完メニュー |
Ctrl+R | 履歴を検索(atuin) |
復旧/ロールバック
新しい設定によって問題が発生した場合は、Terminal.app(macOS に標準搭載されており、いつでも使用できます)を開き、適切な修正コマンドを実行してください。
| 問題 | 修正方法 |
|---|---|
| Ghostty が起動しない、または正しく描画されない | mv ~/.config/ghostty/config ~/.config/ghostty/config.broken — 次回起動時、Ghostty はデフォルト設定を使用します |
| Fish シェルの起動時に問題が発生する | mv ~/.config/fish/config.fish ~/.config/fish/config.fish.broken — Fish はカスタム設定を読み込まずに起動します |
| Fish をログインシェルとして使うのをやめたい | chsh -s /bin/zsh |
/etc/shells から Fish を削除したい | `sudo sed -i '' '|/fish$ |
| lazygit または yazi に問題がある | 設定ファイル(~/.config/lazygit/config.yml または ~/.config/yazi/yazi.toml)を削除します — ツールはデフォルト設定に戻ります |
| Neovim/LazyVim に問題がある | rm -rf ~/.config/nvim — バックアップがある場合は、cp -r ~/.config/nvim.backup.<timestamp> ~/.config/nvim を実行します |
.backup.<timestamp> が付いた設定ファイル | バックアップしたバージョンを復元するには、cp <file>.backup.<timestamp> <file> を実行します |
トラブルシューティング
テーマ名では、大文字・小文字とスペースを正確に指定する必要があります:
- 誤り:
rose-pine、tokyo-night - 正しい例:
Rose Pine、TokyoNight Storm - 利用可能なテーマの一覧:
ghostty +list-themes - 設定の検証:
ghostty +validate-config
Cmd+V で Claude Code に画像を貼り付けられない(Ghostty のバグ、Discussion #10117):
- 代わりに
Ctrl+Vを使用するか、画像ファイルをドラッグ&ドロップします
Fish のキー割り当て構文は Zsh と異なります:
- 誤り:
bind -k right complete(-kは zsh の構文です) - 正しい例:
bind right complete - エスケープシーケンスを直接上書きする方法:
bind \e\[C complete
中国語のテキストが大きすぎる、またはずれて表示される:
- CJK フォントを
font-familyの先頭に追加します adjust-cell-height = 20%を設定します
利用可能なフォントの一覧:ghostty +list-fonts
利用可能なテーマの一覧:ghostty +list-themes