Agent skill

auto-build

プロジェクトタイプを自動検出してビルドを実行するスキル。コード変更後にビルドを提案、エラー発生時は修正案を提示。Node.js、Rust、Python、Go、Makefileプロジェクトに対応。

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/development/auto-build

SKILL.md

自動ビルドスキル

プロジェクトの設定を自動検出し、適切なビルドコマンドを実行します。

自動提案のタイミング

状況 提案内容
コード変更後 「ビルドしますか?」
依存関係追加後 「依存関係をインストールしてビルドしますか?」
設定ファイル変更後 「クリーンビルドを実行しますか?」
ビルドエラー発生時 「エラーを修正してリビルドしますか?」
テスト前 「先にビルドを確認しますか?」

プロジェクトタイプの自動検出

ファイル プロジェクトタイプ パッケージマネージャー
package.json Node.js npm/yarn/pnpm
Cargo.toml Rust cargo
pyproject.toml Python pip/poetry
go.mod Go go
pom.xml Java (Maven) mvn
build.gradle Java (Gradle) gradle
Makefile Make make

パッケージマネージャーの検出(Node.js)

bash
# 優先順位
if [ -f "pnpm-lock.yaml" ]; then
    PM="pnpm"
elif [ -f "yarn.lock" ]; then
    PM="yarn"
elif [ -f "bun.lockb" ]; then
    PM="bun"
else
    PM="npm"
fi

ビルドコマンド

Node.js プロジェクト

bash
# 依存関係インストール(必要な場合)
$PM install

# 標準ビルド
$PM run build

# プロダクションビルド
$PM run build:prod  # または NODE_ENV=production $PM run build

# クリーンビルド
rm -rf dist node_modules/.cache && $PM run build

Rust プロジェクト

bash
# 依存関係解決
cargo fetch

# デバッグビルド
cargo build

# リリースビルド
cargo build --release

# クリーンビルド
cargo clean && cargo build --release

Python プロジェクト

bash
# 仮想環境(pyproject.tomlの場合)
poetry install  # または pip install -e .

# ビルド
python -m build

# wheel作成
pip wheel .

Go プロジェクト

bash
# 依存関係取得
go mod download

# ビルド
go build

# プロダクションビルド
CGO_ENABLED=0 go build -ldflags="-s -w"

Makefile プロジェクト

bash
# 標準ビルド
make

# クリーンビルド
make clean && make

# 特定ターゲット
make build
make release

ビルドフロー

┌─────────────────┐
│ プロジェクト検出 │
└────────┬────────┘
         ↓
┌─────────────────┐
│ 依存関係確認    │ ──→ なければインストール
└────────┬────────┘
         ↓
┌─────────────────┐
│ ビルド実行      │
└────────┬────────┘
         ↓
    ┌────┴────┐
    ↓         ↓
┌───────┐ ┌───────┐
│ 成功  │ │ 失敗  │ ──→ エラー分析・修正提案
└───────┘ └───────┘

エラーハンドリング

一般的なエラーと対処

エラー 原因 対処
MODULE_NOT_FOUND 依存関係不足 npm install を実行
Type error TypeScript型エラー 型定義を修正
Syntax error 構文エラー 該当箇所を修正
Out of memory メモリ不足 NODE_OPTIONS=--max-old-space-size=4096

エラー分析の流れ

  1. エラーメッセージを解析
  2. エラータイプを特定
  3. 該当ファイル・行を特定
  4. 修正案を提示
  5. ユーザー確認後に修正・リビルド

使用シナリオ

シナリオ1: コード変更後

AI: コードを変更しました。ビルドを実行しますか?

# 検出結果
プロジェクトタイプ: Node.js (TypeScript)
パッケージマネージャー: pnpm

# 実行
pnpm run build

シナリオ2: 依存関係追加後

AI: 新しい依存関係を追加しました。インストールしてビルドしますか?

# 実行
pnpm install && pnpm run build

シナリオ3: ビルドエラー発生時

AI: ビルドエラーが発生しました。

エラー: Cannot find module '@types/node'

修正案:
1. @types/node をインストール
2. リビルド

実行しますか?

# 実行
pnpm add -D @types/node && pnpm run build

シナリオ4: クリーンビルド

AI: 設定ファイルが変更されました。クリーンビルドを推奨します。

# 実行
rm -rf dist .cache && pnpm run build

プロジェクト固有の設定

CLAUDE.md または PROJECT.md にビルド設定を記載可能:

markdown
## ビルド設定
- ビルドコマンド: `npm run custom-build`
- テストコマンド: `npm run test:all`
- プロダクションビルド: `npm run build:prod`
- 前処理: `npm run prebuild`

判断基準

ビルドを提案する条件

  • ソースコード(.ts, .js, .rs, .py, .go)が変更された
  • 設定ファイル(tsconfig.json, Cargo.toml等)が変更された
  • 依存関係ファイル(package.json等)が変更された
  • ユーザーが「ビルド」「コンパイル」と言及

クリーンビルドを提案する条件

  • ビルド設定ファイルが変更された
  • 依存関係のバージョンが変更された
  • 前回ビルドが失敗している
  • キャッシュ関連のエラーが発生

注意事項

  • ビルド前に未保存の変更がないか確認
  • 長時間ビルドの場合は進捗を表示
  • 複数のビルドターゲットがある場合は選択を促す
  • CI/CD環境との整合性を考慮

Didn't find tool you were looking for?

Be as detailed as possible for better results