yagince/tamago

Rust

1

182 commits

updated Jun 10, 2026

See the code

README

🥚 tamago

CLIで育てるターミナルペット。シェルの使用度に応じて成長し、育て方で進化が分岐する。

      ▄▀▀▀▀▀▀▀▀▄
    ▄▀          ▀▄
    █   ▄    ▄   █
    █            █
    █    ▀▄▄▀    █
     ▀▄        ▄▀
       ▀▀▄▄▄▄▀▀

🥚 ピカリン [???] Lv.8 ♥100 🍚100

特徴

  • ターミナルを使うだけで育つ — preexec フックで毎コマンド経験値を記録
  • Claude Code 連携 — Claude との会話量に応じて AI カテゴリの経験値が増加
  • 進化分岐 — Git / AI / Dev / Infra / Editor のカテゴリ比率で Adult の姿が変わる
  • ratatui TUItamago show でドラクエ風のアニメーション付きステータス画面
  • 動的表情 — hunger/mood に応じて AA のビットマップを解析し目・口を動的変更
  • Claude が喋る — TUI で Claude CLI がペットのセリフを生成
  • 対話できるtamago chat や TUI 下部の入力欄からペットと会話(+50 EXP)
  • Claude Code plugin 連携 — セッション中のツール使用(Edit/Read/Bash/WebSearch...)が増分でペットの EXP に変換される
  • 常駐プロセスなし — 毎回起動→即終了の fire-and-forget 設計

インストール

Homebrew

brew tap yagince/tamago
brew install tamago

Cargo

cargo install --git https://github.com/yagince/tamago.git

セットアップ

# 1. 初期化(卵生成)
tamago init

# 2. シェルフックを設定
tamago hook zsh >> ~/.zshrc
source ~/.zshrc

# bash の場合
tamago hook bash >> ~/.bashrc

Claude Code statusline 連携(任意)

tamago hook statusline >> ~/.claude/statusline-command.sh

Claude Code plugin(任意)

Claude Code 内から直接インストールできる plugin 版もあります。/plugin コマンドから:

/plugin marketplace add yagince/tamago
/plugin install tamago@yagince
/reload-plugins

前提: tamago バイナリが $PATH にあること(brew install tamago 等でインストール済み)。plugin はバイナリを同梱せず、hook 経由で既存の tamago コマンドを呼び出すだけの薄いラッパーです。

更新: サードパーティ marketplace はデフォルトで auto-update off。新 version が出たら以下で更新:

/plugin marketplace update yagince
/reload-plugins

または /plugin の Marketplaces タブから該当 marketplace の auto-update を on にしておけば自動化されます。バイナリ本体の更新は別途 brew upgrade tamago または tamago update が必要です(2 層構造)。

コマンドリファレンス

基本

コマンド説明
tamagoメイン画面(集計 + AA + ステータス)。引数なしのデフォルト動作
tamago init初期セットアップ。卵を生成してガイドを表示
tamago reset全データを削除して初期化しなおす
tamago update最新バージョンに自己更新

表示

コマンド説明
tamago showドラクエ風 TUI アニメーション画面(Claude がセリフを生成)
tamago show --message-interval <秒>セリフの更新間隔を指定(デフォルト: 30 秒)
tamago statusstatusline 用ワンライナー(emoji + 名前 + 種族 + Lv + mood + hunger + EXP)

命名

コマンド説明
tamago name <名前>指定名に改名
tamago name --aiLLM に名前を考えさせる

対話

コマンド説明
tamago chat "<メッセージ>"ペットに話しかけて返事をもらう。+50 EXP。tamago show 起動中なら吹き出しにも表示される

TUI (tamago show) の最下部には常時チャット入力欄があります:

  • 文字を入力 → Enter で送信
  • Backspace で削除
  • Esc でバッファクリア(空なら終了)
  • Ctrl+C / Ctrl+D で終了

シェルフック

コマンド説明
tamago hook zshzsh 用フックスクリプトを stdout に出力
tamago hook bashbash 用フックスクリプトを stdout に出力
tamago hook statuslineClaude Code statusline 用スクリプトを stdout に出力

LLM バックエンド

デフォルトは claude(Claude CLI)。

