CommunityImagemgithub.com

build2-community/build2

Utilize ao construir, testar, empacotar ou gerenciar dependências de projetos C/C++ com a toolchain build2. Abrange o driver do sistema de compilação (b), gerenciador de pacotes (bpkg), gerenciador de dependências do projeto (bdep), executor de tarefas (bx) e interface web do repositório (brep).

O que é build2?

Esta skill fornece documentação de referência estruturada para toda a toolchain build2, que é um conjunto integrado de ferramentas para construção de projetos C/C++ que inclui um sistema de compilação (`b`), gerenciador de pacotes (`bpkg`), gerenciador de dependências do projeto (`bdep`), executor de tarefas (`bx`) e interface web de repositório (`brep`). A skill cobre uma ampla gama de tarefas, desde a escrita e leitura de buildfiles, resolução de conflitos de dependências, empacotamento de bibliotecas para publicação no cppget.org, configuração de instalações, autoria de testscripts, hospedagem de repositórios de pacotes, até a execução de qualquer comando b/bpkg/bdep/bx/brep. Ela inclui guias detalhados, HOWTOs práticos e referências de comandos, organizados em uma tabela de consulta rápida para que desenvolvedores possam encontrar soluções específicas para problemas comuns de compilação e gerenciamento de dependências. A skill é útil tanto para iniciantes que desejam aprender os conceitos fundamentais do build2 quanto para usuários avançados que precisam de referências precisas para configurações complexas, como compilação cruzada, integração contínua, criação de módulos personalizados e empacotamento de bibliotecas de terceiros.

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

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

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Skill build2

build2 é uma toolchain integrada de construção C/C++ que combina um sistema de compilação (b), gerenciador de pacotes (bpkg), gerenciador de dependências do projeto (bdep), executor de tarefas (bx) e interface web de repositório (brep). Esta skill fornece documentação de referência estruturada para todas as cinco ferramentas.

Comece com INDEX.md para o índice completo de comandos e navegação, ou use a tabela abaixo para pular diretamente para o arquivo relevante.

Quando usar

