GPT-5のような高度なAIモデルを開発ワークフローに統合することは、開発者の生産性において大きな飛躍を意味します。最近リリースされたCursor CLIにより、ユーザーは最先端のAIを活用する強力なコマンドラインツールにアクセスできるようになりました。
このガイドでは、Cursor CLIを介してGPT-5を使用し、API設計とサーバーコードを生成し、それらの成果物をApidogでインポートして検証するための、技術的なステップバイステップのウォークスルーを提供します。正確なコマンド、実用的なプロンプトの例、CIの自動化パターン、および堅牢化のヒントが得られます。可能な限り、すべてのステップを再現できるように公式ドキュメントと例にリンクしています。
Cursor CLIとGPT-5の統合を理解する
Cursor CLIは、AI支援開発における新たなフロンティアを象徴し、Cursorプラットフォームの機能を直接ターミナルにもたらします。早期ベータ版としてリリースされ、コマンドラインインターフェース(CLI)とエディター間のシームレスな対話を可能にし、OpenAIから新たに導入されたGPT-5を含む複数のAIモデルをサポートします。GPT-5は、その強化された推論およびコーディング能力で知られ、以前のモデルよりも高い精度で複雑なタスクを処理することを約束します。

GPT-5のCursor CLIへの統合により、開発者はコマンドの実行、ワークフローの自動化、コードの生成をターミナルから直接行うことができます。Xの投稿画像に示されているインターフェースには、APIからのアートワークのロード、再生のトリガー、変更の概要の出力などのオプションが含まれており、GPT-5がコマンド実行を担っています。この設定は、開発者がモデルを切り替え、タスクを効率的に管理できる柔軟な環境を提供します。

