mcpField
I
install-duckdb

install-duckdb

github.com/duckdbデータ・データベース613952 回インストール28 週間前に更新
リポジトリ

install-duckdb について

install-duckdb は、DuckDB 拡張機能のインストールや、拡張機能と DuckDB CLI の更新に使うスキルです。拡張機能名と任意のリポジトリを指定でき、更新モードも備えています。

主な機能

  1. 01指定した DuckDB 拡張機能のインストール
  2. 02拡張機能リポジトリの指定
  3. 03指定または全拡張機能の更新
  4. 04DuckDB CLI の確認とアップグレード

活用シーン

  1. 01作業に必要な拡張機能のインストール
  2. 02DuckDB 拡張機能と CLI の更新

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/duckdb/duckdb-skills --skill install-duckdb

インストール後、Claude Code で/install-duckdbを入力して読み込まれたか確認します。

同梱ファイルeval.sh

詳細

引数:$@

各拡張機能の引数は、name または name@repo の形式です。

  • name → INSTALL name;
  • name@repo → INSTALL name FROM repo;

ステップ 1 — DuckDB の場所を確認する

DUCKDB=$(command -v duckdb)

見つからない場合は、ユーザーに次のように伝えます。

DuckDB がインストールされていません。 次のいずれかの方法でインストールしてください。

  • macOS: brew install duckdb
  • Linux: curl -fsSL https://install.duckdb.org | sh
  • Windows: winget install DuckDB.cli

その後、/duckdb-skills:install-duckdb を再実行してください。

DuckDB が見つからない場合は停止します。

ステップ 2 — --update フラグを確認する

$@ に --update が含まれている場合は、引数リストから削除し、モードを update に設定します。 それ以外の場合、モードは install です。

ステップ 3 — ステートメントを作成して実行する

Install モード:

残りの各引数を解析します。

  • @ が含まれている場合は、@ で分割して → INSTALL <name> FROM <repo>;
  • それ以外の場合は → INSTALL <name>;

すべてを単一の DuckDB 呼び出しで実行します。

"$DUCKDB" :memory: -c "INSTALL <ext1>; INSTALL <ext2> FROM <repo2>; ..."

Update モード:

まず、DuckDB CLI 自体が最新かどうかを確認します。

CURRENT=$(duckdb --version | grep -oE '[0-9]+\.[0-9]+\.[0-9]+')
LATEST=$(curl -fsSL https://duckdb.org/data/latest_stable_version.txt)
  • CURRENT == LATEST の場合 → DuckDB CLI は最新であると報告します。

  • CURRENT != LATEST の場合 → ユーザーに確認します。

    DuckDB CLI は最新ではありません(インストール済み:CURRENT、最新:LATEST)。今すぐアップグレードしますか?

    ユーザーが同意した場合は、プラットフォームを検出し、適切なアップグレードコマンドを実行します。

    • macOS(brew を利用可能):brew upgrade duckdb
    • Linux:curl -fsSL https://install.duckdb.org | sh
    • Windows:winget upgrade DuckDB.cli

次に、拡張機能を更新します。

  • 拡張機能名がない場合 → すべて更新します:UPDATE EXTENSIONS;
  • 拡張機能名がある場合 → 単一の呼び出しで更新します(@repo は無視します)。 UPDATE EXTENSIONS (<name1>, <name2>, ...);
"$DUCKDB" :memory: -c "UPDATE EXTENSIONS;"
# or
"$DUCKDB" :memory: -c "UPDATE EXTENSIONS (<ext1>, <ext2>, ...);"

呼び出しの完了後、成功または失敗を報告します。

コメント