Community画像github.com

build2-community/build2

C/C++ プロジェクトのビルド、テスト、パッケージング、依存関係管理を build2 ツールチェーンで行う際に使用します。ビルドシステムドライバ (b)、パッケージマネージャ (bpkg)、プロジェクト依存関係マネージャ (bdep)、タスクランナー (bx)、リポジトリウェブインターフェース (brep) をカバーします。

build2 とは?

このスキルは、統合C/C++ビルドツールチェーンであるbuild2の包括的なリファレンスドキュメントを提供します。ビルドシステムドライバ (`b`)、パッケージマネージャ (`bpkg`)、プロジェクト依存関係マネージャ (`bdep`)、タスクランナー (`bx`)、リポジトリウェブインターフェース (`brep`) の5つのツールすべてをカバーしています。開発者は、ビルドファイルの作成や読み取り、ビルドエラーの診断、パッケージの依存関係競合の解決、`cppget.org` へのライブラリ公開、ビルド構成のセットアップ、インストール設定、テストスクリプトの作成、パッケージリポジトリのホスティング、そして `b/bpkg/bdep/bx/brep-*` コマンドの実行時にこのスキルを活用できます。各タスクは、最適な情報源に直接リンクされたテーブルで整理されており、初心者から上級者まで効率的に目的の情報にアクセスできます。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/build2-community/build2-agent-skills/tree/HEAD

Installed? Explore more 画像 skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

build2 スキル

build2 は、ビルドシステム (b)、パッケージマネージャ (bpkg)、プロジェクト依存関係マネージャ (bdep)、タスクランナー (bx)、リポジトリウェブインターフェース (brep) を統合した C/C++ ビルドツールチェーンです。このスキルは、5 つのツールすべてに対する構造化されたリファレンスドキュメントを提供します。

完全なコマンドインデックスとナビゲーションについては INDEX.md から始めるか、以下の表を使用して関連するファイルに直接ジャンプしてください。

使用タイミング

