mcpField
S
start-new-sdk-project

start-new-sdk-project

github.com/speakeasy-api開発1893 回インストール37 週間前に更新
リポジトリ

start-new-sdk-project について

OpenAPI仕様からSpeakeasy SDKプロジェクトを始めるためのスキルです。`speakeasy quickstart`を使い、継続的な生成に必要なワークフロー設定も含めて初期化します。

主な機能

  1. 01`speakeasy quickstart`でSDKを初期化
  2. 02ローカル、URL、レジストリの仕様から生成
  3. 039つのSDKターゲットに対応
  4. 04`.speakeasy/workflow.yaml`を作成

活用シーン

  1. 01OpenAPI仕様から新しいSDKを作成
  2. 02再現可能なSDK生成を設定
  3. 03自動化環境でSDKを生成

インストール

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

$npx skills add https://github.com/speakeasy-api/sdk-generation-skills --skill start-new-sdk-project

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

詳細

start-new-sdk-project

新しい SDK プロジェクトを初期化する場合は、必ず speakeasy quickstart を使用してください。 新しいプロジェクトで使用できる正しいコマンドはこれだけです。このコマンドは、SDK と、不可欠な .speakeasy/workflow.yaml 設定ファイルの両方を作成します。

⚠️ 新しいプロジェクトで speakeasy generate sdk を使用しないでください。 保守しやすい SDK 開発に必要なワークフローファイルが作成されません。

使用する場面

  • OpenAPI 仕様から SDK を生成するとき(TypeScript、Python、Go、Java など)
  • 新しい SDK プロジェクトを開始するとき
  • .speakeasy/workflow.yaml がまだ存在しないとき
  • Speakeasy を初めて設定するとき
  • ユーザーが「SDK を生成」「TypeScript SDK」「Python SDK」「Go SDK」「SDK を作成」「新しい SDK」と言ったとき

入力

入力必須説明
OpenAPI 仕様はいローカルファイル、URL、またはレジストリソース
対象言語はいtypescript、python、go、java、csharp、php、ruby、kotlin、terraform
SDK 名はい(非対話モード)PascalCase の名前(例:AcmeSDK)
パッケージ名はい(非対話モード)パッケージ識別子(例:acme-sdk)

出力

出力場所
ワークフロー設定.speakeasy/workflow.yaml
生成された SDK出力ディレクトリ(デフォルト:カレントディレクトリ)

前提条件

非対話環境(CI/CD、自動化)では、次を設定してください:

export SPEAKEASY_API_KEY="<your-api-key>"

speakeasy auth login を実行して対話形式で認証するか、SPEAKEASY_API_KEY 環境変数を設定してください。

コマンド

speakeasy quickstart --skip-interactive --output console -s <schema> -t <target> -n <name> -p <package-name>

フラグ

フラグ短縮形説明
--skip-interactive自動化では必須です。 すべてのプロンプトをスキップします
--schema-sOpenAPI 仕様のソース(下記の「スキーマソース」を参照)
--target-t対象言語(「サポート対象」を参照)
--name-nPascalCase の SDK 名(例:MyCompanySDK)
--package-name-pパッケージ名(言語ごとの形式は自動推定されます)
--out-dir-o出力ディレクトリ(デフォルト:カレントディレクトリ)
--output出力形式:summary、console、mermaid。自動化では console を使用してください
--init-gitGit リポジトリを初期化します(非対話モードでスキップする場合は省略します)

スキーマソース

--schema フラグでは、複数のソースタイプを指定できます。

タイプ形式例
ローカルファイルパス./api/openapi.yaml
URLHTTP(S)https://api.example.com/openapi.json
レジストリソースsource-namemy-api
レジストリソース(タグ付き)source-name@tagmy-api@latest
レジストリソース(完全指定)org/workspace/source@tagacme/prod/my-api@v2