コマンド説明
tamago llm show現在の LLM バックエンドを表示
tamago llm claudeClaude CLI に切り替え(デフォルト、要 Claude Code)
tamago llm localローカル LLM (candle + TinySwallow-1.5B) に切り替え(初回はモデル DL、約 1.1GB)
tamago llm noneLLM を無効化(テンプレフォールバックのみ)
tamago llm device推論に使うデバイス (GPU/CPU) を表示

ローカル LLM の GPU サポート

環境バックエンドHomebrew
macOS (Apple Silicon / Intel)Metal✅ 有効
LinuxCUDA❌ CPU のみ(自前ビルドで有効化)

[!NOTE] GPU が無い環境では claudenone を推奨。 CPU でローカル LLM を回すと推論が数十秒かかり、TUI の応答性が悪くなります。

tamago llm claude  # Claude CLI を使う(要 Claude Code)
tamago llm none    # LLM 無効、固定テンプレートのみ
macOS

Homebrew 版は Metal feature を有効化済み。追加設定不要:

tamago llm device
# コンパイル時 GPU feature: metal
# 推論デバイス (ランタイム): Metal
Linux + CUDA

Homebrew / cargo install のデフォルトビルドは musl 静的リンクのため CPU 推論のみ。GPU を使うには自前ビルドが必要:

事前要件:

  • NVIDIA GPU + ドライバ(nvidia-smi が動くこと)
  • CUDA Toolkit 12.x(nvcc が PATH にあること)
  • cuBLAS(CUDA Toolkit に同梱)

NVIDIA ドライバのインストール:

# Ubuntu / Debian
sudo ubuntu-drivers autoinstall   # 推奨ドライバを自動選択
# または明示版: sudo apt install nvidia-driver-550
sudo reboot

# Arch
sudo pacman -S nvidia

# Fedora / RHEL
sudo dnf install akmod-nvidia   # RPM Fusion 必要

再起動後 nvidia-smi で GPU が見えることを確認。

CUDA Toolkit のインストール:

ディストロ公式パッケージはバージョンが古い場合があるため、NVIDIA 公式 の手順推奨:

# 例: Ubuntu 22.04 / CUDA 12.4 の場合
wget https://developer.download.nvidia.com/compute/cuda/12.4.0/local_installers/cuda-repo-ubuntu2204-12-4-local_12.4.0-550.54.14-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2204-12-4-local_*.deb
sudo cp /var/cuda-repo-ubuntu2204-12-4-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt update
sudo apt install cuda-toolkit-12-4

# PATH 設定(~/.bashrc 等に)
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

Arch なら sudo pacman -S cuda で PATH も自動。

確認:

nvidia-smi              # ドライバ & GPU 認識
nvcc --version          # CUDA Toolkit

両方動くことを確認してから次へ進んでください。

ビルド:

cargo install --git https://github.com/yagince/tamago.git --features cuda

動作確認:

tamago llm device
# コンパイル時 GPU feature: cuda
# 推論デバイス (ランタイム): CUDA

推論デバイス: CPU と出る場合はドライバ未検出 or CUDA Toolkit のバージョン不一致の可能性。nvidia-sminvcc --version の対応バージョンを確認してください。

Claude Code スキル

コマンド説明
tamago skill installClaude Code Agent Skill をユーザーグローバルにインストール
tamago skill install --projectプロジェクトローカル (.claude/skills/) にインストール

インストール後、Claude Code で「ペットを見せて」「pet status」などで呼び出せます。

成長・進化

Stage必要 EXP見た目
Egg0🥚 卵
Baby5,000🐣 孵化
Child20,000🐥 成長
Teen50,000🐤 変化
Adult150,000分岐

Adult の進化分岐

Archetype条件
VersionistGit ≥ 35%🐙 蛸使い
AiMageAI ≥ 35%🧙 クリスタル賢者
CloudDwellerInfra ≥ 35%☁ 嵐雲
AncientMageEditor ≥ 35%📜 長老
Generalist特化なし🦊 狐剣士

データ

~/.config/tamago/ に保存:

  • pet.json — ペット状態
  • activity.jsonl — コマンドログ(append-only)
  • chat_feed.jsonltamago chat の返答を TUI にブリッジする一時キュー(TUI が読むと切り詰め)
  • tamago.log — 実行ログ(LLM タイムアウト等)。5000 行でローテーション

ライセンス

MIT

Contributors

yagince

182 commits

yagince/tamago