Cursor CLIのインストールと検証
ステップ1 — インストール(ワンライン):
curl https://cursor.com/install -fsS | bash
これは、CursorがCLI用に文書化した公式のインストールコマンドです。これにより、CLIコマンド(例:cursor-agent
)が利用可能になります。(Cursor、Cursor)
ステップ2 — インストールとバージョンの検証:
cursor-agent --version
cursor-agent status
CLIは--version
とstatus
コマンドをサポートしています(後者は認証状態とエンドポイント構成を表示します)。(Cursor)
ステップ3 — 認証(2つのオプション)
ブラウザフロー(開発マシンに推奨):
cursor-agent login
# これによりブラウザが開き、認証が完了します。
cursor-agent status
APIキー(スクリプト/CIに推奨):
CursorダッシュボードでAPIキーを作成します。
エクスポートします:
export CURSOR_API_KEY="sk_XXXX..."
# または単一コマンドでインラインで渡す:
cursor-agent --api-key sk_XXXX... "refactor the auth module"
CLIは、非対話型の自動化のために--api-key
またはCURSOR_API_KEY
環境変数をサポートしています。
安全に関する注意: Cursor Agentはシェルコマンドを読み取り、変更し、実行できます。信頼できるコンテキストまたは安全なCIランナーでのみ実行してください。CLIドキュメントでは、進化するセキュリティ対策について明示的に言及しています。
GPT-5アクセスとモデルフラグの確認
Cursor CLIは、モデルを選択するための-m, --model
フラグを公開しています。例として、sonnet-4
、sonnet-4-thinking
、gpt-5
などのモデルがあります。インタラクティブセッション内では、/model
スラッシュコマンドを使用してモデルを切り替えることもできます。スクリプトには-m
フラグを使用してください。
クイックチェック(インタラクティブにモデルをリスト表示):
CLIを起動し、次に/model
を使用します:
cursor-agent
# セッション内で、次のように入力します:
/model
# または次を使用します:
cursor-agent -m gpt-5 "print available models and confirm access"
また、注意点として、CursorはCursor内でのGPT-5の利用可能性を発表しました。gpt-5
がリストに表示されることを期待してください。
具体的なユースケース:GPT-5でOpenAPI 3.0仕様を生成する(ステップバイステップ)
GPT-5(Cursor CLI経由)に、シンプルな決済API用のOpenAPI YAMLファイルを生成するよう依頼します。次に、そのファイルをApidogにインポートしてテストを実行します。
ステップ3.1 — 厳密なプロンプトを作成する(形式の制御が重要)
機械可読な成果物を生成する際は、モデルにファイルの内容のみを出力するよう指示してください(マークダウンのフェンスやコメントは含めないでください)。スキーマと一貫した命名を強制するために、少数のショットの例を使用してください。OpenAI CookbookとCursorのドキュメントは、不要なラッパーテキストを避けるために、厳密なシステムプロンプトと応答形式を推奨しています。(OpenAI Cookbook、Cursor)
プロンプトの例(簡潔かつ明示的):
OpenAPI 3.0.3openapi.yaml
セキュリティ:BearerトークンAuthorization
(HTTPベアラー)
エンドポイント:
POST /payments
— 支払いを作成。リクエストボディapplication/json
。レスポンス201
GET /payments/{paymentId}
— IDで支払いを取得。レスポンス200
または404
PUT /payments/{paymentId}
— メタデータを更新。レスポンス200
DELETE /payments/{paymentId}
— キャンセル。レスポンス204
PaymentRequest
、PaymentResponse
、およびError
スキーマのコンポーネント/スキーマ
リクエストとレスポンスのボディ例
USD
を使用し、amount
を整数セントで含める
components.securitySchemes
ステップ3.2 — Cursor CLIを非対話的に呼び出し、YAMLをキャプチャする
-m gpt-5
でGPT-5を選択し、-p
で応答を(非対話的に)出力します。標準出力をopenapi.yaml
にリダイレクトします。
# CIまたはローカルでAPIキーを設定します:
export CURSOR_API_KEY="sk_..."
# モデル選択と出力モードによる非対話型生成
cursor-agent -m gpt-5 -p "Generate OpenAPI 3.0.3 YAML for a Payments API (see prompt above)" > openapi.yaml
説明:
-m gpt-5
はGPT-5の使用を強制します。
-p
はモデルの応答を出力し、それを後で使用するためにファイルにリダイレクトします。Cursor CLIはスクリプト作成のために--output-format
と-p
をサポートしています。(Cursor)
モデルが誤ってラッパーテキストを含んでしまった場合は、より厳密な表現で再実行してください:Respond only with YAML, starting with 'openapi:'
— これにより余分なテキストが減ります。
生成されたYAMLをローカルで検証する(クイック健全性チェック)
アップロードまたはインポートする前に:
YAML lint:
npm i -g yaml-cli # optional
yaml validate openapi.yaml
OpenAPI linter (Speccy / Spectral):
npm install -g @stoplight/spectral
spectral lint openapi.yaml
報告されたスキーマの問題を修正してください(GPTはtype: integer
とformat: int64
の誤用、required
の省略、components
の誤配置などをすることがあります)。これらは素早い手動編集で対応できます。
OpenAPI仕様をApidogにインポートする(2つのオプション)
Apidogは、UIを介した手動インポート、またはプログラムによるワークフローのためのAPIインポート(POST /v1/projects/{projectId}/import-openapi
)をサポートしています。パイプラインに合ったアプローチを選択してください。(docs.apidog.com、openapi.apidog.io)
オプションA — 手動UIインポート(高速、最初のイテレーションに推奨)
Apidogを開く → プロジェクトを作成 → プロジェクト設定 → データをインポート → OpenAPI。
表示されているエリアにJSON
またはYAML
ファイルをドラッグ&ドロップするか、単にそのエリアをクリックして、システムファイルマネージャーから目的のファイルを参照して選択することができます。
URLインポートを使用する場合、Swagger UIのベースURLではなく、JSON
またはYAML
データファイルへの直接URLを提供してください。

