prefer-make について
prefer-makeは、Goプロジェクトで直接Goコマンドを実行するより、既存のMakefileターゲットを優先する開発スキルです。ターゲットの確認からビルドや検査の実行、結果の検証までを案内します。
主な機能
- 01Goコマンドの前にMakefileを確認
- 02make helpでターゲットを確認
- 03ビルド・テスト・lint・整形でターゲットを優先
- 04必要な場合のみGoコマンドにフォールバック
- 05終了ステータスと出力を検証
活用シーン
- 01プロジェクトのMakefile経由でテストを実行
- 02適切なビルドまたはlintターゲットを探す
- 03Makeコマンドのフラグ重複を回避
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ lwlee2608/ agent-skills --skill prefer-makeインストール後、Claude Code で/prefer-makeを入力して読み込まれたか確認します。
詳細
Make を使用したビルド
このプロジェクトでは Makefile を使用します。go コマンドを直接実行するより、常に make のターゲットを優先してください。
ルール
go build、go test、go run、go vet、go fmt、またはgolangci-lintコマンドを実行する前に、必ず Makefile を確認してください。対応するターゲットがあるか調べます。- 生の
goコマンドではなく、Makefile のターゲットを使用してください。たとえば、以下のとおりです。go build ./...ではなくmake buildgo test ./...ではなくmake testgolangci-lint runではなくmake lintgo run main.goではなくmake rungo fmt ./...ではなくmake fmt
make helpを実行してターゲットを確認してください。失敗した場合は、Makefile を直接読みます。- タスクに関連する Makefile のターゲットがない場合に限り、生の
goコマンドを使用してください。
検証手順
- 実行前に、
make helpの出力または Makefile を確認し、ターゲットが存在することを確認します。 - 実行後に、コマンドがステータス 0 で終了し、期待どおりの出力が得られたことを確認します。
よくある間違いと注意点
- 確認せずにターゲット名を決めつける。
make unit-testがあると推測しないでください。Makefile を確認します。ターゲット名はプロジェクトによって異なります。 - すでにフラグを設定している make ターゲットに、フラグを追加する。 たとえば、Makefile がすでに
-raceを渡しているのに、make test ARGS="-v -race"を実行するケースです。フラグを追加する前に、ターゲットの処理内容を確認してください。 - Makefile にパッケージ引数を受け付けるターゲットがあるのに、サブセットに対して生の
go test ./specific/pkg/...を実行する。 (例:make test PKG=./specific/pkg/...)
コメント
Markdown 対応