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

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]

オプション

オプション短縮形デフォルト説明
--output-ostorage/app/spectrum/openapi.json出力ファイルパス
--format-fjson出力形式(json/yaml)
--patternconfig値含めるルートパターン
--excludeconfig値除外するルートパターン
--no-cachefalseキャッシュを使用しない
--forcefalse既存ファイルを上書き
--dry-runfalseファイル生成なしで実行
--incremental-ifalse変更されたファイルのみ処理

使用例

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

# 特定のパターンのみ生成
php artisan spectrum:generate --pattern="api/v2/*"

# 複数パターンの指定
php artisan spectrum:generate --pattern="api/users/*" --pattern="api/posts/*"

# 除外パターンの指定
php artisan spectrum:generate --exclude="api/admin/*" --exclude="api/debug/*"

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

# キャッシュなしで強制再生成
php artisan spectrum:generate --no-cache --force

# ドライラン(実際には生成しない)
php artisan spectrum:generate --dry-run -vvv

⚡ spectrum:generate:optimized

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

使用方法

php artisan spectrum:generate:optimized [options]

オプション

オプションデフォルト説明
--workersauto並列ワーカー数(autoでCPUコア数)
--chunk-size100各ワーカーが処理するルート数
--memory-limit512M各ワーカーのメモリ制限
--incrementalfalse変更されたファイルのみ処理
--progresstrue進捗バーを表示
--statstrueパフォーマンス統計を表示

使用例

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

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

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

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

# 統計なしで静かに実行
php artisan spectrum:generate:optimized --no-stats --no-progress

👁️ spectrum:watch

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

使用方法

php artisan spectrum:watch [options]

オプション

オプションデフォルト説明
--port8080プレビューサーバーのポート
--hostlocalhostプレビューサーバーのホスト
--no-openfalseブラウザを自動で開かない
--pollfalseポーリングモードを使用
--interval1000ポーリング間隔(ミリ秒)

使用例

# 基本的な使用
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

# ポーリングモード(Docker環境など)
php artisan spectrum:watch --poll --interval=2000

🎭 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/collection.json出力ファイルパス
--include-examplestrueリクエスト/レスポンス例を含める
--include-testsfalseテストスクリプトを生成
--environmentfalse環境変数ファイルも生成
--base-urlAPP_URLベースURL

使用例

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

# テストスクリプト付きでエクスポート
php artisan spectrum:export:postman --include-tests

# 環境変数ファイルも生成
php artisan spectrum:export:postman --environment

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

# 完全なエクスポート
php artisan spectrum:export:postman \
--include-tests \
--environment \
--base-url=https://api.example.com

🦊 spectrum:export:insomnia

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

使用方法

php artisan spectrum:export:insomnia [options]

オプション

オプションデフォルト説明
--outputstorage/app/spectrum/insomnia/workspace.json出力ファイルパス
--workspace-nameAPP_NAME APIワークスペース名
--include-environmentstrue環境設定を含める
--folder-structuretrueフォルダ構造で整理

使用例

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

# カスタムワークスペース名
php artisan spectrum:export:insomnia --workspace-name="My Cool API"

# フォルダ構造なしでフラット
php artisan spectrum:export:insomnia --no-folder-structure

# カスタム出力先
php artisan spectrum:export:insomnia --output=insomnia/api.json

🗑️ 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\""
}
}

📚 関連ドキュメント