bazel-build-optimization について
大規模モノレポでの Bazel 運用パターンを扱うスキルです。ビルド設定や高速化、ルール作成、問題調査、Bazel への移行を支援します。
主な機能
- 01モノレポ向け Bazel 設定ガイド
- 02リモートキャッシュと実行の設定
- 03ビルド時間の最適化パターン
- 04カスタムルールとビルド問題の調査
- 05移行ガイドと詳細テンプレート
活用シーン
- 01モノレポでの Bazel 導入
- 02リモートキャッシュによる成果物共有
- 03遅いビルドや失敗するビルドの調査
- 04プロジェクトの Bazel 移行
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ wshobson/ agents --skill bazel-build-optimizationインストール後、Claude Code で/bazel-build-optimizationを入力して読み込まれたか確認します。
同梱ファイルreferences/details.md
詳細
Bazel ビルド最適化
大規模モノレポにおける Bazel の本番運用パターンです。
このスキルを使用する場面
- モノレポに Bazel をセットアップするとき
- リモートキャッシュ/リモート実行を構成するとき
- ビルド時間を最適化するとき
- カスタム Bazel ルールを作成するとき
- ビルドの問題をデバッグするとき
- Bazel へ移行するとき
中核となる概念
1. Bazel のアーキテクチャ
workspace/
├── WORKSPACE.bazel # External dependencies
├── .bazelrc # Build configurations
├── .bazelversion # Bazel version
├── BUILD.bazel # Root build file
├── apps/
│ └── web/
│ └── BUILD.bazel
├── libs/
│ └── utils/
│ └── BUILD.bazel
└── tools/
└── bazel/
└── rules/
2. 主な概念
| 概念 | 説明 |
|---|---|
| ターゲット | ビルド可能な単位(ライブラリ、バイナリ、テスト) |
| パッケージ | BUILD ファイルを含むディレクトリ |
| ラベル | ターゲット識別子 //path/to:target |
| ルール | ターゲットのビルド方法を定義するもの |
| アスペクト | 横断的なビルド動作 |
テンプレートと詳細な実例
テンプレートの完全なライブラリと詳細な実例は references/details.md にあります。具体的なテンプレートが必要な場合は、そのファイルを参照してください。
ベストプラクティス
推奨事項
- 細粒度のターゲットを使用する - キャッシュ効率が向上します
- 依存関係を固定する - 再現可能なビルドを実現します
- リモートキャッシュを有効にする - ビルド成果物を共有できます
- 可視性を適切に設定する - アーキテクチャを強制できます
- ディレクトリごとに BUILD ファイルを記述する - 標準的な慣習です
非推奨事項
- 依存関係に glob を使用しない - 明示的な記述のほうが適切です
- bazel-* ディレクトリをコミットしない - .gitignore に追加してください
- WORKSPACE のセットアップを省略しない - ビルドの基盤です
- ビルド警告を無視しない - 技術的負債になります
コメント
Markdown 対応