TarefaComece aqui
Escrever ou ler um buildfileguides/build2-intro-concepts.md
Sintaxe da linguagem do buildfile (if/loop/switch/patterns)guides/build2-buildfile-language.md
Diretivas do buildfile, padrões de nome e atributosguides/build2-directives-patterns.md
Fixar um destino para src em vez de out (qualificação @./)guides/build2-targets-variables.md
Criar diretórios aninhados com fsdir{}HOWTO/fsdir-parent-chain.md
Consultar assinatura de função do buildfile, flags ou purezaguides/build2-functions.md
Projetos de biblioteca, importação de destino, subprojetosguides/build2-projects-advanced.md
Importar uma biblioteca para metadados e ainda vinculá-la (incluindo instalada)HOWTO/import-immediate-vs-ordinary.md
Adicionar rpath para uma dependência dlopen-only (nunca vinculada)HOWTO/rpath-unlinked-dependency.md
Escrever uma receita ad hoc ({{ }})HOWTO/ad-hoc-recipe.md
Compartilhar um corpo de receita entre vários destinos usando padrões de nome ~/^HOWTO/ad-hoc-pattern-rule.md
Criar um destino equivalente a PHONY (alias{})HOWTO/alias-targets.md
Quais opções de compilação/link pertencem a um buildfileHOWTO/buildfile-compile-options.md
Colocar uma flag de compilação após o modo do compilador ou -stdHOWTO/buildfile-compile-options.md
Escolher += vs = para uma lista específica de destinoHOWTO/buildfile-compile-options.md
Portar um projeto CMake para buildfiles do build2HOWTO/migrate-from-cmake.md
Manter o grafo de compilação independente de configuraçãoHOWTO/config-independent-build-graph.md
Opções de compilação e link C/C++, suporte a módulosguides/build2-modules-cxx.md
Variáveis comuns C, exportação de DLL, banco de dados de compilação, classe do compilador vs. IDguides/build2-modules-cc.md
Tipos de destino bin/liba/libs/exeguides/build2-modules-bin.md
Corresponder a um nome de biblioteca compartilhada upstream ou SONAMEHOWTO/match-upstream-library-name.md
Criar uma biblioteca apenas de cabeçalho (sem bin)HOWTO/header-only-library.md
Vincular pthreadHOWTO/link-pthread.md
Vincular uma biblioteca de sistema (-lm, -ldl, advapi32.lib)HOWTO/link-system-library.md
Incorporar um recurso .rc do Windows (VERSIONINFO) em uma DLLHOWTO/windows-resource-file.md
Ordenar fontes antes de bibliotecas em um destino de linkHOWTO/link-prerequisite-order.md
Tornar componentes de biblioteca opcionaisHOWTO/optional-library-components.md
Usar cabeçalhos C/C++ gerados automaticamenteHOWTO/generated-headers.md
Criar uma biblioteca que fornece main()HOWTO/library-provides-main.md
Desabilitar variante de biblioteca compartilhada por plataformaHOWTO/disable-shared-lib-per-platform.md
Exportar metadados de executáveis ou bibliotecasHOWTO/target-metadata.md
Testar um import! instalado localmente contra um prefixo realHOWTO/local-installed-import.md
Adicionar/remover pacotes, resolver conflitos de versãobpkg/README.md
Construir um pacote, atualizar ou corrigirbpkg/bpkg-pkg-build.md
Criar uma configuração bpkg (autônoma, sem projeto bdep)bpkg/bpkg-cfg-create.md
Criar uma configuração e inicializar um projeto bdep nelabdep/bdep-init.md
Inicializar um projeto em uma configuração existentebdep/bdep-init.md
Sincronizar manifesto/arquivo de bloqueio com configuraçãobdep/bdep-sync.md
Criar um novo projetobdep/bdep-new.md
Ver o que uma combinação de opções bdep new criabdep/bdep-new-layouts.md
Publicar um pacotebdep/bdep-publish.md
Lançar uma nova versãobdep/bdep-release.md
Escrever testscriptsguides/testscript-summary.md
Comandos do Testscript, redirecionamentos, regex, limpeza, builtinsguides/testscript-commands.md
Sanitizar testes com mau comportamento usando TestscriptHOWTO/sanitize-tests.md
Usar assert() corretamente em testesHOWTO/assert-in-tests.md
Testes com dependências extras (pacote de teste separado)HOWTO/tests-extra-dependencies.md
Escrever um resumo lib-tests/examples/benchmarks ou PACKAGE-READMEHOWTO/tests-extra-dependencies.md
Construir apenas o necessário para teste ou instalaçãoHOWTO/update-for-test-install.md
Configurar fixtures de teste em tempo de execução (helpers filhos, dados de árvore de origem)HOWTO/test-runtime-fixtures.md
Dar acesso a testes a diretórios de dados da árvore de origemHOWTO/test-runtime-fixtures.md
Excluir fixtures/recursos de teste de um arquivo b distHOWTO/exclude-test-data-from-dist.md
Testar usando Testscript um executável importado (ex.: exe{} do próprio pacote em tests/)HOWTO/test-imported-executable.md
Resolver conflitos "already updated but [not] for install"HOWTO/for-install-conflicts.md
Empacotar uma biblioteca de terceirosguides/packaging-guide-summary.md
Executar o fluxo de trabalho de empacotamento de ponta a ponta do cppget.orgskills/build2-package/SKILL.md
Executar a verificação de sanidade de empacotamento local antes da publicaçãoskills/build2-review/SKILL.md
Nomear um pacote, projeto e repositório de terceirosHOWTO/package-naming.md
Iniciar um pacote de terceiros no branch de revisãoguides/packaging-guide-summary.md
Exigir um recurso de dependência de uma cláusula dependsHOWTO/require-dependency-feature.md
Como um repositório pkg vs git encontra dependênciasguides/packaging-guide-summary.md
Testar e publicar um pacote de terceirosguides/packaging-guide-testing.md
Revisar uma submissão de pacote de terceirosguides/packaging-guide-review.md
Gerenciamento de versão de empacotamento (nova revisão, nova versão)guides/packaging-guide-version-management.md
Antipadrões de empacotamento, o que não fazerguides/packaging-guide-antipatterns.md
Lidar com cabeçalhos privados ao empacotar um projeto de terceirosHOWTO/third-party-private-headers.md
Instalar páginas de manual (qualquer seção diferente de 1)HOWTO/man-pages-install.md
Empacotar um changelog upstream com um nome não canônicoHOWTO/package-changes-file.md
Regras de nome de pacote bpkg, formato de versão, sintaxe de restriçãoguides/bpkg-package-name-version.md
Expressar uma licença de pacote no manifesto (SPDX, other:, múltiplas licenças)guides/packaging-license.md
Instalar ou inicializar a toolchainguides/install-bootstrap.md
Instalar a toolchain a partir do repositório (passo 3)guides/install-toolchain.md
Atualizar uma toolchain instalada (suja ou estagiada)guides/install-upgrade.md
Usar pré-processamento de template .in ou módulo bashguides/build2-modules-misc.md
Módulo version: variáveis, versões snapshot, cabeçalhos de versãoguides/build2-module-version.md
Processar config.h.in / config.h.cmake / config.h.mesonguides/build2-modules-autoconf.md
Adicionar verificações de autoconf específicas do projetoguides/build2-autoconf-project-checks.md
Contribuir com uma verificação para o catálogo builtin do autoconfguides/build2-autoconf-contributing-checks.md
Usar resultados de verificação do autoconf em buildfilesguides/build2-autoconf-buildfile.md
kconfig: referência da linguagem Kconfig (entradas de config, dependências, menus, choices)guides/kconfig-summary.md
kconfig: integração com sistema de compilação e exemplosguides/kconfig-integration.md
kconfig: opções auxiliares, receitas de configuração não interativas/aleatóriasguides/kconfig-patterns.md
Criar um módulo build2 personalizado (regras, init, boot)guides/build2-module-hello.md
Entender a API do módulo build2 (pontos de entrada, module_functions)guides/build2-module-hello.md
Desenvolver um módulo build2 em fase de inicializaçãoguides/build2-module-hello.md
Escrever uma regra build2 personalizada (match, apply, recipe, register)HOWTO/write-build2-rule.md
Configurar um ambiente de desenvolvimento de módulo build2guides/build2-module-dev-setup.md
Dividir configurações de compilação host/target para desenvolvimento de móduloguides/build2-module-dev-setup.md
Usar um módulo em versão de desenvolvimento em outros projetosguides/build2-module-dev-setup.md
Configurar compilação cruzada com tripletos de destinoHOWTO/cross-compilation.md
Gerenciar configurações debug/release/sanitizeHOWTO/multiple-configurations.md
Configurar um pipeline de CI/CD para um projeto build2HOWTO/ci-cd-setup.md
Filtrar compilações CI automatizadas para plataformas específicasHOWTO/builds-ci-filtering.md
Rastrear se um padrão build-include/build-exclude corresponde a um nome de botHOWTO/builds-ci-filtering.md
Ler resultados de CI do cppget.org (badges test-installed)HOWTO/ci-results.md
Solicitar uma biblioteca fornecida pelo sistema em um bot CI específicoHOWTO/sys-build-config.md
Configurar build2 para desenvolvimento da toolchainHOWTO/toolchain-dev-setup.md
Estruturar um novo diretório de pacote bpkgscripts/new-package.sh
Executar scripts .bx ou tarefas nomeadasbx/bx.md
Começar com scripts .bx (tutorial prático)HOWTO/bx-script.md
Verificar se a toolchain está instaladascripts/verify-install.sh
Encontrar um compilador C++ para config.cxx=scripts/probe-compiler.sh
Validar um arquivo de manifesto de pacotescripts/check-manifest.sh
Executar testes em uma configuração bpkgscripts/run-tests.sh
Inspecionar nome/versão/raízes do projetoscripts/show-project-info.sh
Verificar links quebrados na documentaçãoscripts/check-links.sh
Implantar uma interface web de repositório de pacotes brepbrep/README.md
Carregar dados de repositório no brepbrep/brep-load.md
Expirar compilações antigas ou arquivar tenants no brepbrep/brep-clean.md
Configurar ou migrar bancos de dados do brepbrep/brep-migrate.md
Monitorar infraestrutura de compilação do brep por atrasosbrep/brep-monitor.md
Limpar diretórios de upload de distribuição bináriabrep/brep-upload-bindist-clean.md
Implementar um manipulador de submissão de pacote ou CIbrep/brep-request-handling.md
Entender o protocolo de submissão de pacote do brepbrep/brep-request-handling.md
Entender o protocolo de solicitação de CI do brepbrep/brep-request-handling.md
Solucionar errosHOWTO/troubleshooting.md
Receitas práticas por tópicoHOWTO/README.md
Referência de terminologiaGLOSSARY.md

Orientação rápida das ferramentas

BinárioFunçãoCarregar quando
bSistema de compilaçãoconstruir, testar, instalar, gerar configuração
bpkgGerenciador de pacotesadicionar, remover, atualizar pacotes; resolver conflitos de dependência
bdepGerenciador de dependências do projetoinicializar projetos, sincronizar dependências, publicar, lançar versões
bxExecutor de tarefasexecutar scripts de automação ou tarefas nomeadas
brepInterface web de repositório (servidor)implantar, carregar, monitorar, lidar com submissões de pacotes

Individual skills in this repo

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

Habilidades Relacionadas