クイックスタート
Complete guide to installing Goa and building your first service - from setup to running a working HTTP endpoint.
Goaは設計からGoサービスを構築するフレームワークです。Goで記述するドメイン固有言語(DSL)で、型、操作、エラー、通信の対応関係を定義します。ジェネレーターがその決定からコードを導出し、開発者は生成されたインターフェースに沿って動作を実装します。
最初のサービスをつくる、または**コーディングエージェントとの開発手順**へ進んでください。
エージェントは、個別に管理されたハンドラー、クライアント、スキーマから契約を推測する代わりに、設計を読みます。設計を変更し、再生成して、コンパイラーの指摘に沿って実装を更新します。反復的なコードはモデルではなくジェネレーターが書きます。通常は設計、関連インターフェース、変更対象の実装を渡し、必要に応じて生成された通信コードを調べます。
design/*.goにメソッド、入力、結果、検証、HTTP・gRPC・JSON-RPCとの対応を定義します。説明と例はAPIドキュメントにも使われます。
goa gen example.com/myservice/design
選択した通信方式に応じて、Goの型とインターフェース、サーバー、クライアント、検証、OpenAPI、Protocol Buffer定義を生成します。gen/は置き換えられるため編集しません。goa exampleは既存ファイルを上書きせず、初期の実装ファイルを作成します。
ロジック、認可、永続化、テストを書きます。メソッドのシグネチャを変更したら、再生成とコンパイルで適合しなくなった実装や呼び出しを特定します。
開発者とエージェントは設計、ドメインの判断、ロジック、認可、起動処理、テストを管理します。Goaは型、インターフェース、ルーティング、コーデック、検証、クライアント、API仕様を生成します。生成された検証が確認するのは宣言された制約です。ビジネス上の正しさ、セキュリティ、稼働中のクライアントとの互換性は設計とテストで確認します。
Goa-AIは同じ設計モデルで型付きツール、構造化出力、エージェントを定義します。ツールはサービスの型とメソッドを再利用し、契約をつなげられます。
まずクイックスタートを試し、実装には通信方式別のガイドを、設計変更にはDSLリファレンスを参照してください。