メインコンテンツまでスキップ

CLIコマンドリファレンス

Laravel Spectrumで利用可能なすべてのArtisanコマンドとオプションの詳細なリファレンスです。

📋 コマンド一覧

コマンド説明
spectrum:generateOpenAPIドキュメントを生成
spectrum:generate:optimized最適化された生成(大規模プロジェクト向け)
spectrum:watchリアルタイムプレビューモード
spectrum:mockモックAPIサーバーを起動
spectrum:export:postmanPostmanコレクションにエクスポート
spectrum:export:insomniaInsomniaワークスペースにエクスポート
spectrum:cacheキャッシュ管理(クリア、統計、ウォームアップ)

🔧 spectrum:generate

APIドキュメントを生成する基本コマンドです。

使用方法

php artisan spectrum:generate [options]

オプション

オプションデフォルト説明
--outputstorage/app/spectrum/openapi.json出力ファイルパス
--formatjson出力形式(json/yaml/html)
--no-cachefalseキャッシュを使用しない
--clear-cachefalse生成前にキャッシュをクリア
--fail-on-errorfalse最初のエラーで実行を停止
--ignore-errorsfalseエラーを無視して生成を続行
--error-reportなしエラーレポートをファイルに保存
--no-try-it-outfalseHTML出力の"Try It Out"機能を無効化

使用例

# 基本的な生成
php artisan spectrum:generate

# YAML形式で出力
php artisan spectrum:generate --format=yaml --output=docs/api.yaml

# HTML形式で出力(Swagger UI付き)
php artisan spectrum:generate --format=html --output=docs/api.html

# キャッシュをクリアして再生成
php artisan spectrum:generate --clear-cache

# キャッシュを使用せず生成
php artisan spectrum:generate --no-cache

# エラー時に停止
php artisan spectrum:generate --fail-on-error

# エラーを無視して続行
php artisan spectrum:generate --ignore-errors

# エラーレポートを保存
php artisan spectrum:generate --error-report=storage/spectrum-errors.json

# 詳細な出力で生成
php artisan spectrum:generate -vvv

⚡ spectrum:generate:optimized

大規模プロジェクト向けの最適化された生成コマンドです。

使用方法

php artisan spectrum:generate:optimized [options]

オプション

オプションデフォルト説明
--formatjson出力形式(json/yaml)
--outputstorage/app/spectrum/openapi.json出力ファイルパス
--parallelfalse並列処理を有効化
--workersauto並列ワーカー数(autoでCPUコア数)
--chunk-sizeauto各ワーカーが処理するルート数
--memory-limit512M各ワーカーのメモリ制限
--incrementalfalse変更されたファイルのみ処理

使用例

# 自動最適化で生成
php artisan spectrum:generate:optimized

# 並列処理を有効化
php artisan spectrum:generate:optimized --parallel

# 8ワーカーで並列処理
php artisan spectrum:generate:optimized --parallel --workers=8

# メモリとチャンクサイズの調整
php artisan spectrum:generate:optimized --memory-limit=1G --chunk-size=50

# インクリメンタル生成
php artisan spectrum:generate:optimized --incremental

# YAML形式で出力
php artisan spectrum:generate:optimized --format=yaml

# 詳細な出力で生成
php artisan spectrum:generate:optimized -v

👁️ spectrum:watch

ファイル変更を監視してリアルタイムでドキュメントを更新します。

使用方法

php artisan spectrum:watch [options]

オプション

オプションデフォルト説明
--port8080プレビューサーバーのポート
--host127.0.0.1プレビューサーバーのホスト
--no-openfalseブラウザを自動で開かない

使用例

# 基本的な使用
php artisan spectrum:watch

# カスタムポートで起動
php artisan spectrum:watch --port=3000

# ブラウザを開かずに起動
php artisan spectrum:watch --no-open

# 外部アクセス可能にする
php artisan spectrum:watch --host=0.0.0.0

🎭 spectrum:mock

OpenAPIドキュメントに基づいてモックAPIサーバーを起動します。

使用方法

