GoLand 2026.3 Help

Modern Go Guidelines のガイドライン現代版? wait no need. Modern Go Guidelines

目的期

AI コーディングエージェントは、古い Go パターンを選択することがあります。 トレーニングデータには、モデルの知識カットオフ後に追加された機能が含まれていない場合があります。 エージェントが新しいパターンを知っている場合でも、トレーニングデータでより頻繁に出現する古いパターンを選択することがあります。

Modern Go Guidelines は、言語機能と標準ライブラリ API のリファレンスを提供します。

Go バージョンのサポート

エージェントは、プロジェクトの go.mod ファイルで宣言されている Go バージョンを読み取ります。 そのバージョンで使用できる機能についてのみガイダンスを受け取ります。

たとえば、Go 1.25 を使用するプロジェクトで作業するエージェントは sync.WaitGroup.Go を使用できます。 Go 1.26 が必要な errors.AsType についてはガイダンスを受け取りません。

ガイドラインの検索

Modern Go Guidelines には、 list および explain サブコマンドを備えたコマンドラインツールが含まれています。 エージェントは、インストール済みのスキルを通じてツールを使用します。

Go ファイルを編集する前に、エージェントはそのファイルに対して list を呼び出します。 このコマンドは、プロジェクト内の Go バージョンに適用される短いガイドラインを返します:

go-modern-guidelines list --file-path ./internal/worker/worker.go

エージェントは Go バージョンを直接指定することもできます:

go-modern-guidelines list --go-version 1.27

出力は、適用可能な最新のガイドラインから始まります。 各ガイドラインには安定した ID があります:

sync_waitgroup_go: Use wg.Go when spawning goroutines tracked by a sync.WaitGroup. testing_t_context: Use t.Context() when a test function needs a context tied to the test lifetime. json_omitzero: Use omitzero on JSON-tagged bool, numeric, struct, and time fields whose zero value should be omitted.

エージェントがガイドラインについて詳しい情報を必要とする場合、ガイドライン ID を指定して explain を呼び出します。 このコマンドは、説明と変更前後の例を返します:

go-modern-guidelines explain sync_waitgroup_go

このワークフローでは、ガイダンスをタスクに適用される情報に限定します。

ガイドラインの内容

Modern Go Guidelines は、Go 1.0 から Go 1.27 までの便利な言語機能と標準ライブラリの追加機能を扱います。 Go modernize アナライザーで扱われるパターンも含まれます。

ガイドラインは、エージェントが次のようなモダンなパターンを使用するのに役立ちます:

  • 手動の検索ループの代わりに slices.Contains。

  • 手書きの比較の代わりに min と max。

  • 最初の非ゼロ値を選択するチェーンの代わりに cmp.Or。

  • 個別の 追加、 go、 終了 呼び出しの代わりに sync.WaitGroup.Go。

たとえば、Go 1.25 以降のガイドラインでは、手動の WaitGroup 記録管理を置き換えることができます:

var wg sync.WaitGroup wg.Add(1) go func() { defer wg.Done() process() }() wg.Wait()
var wg sync.WaitGroup wg.Go(func() { process() }) wg.Wait()

WaitGroup.Go は goroutine を開始し、対応する 追加 と 終了 の呼び出しを管理します。 エージェントは、goroutine のライフタイムが WaitGroup のライフタイムと一致する場合にこのパターンを使用します。

Modern Go Guidelines のインストール

Modern Go Guidelines は、Junie、Claude Code、Codex、カーソル、およびスキルをサポートするその他のコーディングエージェントで利用できます。

Go ツールチェーンをインストールし、パスで利用できるようにします。 初回使用時に、インテグレーションはコマンドラインツールをローカルキャッシングにインストールします。 プロジェクトは変更されません。

マーケットプレイスからインストール

  • Modern Go Guidelines リポジトリをマーケットプレイスとして追加します。

    Claude Code セッションで、次を実行します:

    /plugin marketplace add JetBrains/go-modern-guidelines

    ターミナルで、次を実行します:

    codex plugin marketplace add JetBrains/go-modern-guidelines
  • マーケットプレイスからプラグインをインストールします。

    /plugin install modern-go-guidelines@goland-claude-marketplace
    codex plugin add modern-go-guidelines@goland-codex-marketplace
  • Go プロジェクトでエージェントを起動または再起動します。 エージェントは Go コードを扱うときに、インストール済みのスキルを使用します。

ローカルリポジトリからインストール

  • Modern Go Guidelines リポジトリのローカルコピーを取得します。 公開する前に変更をテストするには、このメソッドを使用します。

  • リポジトリにエージェント用のマーケットプレイス定義が含まれていることを確認します。

    リポジトリルートには .claude-plugin/marketplace.json が含まれている必要があります。

    リポジトリルートには .agents/plugins/marketplace.json が含まれている必要があります。

  • ローカルリポジトリをマーケットプレイスとして追加します。 例のパスをリポジトリへの絶対パスに置き換えます。

    claude plugin marketplace add /absolute/path/to/go-modern-guidelines
    codex plugin marketplace add /absolute/path/to/go-modern-guidelines
  • ローカルマーケットプレイスからプラグインをインストールします。

    claude plugin install modern-go-guidelines@goland-claude-marketplace
    codex plugin add modern-go-guidelines@goland-codex-marketplace
  • Go プロジェクトでエージェントを起動または再起動します。

Junie、カーソル、その他のエージェント、および更新手順については、 Modern Go Guidelines リポジトリを参照してください。

既存の Go コードを更新

Modern Go Guidelines は新しいコードに適用されます。 プロジェクトにすでに存在する古いコードを検索して更新するには、 Go 構文更新インスペクションを使用します。

2026 年 11 月 6 日