インポート - 詳細設定
オプションB — プログラムによるインポート(CI / 自動化)
openapi.yaml
を安定したURL(S3、GitHub raw)でホストしている場合は、OpenAPIインポートエンドポイントを呼び出します。
# 例:Apidog API経由でのインポート(APIDOG_ACCESS_TOKENとprojectIdが必要)
curl --location -g --request POST "https://api.apidog.com/v1/projects/${APIDOG_PROJECT_ID}/import-openapi?locale=en-US" \
--header "Authorization: Bearer ${APIDOG_ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
--data-raw '{
"input": {"url": "https://my-bucket.s3.amazonaws.com/openapi.yaml"},
"options": {
"targetEndpointFolderId": 0,
"endpointOverwriteBehavior": "OVERWRITE_EXISTING"
}
}'
応答には、作成/更新されたエンドポイントとスキーマのカウンターが含まれており、CIでの成功をアサートするためにそれを使用します。APIドキュメントには、このPOSTエンドポイントと例が含まれています。
Apidogでテストを作成するか、エンドポイントケースをインポートする(クイックガイド)
OpenAPI仕様がApidogにインポートされたら:
ApidogのUIを使用して、リクエストテンプレートと例のボディを自動生成します。
環境(ステージングベースURL + APIトークン環境変数)を設定します。
テストシナリオを作成します:標準的なライフサイクルテスト(作成 → 読み取り → 更新 → 削除)を順序付けます。Apidogは、テストモジュールを介したテストシナリオの作成と自動アサーションをサポートしています。(docs.apidog.com)
テスト作成を自動化したい場合は、Apidog API呼び出しをスクリプト化して、プログラムでテストシナリオを作成できます(Apidogは独自のAPIへのOpenAPIを提供しています)。エンドポイントについては、Apidog APIドキュメントを参照してください。(openapi.apidog.io)
Apidog CLIをインストールし、ローカルまたはCIでテストを実行する
グローバルにインストール:
# Node.js (v16+) が必要です
npm install -g apidog-cli
# 検証
node -v && apidog -v
Apidog CLIは、エクスポートされたテストシナリオを使用してオンライン(アクセストークン付き)またはローカル/オフラインで実行できます。オンラインで実行する場合は、Apidogアクセストークンを--access-token
で渡します。

保存されたテストシナリオを実行する(オンライン):
export APIDOG_ACCESS_TOKEN="sk_apidog_..."
apidog run --access-token $APIDOG_ACCESS_TOKEN -t <TEST_ID> -e <ENV_ID> -r html,cli
ローカルで実行する(エクスポートされたテストシナリオから):
apidog run ./exported-scenarios/payment-tests.json --report cli