Rust

1

182 commits

updated Jun 10, 2026

See the code

README

🥚 tamago

CLIで育てるターミナルペット。シェルの使用度に応じて成長し、育て方で進化が分岐する。

      ▄▀▀▀▀▀▀▀▀▄
    ▄▀          ▀▄
    █   ▄    ▄   █
    █            █
    █    ▀▄▄▀    █
     ▀▄        ▄▀
       ▀▀▄▄▄▄▀▀

🥚 ピカリン [???] Lv.8 ♥100 🍚100

特徴

  • ターミナルを使うだけで育つ — preexec フックで毎コマンド経験値を記録
  • Claude Code 連携 — Claude との会話量に応じて AI カテゴリの経験値が増加
  • 進化分岐 — Git / AI / Dev / Infra / Editor のカテゴリ比率で Adult の姿が変わる
  • ratatui TUItamago show でドラクエ風のアニメーション付きステータス画面
  • 動的表情 — hunger/mood に応じて AA のビットマップを解析し目・口を動的変更
  • Claude が喋る — TUI で Claude CLI がペットのセリフを生成
  • 対話できるtamago chat や TUI 下部の入力欄からペットと会話(+50 EXP)
  • Claude Code plugin 連携 — セッション中のツール使用(Edit/Read/Bash/WebSearch...)が増分でペットの EXP に変換される
  • 常駐プロセスなし — 毎回起動→即終了の fire-and-forget 設計

インストール

Homebrew

brew tap yagince/tamago
brew install tamago

Cargo

cargo install --git https://github.com/yagince/tamago.git

セットアップ

# 1. 初期化(卵生成)
tamago init

# 2. シェルフックを設定
tamago hook zsh >> ~/.zshrc
source ~/.zshrc

# bash の場合
tamago hook bash >> ~/.bashrc

Claude Code statusline 連携(任意)

tamago hook statusline >> ~/.claude/statusline-command.sh

Claude Code plugin(任意)

Claude Code 内から直接インストールできる plugin 版もあります。/plugin コマンドから:

/plugin marketplace add yagince/tamago
/plugin install tamago@yagince
/reload-plugins

前提: tamago バイナリが $PATH にあること(brew install tamago 等でインストール済み)。plugin はバイナリを同梱せず、hook 経由で既存の tamago コマンドを呼び出すだけの薄いラッパーです。

更新: サードパーティ marketplace はデフォルトで auto-update off。新 version が出たら以下で更新:

/plugin marketplace update yagince
/reload-plugins

または /plugin の Marketplaces タブから該当 marketplace の auto-update を on にしておけば自動化されます。バイナリ本体の更新は別途 brew upgrade tamago または tamago update が必要です(2 層構造)。

コマンドリファレンス

基本

コマンド説明
tamagoメイン画面(集計 + AA + ステータス)。引数なしのデフォルト動作
tamago init初期セットアップ。卵を生成してガイドを表示
tamago reset全データを削除して初期化しなおす
tamago update最新バージョンに自己更新

表示

コマンド説明
tamago showドラクエ風 TUI アニメーション画面(Claude がセリフを生成)
tamago show --message-interval <秒>セリフの更新間隔を指定(デフォルト: 30 秒)
tamago statusstatusline 用ワンライナー(emoji + 名前 + 種族 + Lv + mood + hunger + EXP)

命名

コマンド説明
tamago name <名前>指定名に改名
tamago name --aiLLM に名前を考えさせる

対話

コマンド説明
tamago chat "<メッセージ>"ペットに話しかけて返事をもらう。+50 EXP。tamago show 起動中なら吹き出しにも表示される

TUI (tamago show) の最下部には常時チャット入力欄があります:

  • 文字を入力 → Enter で送信
  • Backspace で削除
  • Esc でバッファクリア(空なら終了)
  • Ctrl+C / Ctrl+D で終了

シェルフック

コマンド説明
tamago hook zshzsh 用フックスクリプトを stdout に出力
tamago hook bashbash 用フックスクリプトを stdout に出力
tamago hook statuslineClaude Code statusline 用スクリプトを stdout に出力

LLM バックエンド

デフォルトは claude(Claude CLI)。