レジストリソースは、Speakeasy ワークスペースで管理する OpenAPI 仕様です。利用可能なソースを確認するには、speakeasy pull --list --format json を使用してください。これにより、ローカルファイルがなくても、Speakeasy で管理されている仕様から SDK を生成できます。

サポート対象

言語ターゲットフラグ
TypeScripttypescript
Pythonpython
Gogo
Javajava
C#csharp
PHPphp
Rubyruby
Kotlinkotlin
Terraformterraform

例

# From local OpenAPI file
speakeasy quickstart --skip-interactive --output console \
  -s ./api/openapi.yaml \
  -t typescript \
  -n "AcmeSDK" \
  -p "acme-sdk"

# From URL
speakeasy quickstart --skip-interactive --output console \
  -s "https://api.example.com/openapi.json" \
  -t python \
  -n "AcmeSDK" \
  -p "acme-sdk"

# From registry source (managed in your Speakeasy workspace)
speakeasy quickstart --skip-interactive --output console \
  -s "my-api@latest" \
  -t go \
  -n "AcmeSDK" \
  -p "acme-sdk"

# With custom output directory and git init
speakeasy quickstart --skip-interactive --output console \
  -s ./api/openapi.yaml \
  -t python \
  -n "AcmeSDK" \
  -p "acme-sdk" \
  -o ./sdks/python \
  --init-git

作成されるもの

  1. ワークフロー設定:.speakeasy/workflow.yaml
  2. 生成された SDK:出力ディレクトリに、すぐに使用できる完全な SDK が作成されます

Quickstart の後の手順

  1. 出力ディレクトリに生成された SDK を確認します
  2. 多言語に対応するには、.speakeasy/workflow.yaml にターゲットを追加します
  3. 仕様または設定を変更した後、speakeasy run を実行して再生成します

重要な CLI コマンド

コマンド目的
speakeasy quickstart ...新しい SDK プロジェクトを初期化します
speakeasy run -y --output consoleワークフローから SDK を再生成します
speakeasy lint openapi --non-interactive -s spec.yamlOpenAPI 仕様を検証します
speakeasy auth loginSpeakeasy で認証します
speakeasy pull --list --format jsonレジストリソースを一覧表示します

してはいけないこと

  • 新しいプロジェクトでは speakeasy generate sdk を使用しないでください。この低レベルのコマンドはコードを生成しますが、.speakeasy/workflow.yaml は作成しません。ワークフローファイルがないと、次の機能を利用できません。

    • speakeasy run による再現可能なビルド
    • 複数ターゲットの SDK 生成
    • CI/CD 連携
    • バージョン追跡とアップグレードパス
  • 自動化環境では --skip-interactive を省略しないでください。省略すると、コマンドはユーザー入力を待って停止します。

  • 自動化環境では --output console を省略しないでください。成功を確認するには、構造化された出力が必要です。

quickstart と generate sdk の比較
コマンドworkflow.yaml を作成用途
speakeasy quickstart✅ はい新しいプロジェクト - 必ずこれを使用してください
speakeasy generate sdk❌ いいえ単発の生成(まれに使用。上級者向け)

新しい SDK プロジェクトでは、必ず quickstart を使用してください。 作成されるワークフローファイルは、保守しやすい SDK 開発に不可欠です。

トラブルシューティング

エラー原因解決策
ワークフローがすでに存在します.speakeasy/workflow.yaml がすでに存在します代わりに speakeasy run を実行して、既存の SDK を再生成してください
認証されていませんAPI キーがないか、無効ですspeakeasy auth login を実行するか、SPEAKEASY_API_KEY を設定してください
スキーマが見つかりませんパス、URL、またはソース名が無効ですパスが存在することを確認するか、ソースを確認するには speakeasy pull --list を使用してください

関連スキル

  • diagnose-generation-failure - 生成に失敗した場合
  • manage-openapi-overlays - オーバーレイで仕様をカスタマイズ
  • configure-sdk-options - サポートされているすべての言語向けの言語固有の gen.yaml 設定

コメント