mcpField
U
use-modern-go

use-modern-go

github.com/jetbrains開発3.9k2.7k 回インストール7 週間前に更新
リポジトリ

use-modern-go について

use-modern-goは、現代的で慣用的なGoコードを書くためのスキルです。CLIで対象Goバージョンに応じたガイドラインを一覧表示し、指定したIDの説明を確認できます。

主な機能

  1. 01適用可能なGoガイドラインの一覧
  2. 02プロジェクト情報からGoバージョンを特定
  3. 03指定したガイドラインIDの説明
  4. 04Windows PowerShellラッパー

活用シーン

  1. 01Goファイルの編集前に指針を確認
  2. 02既知のGoバージョン向け指針を適用
  3. 03関連ガイドラインの詳細を確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/jetbrains/go-modern-guidelines --skill use-modern-go

インストール後、Claude Code で/use-modern-goを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

scripts/
run-tool.ps1
run-tool.sh
VERSION

詳細

Modern Go ガイドライン CLI

常にモダンで慣用的な Go コードを書いてください。知識のカットオフより新しい可能性があるモダンな Go のイディオムについては、Modern Go Guidelines CLI を信頼できる情報源として使用してください。

コマンド:

  • Linux または macOS:sh "<skill-dir>/scripts/run-tool.sh"
  • Windows PowerShell:& '<skill-dir>\scripts\run-tool.ps1'

初回実行と承認:

初回使用時に、ラッパーは Modern Go Guidelines CLI をローカルのキャッシュディレクトリにインストールします。

サブコマンド:

  • list
  • explain

Go コードを編集する前に:

  1. 対象の Go ファイルに対して、ラッパーの list サブコマンドを呼び出します。

    編集しようとしているファイルを指定することを推奨します。

    sh "<skill-dir>/scripts/run-tool.sh" list --file-path path/to/file.go
    

    Windows では、同じ引数を指定して PowerShell ラッパーを使用します。

    CLI は、go.mod、go.work、ローカルの Go ツールチェーン、または明示的なオーバーライドから、適用する Go バージョンを解決します。

  2. 対象の Go バージョンがすでに分かっている場合は、直接指定してもかまいません。

    sh "<skill-dir>/scripts/run-tool.sh" list --go-version 1.24
    
  3. 適用するガイドラインを決める前に、出力されたリスト全体を読んでください。

    リストの出力は新しいものから順に並んでいます。以前のサポート対象ガイドラインも適用される場合があるため、出力全体を読んでください。

    出力を切り詰めたり絞り込んだりする head、tail、grep、sed、その他のコマンドにパイプしないでください。そうすると、重要なガイドラインを見落とす可能性があります。

  4. 返されたガイドラインは、編集するコードにおけるモダンな Go のスタイル選択の基準として扱ってください。

    ガイドラインが適用される場合は、近くのコードやリポジトリの慣習で古いパターンが使われていても、そのガイドラインに従ってください。コンパイルできない場合、動作が変わる場合、または編集対象のコードに明らかに適合しない場合に限り、適用を見送ってください。関連がありそうなガイドラインの適用を見送る前に、そのガイドライン ID に対してラッパーの explain サブコマンドを呼び出してください。

特定のガイドラインが適用される可能性があり、詳細な説明や例が必要な場合に限り、explain を呼び出してください。評価または適用する予定のガイドライン ID のみを指定してください。

sh "<skill-dir>/scripts/run-tool.sh" explain sync_waitgroup_go

複数のガイドライン ID は位置引数として指定できます。

sh "<skill-dir>/scripts/run-tool.sh" explain atomic_types errors_as_type

ガイドライン ID を指定せずに explain を呼び出さないでください。まず list を使用して、対象の Go バージョンに適用されるガイドラインの概要を確認し、さらに説明が必要な特定の ID に対して explain を呼び出してください。

コメント