コマンド説明
tamago llm show現在の LLM バックエンドを表示
tamago llm claudeClaude CLI に切り替え(デフォルト、要 Claude Code)
tamago llm localローカル LLM (candle + TinySwallow-1.5B) に切り替え(初回はモデル DL、約 1.1GB)
tamago llm noneLLM を無効化(テンプレフォールバックのみ)
tamago llm device推論に使うデバイス (GPU/CPU) を表示

ローカル LLM の GPU サポート

環境バックエンドHomebrew
macOS (Apple Silicon / Intel)Metal✅ 有効
LinuxCUDA❌ CPU のみ(自前ビルドで有効化)

[!NOTE] GPU が無い環境では claudenone を推奨。 CPU でローカル LLM を回すと推論が数十秒かかり、TUI の応答性が悪くなります。

tamago llm claude  # Claude CLI を使う(要 Claude Code)
tamago llm none    # LLM 無効、固定テンプレートのみ
macOS

Homebrew 版は Metal feature を有効化済み。追加設定不要:

tamago llm device
# コンパイル時 GPU feature: metal
# 推論デバイス (ランタイム): Metal
Linux + CUDA

Homebrew / cargo install のデフォルトビルドは musl 静的リンクのため CPU 推論のみ。GPU を使うには自前ビルドが必要:

事前要件:

  • NVIDIA GPU + ドライバ(nvidia-smi が動くこと)
  • CUDA Toolkit 12.x(nvcc が PATH にあること)
  • cuBLAS(CUDA Toolkit に同梱)

NVIDIA ドライバのインストール:

# Ubuntu / Debian
sudo ubuntu-drivers autoinstall   # 推奨ドライバを自動選択
# または明示版: sudo apt install nvidia-driver-550
sudo reboot

# Arch
sudo pacman -S nvidia

# Fedora / RHEL
sudo dnf install akmod-nvidia   # RPM Fusion 必要

再起動後 nvidia-smi で GPU が見えることを確認。

CUDA Toolkit のインストール:

ディストロ公式パッケージはバージョンが古い場合があるため、NVIDIA 公式 の手順推奨:

# 例: Ubuntu 22.04 / CUDA 12.4 の場合
wget https://developer.download.nvidia.com/compute/cuda/12.4.0/local_installers/cuda-repo-ubuntu2204-12-4-local_12.4.0-550.54.14-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2204-12-4-local_*.deb
sudo cp /var/cuda-repo-ubuntu2204-12-4-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt update
sudo apt install cuda-toolkit-12-4

# PATH 設定(~/.bashrc 等に)
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

Arch なら sudo pacman -S cuda で PATH も自動。

確認:

nvidia-smi              # ドライバ & GPU 認識
nvcc --version          # CUDA Toolkit

両方動くことを確認してから次へ進んでください。

ビルド:

cargo install --git https://github.com/yagince/tamago.git --features cuda

動作確認:

tamago llm device
# コンパイル時 GPU feature: cuda
# 推論デバイス (ランタイム): CUDA

推論デバイス: CPU と出る場合はドライバ未検出 or CUDA Toolkit のバージョン不一致の可能性。nvidia-sminvcc --version の対応バージョンを確認してください。

Claude Code スキル

コマンド説明
tamago skill installClaude Code Agent Skill をユーザーグローバルにインストール
tamago skill install --projectプロジェクトローカル (.claude/skills/) にインストール

インストール後、Claude Code で「ペットを見せて」「pet status」などで呼び出せます。

成長・進化

Stage必要 EXP見た目
Egg0🥚 卵
Baby5,000🐣 孵化
Child20,000🐥 成長
Teen50,000🐤 変化
Adult150,000分岐

Adult の進化分岐

Archetype条件
VersionistGit ≥ 35%🐙 蛸使い
AiMageAI ≥ 35%🧙 クリスタル賢者
CloudDwellerInfra ≥ 35%☁ 嵐雲
AncientMageEditor ≥ 35%📜 長老
Generalist特化なし🦊 狐剣士

データ

~/.config/tamago/ に保存:

  • pet.json — ペット状態
  • activity.jsonl — コマンドログ(append-only)
  • chat_feed.jsonltamago chat の返答を TUI にブリッジする一時キュー(TUI が読むと切り詰め)
  • tamago.log — 実行ログ(LLM タイムアウト等)。5000 行でローテーション

ライセンス

MIT

Contributors

yagince

182 commits

Languages

Rust

97.3%

Python

1.8%