php artisan spectrum:mock [options]

オプション

オプションデフォルト説明
--host127.0.0.1バインドするホストアドレス
--port8081リッスンするポート番号
--specstorage/app/spectrum/openapi.jsonOpenAPI仕様ファイルのパス
--delayなしレスポンス遅延(ミリ秒)
--scenariosuccessデフォルトのレスポンスシナリオ

使用例

# 基本的な起動
php artisan spectrum:mock

# カスタムポートとホスト
php artisan spectrum:mock --host=0.0.0.0 --port=3000

# レスポンス遅延の追加
php artisan spectrum:mock --delay=500

# エラーシナリオをデフォルトに
php artisan spectrum:mock --scenario=error

# カスタムOpenAPIファイル
php artisan spectrum:mock --spec=docs/custom-api.json

📤 spectrum:export:postman

PostmanコレクションとしてAPIドキュメントをエクスポートします。

使用方法

php artisan spectrum:export:postman [options]

オプション

オプションデフォルト説明
--outputstorage/app/spectrum/postman出力ディレクトリ
--environmentslocalエクスポートする環境(カンマ区切り)
--single-filefalse環境を埋め込んだ単一ファイルでエクスポート

使用例

# 基本的なエクスポート
php artisan spectrum:export:postman

# カスタム出力先
php artisan spectrum:export:postman --output=postman/

# 複数環境をエクスポート
php artisan spectrum:export:postman --environments=local,staging,production

# 単一ファイルでエクスポート
php artisan spectrum:export:postman --single-file

🦊 spectrum:export:insomnia

InsomniaワークスペースとしてAPIドキュメントをエクスポートします。

使用方法

php artisan spectrum:export:insomnia [options]

オプション

オプションデフォルト説明
--outputstorage/app/spectrum/insomnia/insomnia_collection.json出力ファイルパス

使用例

# 基本的なエクスポート
php artisan spectrum:export:insomnia

# カスタム出力先(ファイルパス)
php artisan spectrum:export:insomnia --output=insomnia/api.json

# カスタム出力先(ディレクトリ)
php artisan spectrum:export:insomnia --output=insomnia/

🗑️ spectrum:cache

Laravel Spectrumのキャッシュを管理します(クリア、統計表示、ウォームアップ)。

使用方法

php artisan spectrum:cache {action}

アクション

アクション説明
clearキャッシュされたすべてのドキュメントをクリア
statsキャッシュ統計(サイズ、ファイル数など)を表示
warmキャッシュをクリアして再生成

使用例

# すべてのキャッシュをクリア
php artisan spectrum:cache clear

# キャッシュ統計を表示
php artisan spectrum:cache stats

# キャッシュをウォームアップ(クリア&再生成)
php artisan spectrum:cache warm

🔍 グローバルオプション

すべてのコマンドで使用可能なLaravelのグローバルオプション:

オプション短縮形説明
--help-hヘルプを表示
--quiet-q出力を抑制
--verbose-v/-vv/-vvv詳細度を増加
--version-Vバージョンを表示
--ansiANSI出力を強制
--no-ansiANSI出力を無効化
--no-interaction-n対話的な質問をしない
--env環境を指定

💡 便利な使い方

エイリアスの設定

# ~/.bashrc または ~/.zshrc に追加
alias specgen="php artisan spectrum:generate"
alias specwatch="php artisan spectrum:watch"
alias specmock="php artisan spectrum:mock"

Makefileの活用

# Makefile
.PHONY: docs docs-watch docs-mock

docs:
php artisan spectrum:generate

docs-watch:
php artisan spectrum:watch

docs-mock:
php artisan spectrum:mock

docs-export:
php artisan spectrum:export:postman --environment
php artisan spectrum:export:insomnia

npm scriptsとの統合

{
"scripts": {
"api:docs": "php artisan spectrum:generate",
"api:watch": "php artisan spectrum:watch",
"api:mock": "php artisan spectrum:mock",
"dev": "concurrently \"npm run api:mock\" \"npm run serve\""
}
}

📚 関連ドキュメント