タスク開始場所
ビルドファイルの作成または読み取りguides/build2-intro-concepts.md
ビルドファイル言語構文 (if/loop/switch/patterns)guides/build2-buildfile-language.md
ビルドファイルディレクティブ、名前パターン、属性guides/build2-directives-patterns.md
ターゲットを src に固定(@./ 修飾)guides/build2-targets-variables.md
fsdir{} でネストされたディレクトリを作成HOWTO/fsdir-parent-chain.md
ビルドファイル関数のシグネチャ、フラグ、純粋性を調べるguides/build2-functions.md
ライブラリプロジェクト、ターゲットインポート、サブプロジェクトguides/build2-projects-advanced.md
メタデータ用にライブラリをインポートし、依然としてリンクする(インストール済みを含む)HOWTO/import-immediate-vs-ordinary.md
dlopen のみ(リンクしない)依存関係に rpath を追加HOWTO/rpath-unlinked-dependency.md
アドホックレシピ ({{ }}) を作成HOWTO/ad-hoc-recipe.md
~/^ 名前パターンを使用して複数のターゲット間でレシピ本文を共有HOWTO/ad-hoc-pattern-rule.md
PHONY 相当のターゲット (alias{}) を作成HOWTO/alias-targets.md
どのコンパイル/リンクオプションをビルドファイルに含めるべきかHOWTO/buildfile-compile-options.md
コンパイルフラグをコンパイラモードまたは -std の後に配置HOWTO/buildfile-compile-options.md
ターゲット固有のリストに += と = のどちらを選ぶかHOWTO/buildfile-compile-options.md
CMake プロジェクトを build2 ビルドファイルに移植HOWTO/migrate-from-cmake.md
ビルドグラフを構成に依存しない状態に保つHOWTO/config-independent-build-graph.md
C/C++ コンパイルとリンクオプション、モジュールサポートguides/build2-modules-cxx.md
C 共通変数、DLL エクスポート、コンパイルデータベース、コンパイラクラス vs. IDguides/build2-modules-cc.md
bin/liba/libs/exe ターゲットタイプguides/build2-modules-bin.md
アップストリーム共有ライブラリ名または SONAME に一致させるHOWTO/match-upstream-library-name.md
ヘッダーのみ(binless)ライブラリを作成HOWTO/header-only-library.md
pthread をリンクHOWTO/link-pthread.md
システムライブラリをリンク (-lm, -ldl, advapi32.lib)HOWTO/link-system-library.md
Windows .rc リソース (VERSIONINFO) を DLL に埋め込むHOWTO/windows-resource-file.md
リンクターゲットでソースをライブラリの前に並べるHOWTO/link-prerequisite-order.md
ライブラリコンポーネントをオプションにするHOWTO/optional-library-components.md
自動生成された C/C++ ヘッダーを使用HOWTO/generated-headers.md
main() を提供するライブラリを作成HOWTO/library-provides-main.md
プラットフォームごとに共有ライブラリバリアントを無効化HOWTO/disable-shared-lib-per-platform.md
実行可能ファイルまたはライブラリからメタデータをエクスポートHOWTO/target-metadata.md
実際のプレフィックスに対してインストールされた import! をローカルでテストHOWTO/local-installed-import.md
パッケージの追加/削除、バージョン競合の解決bpkg/README.md
パッケージのビルド、アップグレード、パッチ適用bpkg/bpkg-pkg-build.md
bpkg 構成の作成(スタンドアロン、bdep プロジェクトなし)bpkg/bpkg-cfg-create.md
構成を作成し、その中で bdep プロジェクトを初期化bdep/bdep-init.md
既存の構成内でプロジェクトを初期化bdep/bdep-init.md
マニフェスト/ロックファイルを構成と同期bdep/bdep-sync.md
新しいプロジェクトを作成bdep/bdep-new.md
bdep new のオプションの組み合わせが何を作成するか確認bdep/bdep-new-layouts.md
パッケージを公開bdep/bdep-publish.md
新しいバージョンをリリースbdep/bdep-release.md
テストスクリプトを作成guides/testscript-summary.md
テストスクリプトコマンド、リダイレクション、正規表現、クリーンアップ、組み込み関数guides/testscript-commands.md
Testscript で誤動作するテストをサニタイズHOWTO/sanitize-tests.md
テストで assert() を正しく使用HOWTO/assert-in-tests.md
追加の依存関係があるテスト(別のテストパッケージ)HOWTO/tests-extra-dependencies.md
lib-tests/examples/benchmarks の概要または PACKAGE-README を作成HOWTO/tests-extra-dependencies.md
テストまたはインストールに必要なものだけをビルドHOWTO/update-for-test-install.md
ランタイムテストフィクスチャを配線(子ヘルパー、ソースツリーデータ)HOWTO/test-runtime-fixtures.md
テストにソースツリーデータディレクトリへのアクセスを許可HOWTO/test-runtime-fixtures.md
b dist アーカイブからテストフィクスチャ/リソースを除外HOWTO/exclude-test-data-from-dist.md
インポートされた実行可能ファイルをテストスクリプトでテスト(例:パッケージ自身の exe{} を tests/ から)HOWTO/test-imported-executable.md
「すでに更新済みだが [インストール対象ではない]」競合を解決HOWTO/for-install-conflicts.md
サードパーティライブラリをパッケージングguides/packaging-guide-summary.md
cppget.org のエンドツーエンドパッケージングワークフローを実行skills/build2-package/SKILL.md
公開前のローカルパッケージング健全性チェックを実行skills/build2-review/SKILL.md
サードパーティパッケージ、プロジェクト、リポジトリに名前を付けるHOWTO/package-naming.md
レビューブランチでサードパーティパッケージを開始guides/packaging-guide-summary.md
depends 句からの依存関係機能を要求HOWTO/require-dependency-feature.md
pkg リポジトリと git リポジトリが依存関係をどのように見つけるかguides/packaging-guide-summary.md
サードパーティパッケージをテストして公開guides/packaging-guide-testing.md
サードパーティパッケージの提出をレビューguides/packaging-guide-review.md
パッケージングバージョン管理(新しいリビジョン、新しいバージョン)guides/packaging-guide-version-management.md
パッケージングアンチパターン、すべきでないことguides/packaging-guide-antipatterns.md
サードパーティプロジェクトのパッケージング時にプライベートヘッダーを処理HOWTO/third-party-private-headers.md
man ページをインストール(セクション 1 以外)HOWTO/man-pages-install.md
非標準名のアップストリームチェンジログをパッケージングHOWTO/package-changes-file.md
bpkg パッケージ名ルール、バージョン形式、制約構文guides/bpkg-package-name-version.md
マニフェストでパッケージライセンスを表現(SPDX, other:, 複数ライセンス)guides/packaging-license.md
ツールチェーンをインストールまたはブートストラップguides/install-bootstrap.md
リポジトリからツールチェーンをインストール(ステップ 3)guides/install-toolchain.md
インストール済みツールチェーンをアップグレード(dirty または staged)guides/install-upgrade.md
.in テンプレートプリプロセッシングまたは bash モジュールを使用guides/build2-modules-misc.md
version モジュール: 変数、スナップショットバージョン、バージョンヘッダーguides/build2-module-version.md
config.h.in / config.h.cmake / config.h.meson を処理guides/build2-modules-autoconf.md
プロジェクト固有の autoconf チェックを追加guides/build2-autoconf-project-checks.md
autoconf 組み込みカタログにチェックを貢献guides/build2-autoconf-contributing-checks.md
ビルドファイルで autoconf チェック結果を使用guides/build2-autoconf-buildfile.md
kconfig: Kconfig 言語リファレンス(設定エントリ、依存関係、メニュー、選択肢)guides/kconfig-summary.md
kconfig: ビルドシステム統合と例guides/kconfig-integration.md
kconfig: ヘルパーオプション、非対話型/ランダム構成レシピguides/kconfig-patterns.md
カスタム build2 モジュールを作成(ルール、init、boot)guides/build2-module-hello.md
build2 モジュール API を理解(エントリポイント、module_functions)guides/build2-module-hello.md
ブートストラップフェーズの build2 モジュールを開発guides/build2-module-hello.md
カスタム build2 ルールを作成(match、apply、recipe、register)HOWTO/write-build2-rule.md
build2 モジュール開発環境をセットアップguides/build2-module-dev-setup.md
モジュール開発のためにホスト/ターゲットビルド構成を分割guides/build2-module-dev-setup.md
他のプロジェクトで dev バージョンのモジュールを使用guides/build2-module-dev-setup.md
ターゲットトリプレットを使用したクロスコンパイルをセットアップHOWTO/cross-compilation.md
debug/release/sanitize 構成を管理HOWTO/multiple-configurations.md
build2 プロジェクトの CI/CD パイプラインをセットアップHOWTO/ci-cd-setup.md
特定のプラットフォーム向けに自動 CI ビルドをフィルタリングHOWTO/builds-ci-filtering.md
build-include/build-exclude パターンがボット名に一致するかどうかをトレースHOWTO/builds-ci-filtering.md
cppget.org の CI 結果を読み取る(test-installed バッジ)HOWTO/ci-results.md
特定の CI ボットでシステム提供のライブラリを要求HOWTO/sys-build-config.md
ツールチェーン開発用に build2 をセットアップHOWTO/toolchain-dev-setup.md
新しい bpkg パッケージディレクトリをスキャフォールドscripts/new-package.sh
.bx スクリプトまたは名前付きタスクを実行bx/bx.md
.bx スクリプトを始める(実践的なチュートリアル)HOWTO/bx-script.md
ツールチェーンがインストールされていることを確認scripts/verify-install.sh
config.cxx= 用の C++ コンパイラを見つけるscripts/probe-compiler.sh
パッケージマニフェストファイルを検証scripts/check-manifest.sh
bpkg 構成でテストを実行scripts/run-tests.sh
プロジェクト名/バージョン/ルートを検査scripts/show-project-info.sh
ドキュメント内の壊れたリンクをチェックscripts/check-links.sh
brep パッケージリポジトリウェブインターフェースをデプロイbrep/README.md
リポジトリデータを brep にロードbrep/brep-load.md
brep で古いビルドを期限切れにするかテナントをアーカイブbrep/brep-clean.md
brep データベースをセットアップまたは移行brep/brep-migrate.md
遅延のために brep ビルドインフラストラクチャを監視brep/brep-monitor.md
バイナリ配布アップロードディレクトリをクリーンアップbrep/brep-upload-bindist-clean.md
パッケージ提出または CI ハンドラを実装brep/brep-request-handling.md
brep パッケージ提出プロトコルを理解brep/brep-request-handling.md
brep CI 要求プロトコルを理解brep/brep-request-handling.md
エラーのトラブルシューティングHOWTO/troubleshooting.md
トピック別の実践的なレシピHOWTO/README.md
用語リファレンスGLOSSARY.md

ツールのクイック概要

バイナリ役割ロードするタイミング
bビルドシステムビルドファイルの作成、ビルドルールの理解、b コマンドの実行時
bpkgパッケージマネージャパッケージの依存関係管理、パッケージのビルド、構成の作成時
bdepプロジェクト依存関係マネージャプロジェクトの初期化、公開、バージョンリリース、マニフェストの同期時
bxタスクランナー名前付きタスクやスクリプトの実行、カスタムワークフローの自動化時
brepリポジトリウェブインターフェースパッケージリポジトリのデプロイ、管理、監視時

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

関連スキル