Community影像github.com

build2-community/build2

在 C/C++ 專案中使用 build2 工具鏈進行建置、測試、打包或管理依賴時使用。涵蓋建置系統驅動程式 (b)、套件管理員 (bpkg)、專案依賴管理員 (bdep)、任務執行器 (bx) 以及儲存庫網頁介面 (brep)。啟用情境:撰寫或閱讀建置檔、診斷建置錯誤、解決套件依賴衝突、為 cppget.org 打包函式庫、設定建置組態、配置安裝、編寫測試腳本、託管套件儲存庫,或執行任何 b/bpkg/bdep/bx/brep-* 指令。

build2 是什麼?

此技能為 build2 工具鏈提供結構化參考文件,針對 C/C++ 專案的建置、測試、打包及依賴管理。它整合了建置系統 (b)、套件管理員 (bpkg)、專案依賴管理員 (bdep)、任務執行器 (bx) 及儲存庫網頁介面 (brep),其廣泛的 HOWTO 指南與教學涵蓋從撰寫建置檔、診斷錯誤、以及將函式庫打包至 cppget.org 的實作層面。此技能可使 AI 代理人在開發者處理常見工作(例如管理編譯旗標、編寫 testscript 測試、設定 CI/CD 管道或為第三方專案建立套件)時,提供精確的逐步指示。該技能可於支援 Markdown 文件查閱的 AI 編碼工具(如 Claude Code 或 Cursor)中使用,使用者可透過 INDEX.md 進行導航,或從文件中清晰的表格尋找特定主題。

相容平台✓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 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

build2 技能

build2 是一個整合的 C/C++ 建置工具鏈,結合了建置系統 (b)、 套件管理員 (bpkg)、專案依賴管理員 (bdep)、任務執行器 (bx) 以及儲存庫網頁介面 (brep)。此技能為所有五種工具提供 結構化的參考文件。

請從 INDEX.md 開始瀏覽完整的指令索引與導覽,或 使用下方表格直接跳至相關檔案。

使用時機

任務從此處開始
撰寫或閱讀建置檔guides/build2-intro-concepts.md
建置檔語言語法 (if/loop/switch/patterns)guides/build2-buildfile-language.md
建置檔指令、名稱模式與屬性guides/build2-directives-patterns.md
將目標固定到 src 而非 out (@./ 限定詞)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 (從未連結) 的依賴項新增 rpathHOWTO/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
匹配上游共享函式庫名稱或 SONAMEHOWTO/match-upstream-library-name.md
建立僅標頭檔 (無二進位) 的函式庫HOWTO/header-only-library.md
連結 pthreadHOWTO/link-pthread.md
連結系統函式庫 (-lm, -ldl, advapi32.lib)HOWTO/link-system-library.md
在 DLL 中嵌入 Windows .rc 資源 (VERSIONINFO)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
同步 manifest/lockfile 與組態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
Testscript 指令、重導向、正規表示式、清理、內建命令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-READMEHOWTO/tests-extra-dependencies.md
僅建置測試或安裝所需的內容HOWTO/update-for-test-install.md
佈線執行時期測試固定裝置 (子 helper、原始碼樹資料)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
在 manifest 中表達套件授權條款 (SPDX, other:, 多授權)guides/packaging-license.md
安裝或引導工具鏈guides/install-bootstrap.md
從儲存庫安裝工具鏈 (步驟 3)guides/install-toolchain.md
升級已安裝的工具鏈 (骯髒或暫存)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.mesonguides/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: helper 選項、非互動式/隨機組態配方guides/kconfig-patterns.md
建立自訂 build2 模組 (規則、init、boot)guides/build2-module-hello.md
理解 build2 模組 API (進入點、module_functions)guides/build2-module-hello.md
開發 bootstrap 階段的 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
在其他專案中使用開發版本模組guides/build2-module-dev-setup.md
使用目標三元組設定交叉編譯HOWTO/cross-compilation.md
管理偵錯/發布/清理組態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 結果 (已安裝測試徽章)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
驗證套件 manifest 檔案scripts/check-manifest.sh
在 bpkg 組態中執行測試scripts/run-tests.sh
檢查專案名稱/版本/根目錄scripts/show-project-info.sh
檢查文件中是否有損壞的連結scripts/check-links.sh
部署 brep 套件儲存庫網頁介面brep/README.md
將儲存庫資料載入 brepbrep/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建置系統驅動程式撰寫建置檔、診斷建置錯誤、設定建置組態、設定安裝、需要建置圖形語意時
bpkg套件管理員新增/移除/升級套件、解決依賴衝突、建立/管理 bpkg 組態
bdep專案依賴管理員在組態中初始化專案、同步 manifest/lockfile、發布/發布版本
bx任務執行器執行命名任務、編寫 .bx 腳本、自動化工作流程
brep儲存庫網頁介面部署套件儲存庫、管理 CI 基礎設施、處理提交請求

Individual skills in this repo

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

相關技能