AgentSkillsCN

build

构建Go项目。“构建”、“go build”、“编译”、“生成二进制文件”、“交叉编译”、“为Linux构建”、“执行构建”等指令均可触发。支持交叉编译、可复现的构建,以及通过链接器标志嵌入版本信息。

SKILL.md
--- frontmatter
name: build
description: Go プロジェクトをビルドする。「ビルドして」「go build」「コンパイル」「バイナリ作成」「クロスコンパイル」「Linux 向けビルド」「ビルド実行」などで起動。クロスコンパイル、再現可能ビルド、リンカーフラグによるバージョン埋め込みに対応。
allowed-tools: [Read, Bash, Glob, Grep]

Build

Go プロジェクトをビルドします。クロスコンパイル、再現可能ビルド、リンカーフラグによるバージョン埋め込みに対応。

引数

  • --os <os>: ターゲット OS を指定 (linux, darwin, windows)
  • --arch <arch>: ターゲットアーキテクチャを指定 (amd64, arm64)
  • --trimpath: 再現可能ビルドのため絶対パスを削除
  • --help: ヘルプを表示

実行手順

1. タスクランナー検出

bash
ls -la Taskfile.yml Makefile 2>/dev/null

検出されるタスク名の例:

  • build, compile, go-build
  • build:linux, build:windows

2. ビルド実行

bash
# タスクランナーがある場合
task build
make build

# 基本的なビルド
go build ./...

# 特定のエントリーポイントをビルド
go build -o bin/app ./cmd/app

# クロスコンパイル
GOOS=linux GOARCH=amd64 go build -o bin/app-linux ./cmd/app
GOOS=darwin GOARCH=arm64 go build -o bin/app-darwin ./cmd/app
GOOS=windows GOARCH=amd64 go build -o bin/app.exe ./cmd/app

# 再現可能ビルド
go build -trimpath -o bin/app ./cmd/app

# バージョン情報埋め込み
go build -ldflags "-X main.version=1.0.0 -X main.commit=$(git rev-parse HEAD)" -o bin/app ./cmd/app

3. 結果レポート

code
✅ ビルド完了

出力ファイル: bin/app
ターゲット: {GOOS}/{GOARCH}
サイズ: {SIZE} MB

ビルドオプション:
- trimpath: {有効/無効}
- ldflags: {フラグ内容}

クロスコンパイル対応表

OSGOOSサポートアーキテクチャ
Linuxlinuxamd64, arm64, arm
macOSdarwinamd64, arm64
Windowswindowsamd64, arm64

リンカーフラグ (-ldflags)

フラグ説明
-X main.version=1.0.0バージョン情報を埋め込み
-X main.commit=abc123コミットハッシュを埋め込み
-sシンボルテーブルを削除(バイナリサイズ削減)
-wDWARF デバッグ情報を削除(バイナリサイズ削減)

重要な注意事項

  • ✅ プロジェクトの既存設定を優先
  • ✅ クロスコンパイル時は GOOS/GOARCH を明示
  • ✅ 再現可能ビルドには -trimpath を使用
  • ✅ クロスコンパイル時は CGO_ENABLED=0 を設定
  • ✅ リリースビルドでは -ldflags "-s -w" でサイズ削減