Apidog CLIはCIパイプラインにスムーズに統合され、テスト実行のCLI/HTMLレポートを生成します。
エンドツーエンド自動化の例:GPT-5で仕様を生成し、Apidogにインポートしてテストを実行する(GitHub Actions)
以下は、パターンを示す最小限のGitHub Actionsワークフローです。
name: GPT5 → Apidog CI
on: [push]
jobs:
generate-and-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Node.js and Apidog CLI
uses: actions/setup-node@v4
with:
node-version: '18'
- run: npm install -g apidog-cli
- name: Install Cursor CLI
run: curl https://cursor.com/install -fsS | bash
- name: Generate OpenAPI via Cursor (headless)
env:
CURSOR_API_KEY: ${{ secrets.CURSOR_API_KEY }}
run: |
cursor-agent -m gpt-5 -p "Generate OpenAPI 3.0.3 YAML for a Payments API. Only return raw YAML." > openapi.yaml
# Basic validation
npx @stoplight/spectral lint openapi.yaml || true
- name: Upload openapi.yaml to S3 (or GitHub Raw)
run: |
# upload steps here -- depends on your infra
echo "Upload to bucket and set OPENAPI_URL"
- name: Import to Apidog via API
env:
APIDOG_ACCESS_TOKEN: ${{ secrets.APIDOG_ACCESS_TOKEN }}
APIDOG_PROJECT_ID: ${{ secrets.APIDOG_PROJECT_ID }}
run: |
curl -s -X POST "https://api.apidog.com/v1/projects/${APIDOG_PROJECT_ID}/import-openapi?locale=en-US" \
-H "Authorization: Bearer ${APIDOG_ACCESS_TOKEN}" \
-H "Content-Type: application/json" \
--data-raw "{\"input\":{\"url\":\"${{ env.OPENAPI_URL }}\"},\"options\":{}}"
- name: Run Apidog tests
env:
APIDOG_ACCESS_TOKEN: ${{ secrets.APIDOG_ACCESS_TOKEN }}
run: |
apidog run --access-token $APIDOG_ACCESS_TOKEN -t 637132 -e 358171 -r cli
注:
S3 / アップロードステップを、あなたの成果物ホスティングに置き換えてください。
シークレットCURSOR_API_KEY
、APIDOG_ACCESS_TOKEN
、およびAPIDOG_PROJECT_ID
は、リポジトリのシークレットに保管してください。
生成された仕様を本番環境にデプロイする前に、承認し、精査してください。
ApidogとCursorは両方ともヘッドレス/CIでの使用をサポートしています。CursorのCLIは、環境をまたいだヘッドレスエージェントの使用を明示的にサポートしており、Apidog CLIはCI統合のために構築されています。
高度な機能:エージェントにコードを編集させ、ローカルでテストを実行し、パッチをコミットさせる
Cursorのエージェントは、ファイルの編集やシェルコマンドの実行が可能です(承認が必要)。この機能により、以下のことが可能になります。
GPT-5にサーバーコード(Express/Flask/FastAPI)のひな形を生成させる。
ターミナルで差分を確認する。
適用を承認し、npm test
を実行し、変更を自動的にコミットする。
例のシーケンス(ローカル開発):
# コード生成 + 適用
cursor-agent -m gpt-5 "Create an Express v4 route at src/routes/payments.js with handlers for POST/GET/PUT/DELETE and unit tests (jest). Run tests after applying."
# Cursor CLIは編集を提案します。特定のシェルコマンドを確認し、許可または拒否してください。
ドキュメントには、エージェントのツールキット(ファイル操作、検索、シェルコマンド実行)が記述されており、レビューチェックポイントとチェックインワークフローが強調されています。これらを使用して、自動化された編集を制御してください。
一般的な失敗モードのデバッグ
GPTが無効なYAMLを生成した — 「YAMLのみ」という正確なプロンプトで再実行するか、sed
/yq
で前方の行を削除して後処理します。
Apidogのインポートで不足しているフィールドが報告される — components
とoperationIdsを検査します。Apidogは、エンドポイント名にsummary
、operationId
、path
を優先的にマッピングします。仕様でそれらを修正し、再インポートしてください。
Apidog CLIが変数またはファイルパスのために失敗する — CLI実行時にファイルアップロードに絶対パスを使用し、環境変数が設定されていることを確認してください。Apidogのドキュメントには、一般的なファイルパスの問題とCLI実行の設定方法が説明されています。
セキュリティとガバナンス(非常に重要)
信頼できないコードに対して、エージェントを昇格された資格情報で実行しないでください。Cursorは、CLIがシェルコマンドを実行し、ファイルを変更できると警告しています。本番環境のシークレットは慎重に保護してください。
シークレットの取り扱い:APIキーと環境シークレットはCIのシークレットストアに保管してください。スペックにトークンを埋め込むのではなく、Apidog Vault / 環境変数を使用してください。ApidogはVault統合(HashiCorp、Azure Key Vault)をサポートしています。
エージェントがファイルシステムまたはシェル操作を提案する場合、手動でエージェントの変更を承認してください。本番環境へのプッシュには、CIで少なくとも1つの人間による承認ステップを要求してください。
例:コピーできる正確なプロンプト
OpenAPI YAMLの生成(短縮版):
cursor-agent -m gpt-5 -p "Output ONLY a valid OpenAPI 3.0.3 YAML for a 'payments' API with POST /payments, GET/PUT/DELETE /payments/{paymentId}. Use components.schemas PaymentRequest and PaymentResponse. Add examples. Do not include any markdown fences or commentary."
CursorにExpressハンドラとテストを作成させる:
cursor-agent -m gpt-5 -p "Create Express route handlers in src/routes/payments.js with corresponding unit tests in tests/payments.test.js. Implement basic in-memory store. Provide package.json scripts to run tests. Only output a JSON patch showing file names and full contents in JSON format."
既存のREADMEの説明をOpenAPI仕様に変換する:
cursor-agent -m gpt-5 -p "Convert the following README API description into an OpenAPI 3.0.3 YAML. Output only YAML. [paste README paragraphs]"
なぜGPT-5 + Cursor CLI + Apidogを組み合わせるのか?
Cursor CLIはGPT-5をターミナルに導入し、非対話型自動化、ファイル操作、ヘッドレスCI利用をサポートします。これにより、機械生成された成果物を直接リポジトリに取り込みたい場合の摩擦が軽減されます。
GPT-5は、コードとスキーマの生成においてより高い精度と推論を提供します(Cursorは製品内にGPT-5サポートを追加しました)。
Apidogはループを完成させます:結果として得られるOpenAPI仕様をインポートし、モックサーバーを生成し、スモークテストと統合テストを実行し、レポートをエクスポートします — これにより、堅牢な開発/テストのフィードバックループが可能になります。
結論
このワークフローは、実用的なパターンを提供します:生成(Cursor CLI経由のGPT-5)→ インポート/検査(Apidog)→ モック&テスト(Apidog CLI/UI)。これにより、プロトタイピングが加速され、検証(Spectral、単体テスト)と組み合わせることで、アイデアから統合まで安全に進めることができます。規模を拡大する際には、より厳格な安全策を追加してください:スキーマ検証ゲート、生成されたコードの手動承認、継続的なテストスイートなどです。
