インストール
Spine v0.6.0 以降、公式の開始方法は CLI の new です。最新の公開 CLI をインストールし、プロジェクトを作成して開発サーバーの応答を確認します。
要件
- Go 1.25.5以上が必要です。CLIの推奨バージョンはGo 1.27.3です。
- Goの実行ファイルのインストール先が
PATHに含まれている必要があります。GOBINを設定していない場合、既定のパスは$(go env GOPATH)/binです。
go version表示されたGoのバージョンが1.25.5以上であることを確認してください。
CLIのインストール
次のコマンドでCLIをインストールし、バージョンを確認します。
go install github.com/NARUBROWN/spine-cli@latest
spine-cli versionspine-cli version でインストール済み CLI のバージョンを確認してください。
spine-cliコマンドが見つからず、GOBINも設定していない場合は、BashまたはZshで次のコマンドを実行し、現在のセッションのパスに追加してください。継続して使う場合は、同じ設定をシェルの起動ファイルに保存します。GOBINを設定している場合は、そのディレクトリを代わりに追加してください。
export PATH="$(go env GOPATH)/bin:$PATH"
spine-cli version新しいプロジェクトの生成
プロジェクトを配置する親ディレクトリで実行します。同じ名前のmy-appディレクトリがすでにある場合は、別の名前を使ってください。
spine-cli new my-app --module example.com/my-app
cd my-appnew はインストール済み CLI の検証済みレシピで互換性のある Spine、Echo プラットフォーム、Echo のバージョンを選択し、依存関係のインストール、静的契約の検査、ビルドを完了します。選択されたバージョンは生成された go.mod で確認してください。--skip-install を使った場合は、別途 go mod tidy と go mod download all を実行します。インストール時にアプリの初期化、テスト、リスナーの起動は行いません。
生成されるspine.tomlは次のとおりです。
module = "example.com/my-app"
entrypoint = "."
composition = "./internal/application"
port = 8080
layout = "layered-v1"
platform = "echo"internal/application/application.goのBuildApplication()が構成要素とGET /healthを登録します。生成されたmain.goはこの関数を呼び出し、app.Validate(options)で構成を検証してから、app.Run(options)でサーバーを実行します。
検証と実行
spine-cli doctor
spine-cli inspect
spine-cli contract check
spine-cli verify各コマンドがエラーなく終了することを確認してください。
| コマンド | 確認する内容 |
|---|---|
spine-cli doctor | Goのツールとプロジェクト設定 |
spine-cli inspect | コードに登録されたルートや依存関係などのアプリ構成 |
spine-cli contract check | 登録コードから抽出した実行契約の有効性 |
spine-cli verify | 実行契約とgofmt、go vet、Goのテスト結果 |
生成されたapplication_test.goは、サーバーを起動せずにBuildApplication()とapp.Validate(options)を検査します。この段階ではコードとアプリの構成を検証します。実際のHTTPレスポンスは次の段階で確認します。
検査に合格したらspine-cli devで実行し、別のターミナルで実際のHTTPレスポンスを確認します。
spine-cli devcurl http://localhost:8080/health{"status":"ok"}が返れば、開発サーバーがリクエストを処理できたことを確認できます。サーバーを実行したターミナルでCtrl+Cを押して終了します。外部のデータベースやメッセージブローカーを接続した後、またはデプロイした後は、その環境でも動作を確認する必要があります。
