Claude-skill-registry auto-build

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

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/auto-build" ~/.claude/skills/majiayu000-claude-skill-registry-auto-build && rm -rf "$T"
manifest: skills/data/auto-build/SKILL.md
source content

自動ビルドスキル

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

自動提案のタイミング

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

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

ファイルプロジェクトタイプパッケージマネージャー
package.json
Node.jsnpm/yarn/pnpm
Cargo.toml
Rustcargo
pyproject.toml
Pythonpip/poetry
go.mod
Gogo
pom.xml
Java (Maven)mvn
build.gradle
Java (Gradle)gradle
Makefile
Makemake

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

# 優先順位
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 プロジェクト

# 依存関係インストール(必要な場合)
$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 プロジェクト

# 依存関係解決
cargo fetch

# デバッグビルド
cargo build

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

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

Python プロジェクト

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

# ビルド
python -m build

# wheel作成
pip wheel .

Go プロジェクト

# 依存関係取得
go mod download

# ビルド
go build

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

Makefile プロジェクト

# 標準ビルド
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
にビルド設定を記載可能:

## ビルド設定
- ビルドコマンド: `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環境との整合性を考慮