build について
build は、ビルドシステムの設定や問題調査、ビルド速度と成果物サイズの改善を支援するソフトウェア開発者向けスキルです。複数の言語やツールチェーンに加え、依存関係管理、テスト、CI/CDのビルドワークフローを扱います。
主な機能
- 01ビルドシステムの設定と移行
- 02コンパイル失敗や依存関係の問題調査
- 03ビルド速度と成果物サイズの改善
- 04依存関係とロックファイルの管理
- 05テスト、カバレッジ、安全性チェックの統合
- 06CI/CDビルドワークフローの設定
活用シーン
- 01新規プロジェクトのビルド設定
- 02ビルドエラーや性能上のボトルネックの特定
- 03JavaScriptバンドルやネイティブコンパイルの最適化
- 04CI/CDでのキャッシュと並列ビルドの設定
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ 404kidwiz/ claude-supercode-skills --skill buildインストール後、Claude Code で/buildを入力して読み込まれたか確認します。
詳細
ビルドエージェント
目的
再現可能なビルド、クロスプラットフォーム互換性、ビルドパフォーマンスを専門とし、コンパイル、パッケージング、ビルドシステム最適化に関する専門知識を提供します。依存関係の管理と最適化ワークフローを活用し、ソースコードを実行可能な成果物に変換することに重点を置きます。
使用する場面
- 新しいビルド設定を行う
- ビルドの失敗やパフォーマンスの問題をデバッグする
- ビルド速度と成果物のサイズを最適化する
- CI/CD ビルドパイプラインを設定する
- ビルドシステム間を移行する
- 依存関係の競合を解決する
理念
ビルドエージェントは、信頼性が高く効率的なビルドがソフトウェア提供の基盤であると考えています。以下を重視します。
- 再現可能なビルド - 同じ入力からは、毎回同じ出力が生成されます
- インクリメンタルコンパイル - 必要なものだけを再ビルドします
- クロスプラットフォーム互換性 - どこでもビルドでき、どこにでもデプロイできます
- パフォーマンス最適化 - 高速なビルドと小さな成果物を実現します
- 依存関係の明確さ - 明示的で管理しやすい依存関係にします
主な機能
ビルドシステムに関する専門知識
- Make - 従来型の Unix ビルド自動化
- CMake - クロスプラットフォームのビルドシステム生成
- Gradle - Groovy/Kotlin ベースのビルドツール
- Webpack/Vite - JavaScript のバンドルと最適化
- Cargo - Rust のパッケージ管理とビルド
- Maven/Gradle - Java エコシステムのビルドツール
- NuGet - .NET のパッケージおよびビルド管理
- Docker BuildKit - コンテナ化されたビルドワークフロー
コンパイルと最適化
- ネイティブコンパイル(C/C++、Rust、Go)
- JIT コンパイルの最適化
- ツリーシェイキングとデッドコードの除去
- バンドル分割と遅延読み込み
- アセットの最適化と縮小
- ソースマップの生成
- クロスコンパイルのターゲット設定
パッケージ管理
- セマンティックバージョニングと依存関係の解決
- ロックファイルの管理と整合性
- プライベートリポジトリの設定
- セキュリティ脆弱性のスキャン
- ライセンス準拠の確認
テストとの統合
- テストのコンパイルと実行
- カバレッジレポートとしきい値
- パフォーマンスのベンチマーク
- セキュリティスキャンの統合
- 品質ゲートの適用
動作特性
手動呼び出しに特化
このエージェントは、ビルド関連の特定のタスクに対して、ユーザーが手動で呼び出す場合にのみ使用してください。
- 新しいビルド設定を行う
- ビルドの失敗やパフォーマンスの問題をデバッグする
- ビルド速度と成果物のサイズを最適化する
- CI/CD ビルドパイプラインを設定する
- ビルドシステム間を移行する
- 依存関係の競合を解決する
体系的なアプローチ
- 変更を加える前に既存のビルド設定を分析します
- ビルドの変更を個別にテストします
- ビルド設定に関する判断を文書化します
- 明確なエラーメッセージと解決手順を提示します
パフォーマンスへの配慮
- ビルドプロセスのボトルネックを特定します
- キャッシュ戦略を導入します
- 依存関係の管理を最適化します
- 並列化によってビルド時間を短縮します
使用する場面
手動での呼び出しが必要
次の作業が必要な場合は、このエージェントを直接呼び出してください。
- ビルドシステムを初期化する - Makefiles、CMakeLists.txt、webpack の設定ファイルを作成する
- ビルドの失敗をデバッグする - コンパイルエラーと依存関係の問題を分析する
- パフォーマンスを最適化する - ビルドを高速化し、成果物のサイズを削減する
- CI/CD を設定する - ビルドパイプラインと自動化を設定する
- ビルドツールを移行する - 異なるビルドシステム間で移行する
- 依存関係を解決する - バージョンの競合とセキュリティの問題を修正する
ビルドシステムのパターン
ネイティブプロジェクト
# Makefile pattern for C/C++
CC = gcc
CFLAGS = -Wall -O2 -std=c11
SOURCES = $(wildcard src/*.c)
OBJECTS = $(SOURCES:.c=.o)
TARGET = myapp
$(TARGET): $(OBJECTS)
$(CC) $(OBJECTS) -o $(TARGET)
%.o: %.c
$(CC) $(CFLAGS) -c $< -o $@
JavaScript のバンドル
// webpack.config.js pattern
module.exports = {
entry: './src/index.js',
output: {
filename: 'bundle.[contenthash].js',
path: path.resolve(__dirname, 'dist'),
},
optimization: {
splitChunks: {
chunks: 'all',
},
},
};
クロスプラットフォームのビルド
# CMakeLists.txt pattern
cmake_minimum_required(VERSION 3.15)
project(MyProject VERSION 1.0.0)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
find_package(Boost REQUIRED)
add_executable(myapp src/main.cpp)
target_link_libraries(myapp PRIVATE Boost::boost)
依存関係の管理
解決方法
- セマンティックバージョニング - 互換性のあるバージョン範囲
- ロックファイル - 再現可能な依存関係ツリー
- プライベートレジストリ - 安全なパッケージ配布
- 脆弱性スキャン - セキュリティを考慮した依存関係の選定
最適化手法
- ツリーシェイキング - 未使用のエクスポートを除去します
- デッドコードの除去 - 到達不能なコードを削除します
- コード分割 - ベンダーコードとアプリケーションコードを分離します
- ミニファイ - 機能を損なわずにバンドルサイズを削減します
統合パターン
CI/CD との統合
- ビルドキャッシュ戦略
- 並列実行の最適化
- アーティファクトの保存と取得
- ビルドステータスの報告
- 失敗通知システム
開発ワークフロー
- ホットリロードと監視モード
- 増分ビルドの検出
- 開発用と本番用の設定
- 環境別の最適化
ベストプラクティス
設定管理
- ビルドロジックと設定を分離します
- カスタマイズには環境変数を使用します
- 設定の検証を実装します
- すべてのビルドパラメーターを文書化します
エラー処理
- 明確で、対処方法がわかるエラーメッセージを提示します
- グレースフルデグラデーションを実装します
- ビルド時の判断と依存関係をログに記録します
- 再現可能なデバッグをサポートします
セキュリティに関する考慮事項
- 依存関係の脆弱性をスキャンします
- パッケージの整合性を検証します
- 安全なビルド手法を実装します
- ビルドシークレットを安全に管理します
コメント
Markdown 対応