CommunityImagengithub.com

build2-community/build2

Úsalo al construir, probar, empaquetar o gestionar dependencias de proyectos C/C++ con la cadena de herramientas build2. Cubre el controlador del sistema de compilación (b), el gestor de paquetes (bpkg), el gestor de dependencias del proyecto (bdep), el ejecutor de tareas (bx) y la interfaz web del repositorio (brep). Actívalo para: escribir o leer archivos buildfile, diagnosticar errores de compilación, resolver conflictos de dependencias de paquetes, empaquetar una biblioteca para cppget.org, configurar configuraciones de compilación, configurar instalaciones, redactar scripts de prueba, alojar repositorios de paquetes o ejecutar cualquier comando b/bpkg/bdep/bx/brep-*.

¿Qué es build2?

Esta habilidad proporciona documentación de referencia estructurada para la cadena de herramientas integrada build2, que incluye el sistema de compilación (b), el gestor de paquetes (bpkg), el gestor de dependencias del proyecto (bdep), el ejecutor de tareas (bx) y la interfaz web del repositorio (brep). Está diseñada para desarrolladores de C/C++ que necesitan asistencia en tareas como escribir o leer archivos buildfile, diagnosticar errores de compilación, resolver conflictos de dependencias, empaquetar bibliotecas para cppget.org, configurar entornos de compilación, redactar scripts de prueba y gestionar repositorios de paquetes. La habilidad organiza la información en guías detalladas, tutoriales (HOWTOs) y referencias rápidas, cubriendo desde conceptos básicos hasta temas avanzados como módulos personalizados, compilación cruzada, integración CI/CD y el protocolo de envío de paquetes. Es compatible con todas las herramientas de la cadena build2 y su uso está optimizado para agentes de IA que asisten en el desarrollo de proyectos C/C++, proporcionando enlaces directos a la documentación relevante según la tarea específica.

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

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

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Habilidad build2

build2 es una cadena de herramientas integrada de compilación C/C++ que combina un sistema de compilación (b), gestor de paquetes (bpkg), gestor de dependencias del proyecto (bdep), ejecutor de tareas (bx) e interfaz web del repositorio (brep). Esta habilidad proporciona documentación de referencia estructurada para las cinco herramientas.

Comienza con INDEX.md para el índice completo de comandos y la navegación, o usa la tabla a continuación para saltar directamente al archivo relevante.

Cuándo usar

TareaComienza aquí
Escribir o leer un buildfileguides/build2-intro-concepts.md
Sintaxis del lenguaje buildfile (if/loop/switch/patterns)guides/build2-buildfile-language.md
Directivas de buildfile, patrones de nombre y atributosguides/build2-directives-patterns.md
Fijar un destino a src en lugar de out (calificación @./)guides/build2-targets-variables.md
Crear directorios anidados con fsdir{}HOWTO/fsdir-parent-chain.md
Consultar la firma de una función de buildfile, indicadores o purezaguides/build2-functions.md
Proyectos de bibliotecas, importación de destinos, subproyectosguides/build2-projects-advanced.md
Importar una biblioteca para metadatos y aún enlazarla (incluyendo instalada)HOWTO/import-immediate-vs-ordinary.md
Agregar rpath para una dependencia solo dlopen (nunca enlazada)HOWTO/rpath-unlinked-dependency.md
Escribir una receta ad hoc ({{ }})HOWTO/ad-hoc-recipe.md
Compartir el cuerpo de una receta entre varios destinos mediante patrones de nombre ~/^HOWTO/ad-hoc-pattern-rule.md
Crear un destino equivalente a PHONY (alias{})HOWTO/alias-targets.md
Qué opciones de compilación/enlace pertenecen a un buildfileHOWTO/buildfile-compile-options.md
Colocar un indicador de compilación después del modo del compilador o -stdHOWTO/buildfile-compile-options.md
Elegir += vs = para una lista específica de destinoHOWTO/buildfile-compile-options.md
Migrar un proyecto CMake a buildfiles de build2HOWTO/migrate-from-cmake.md
Mantener el grafo de compilación independiente de la configuraciónHOWTO/config-independent-build-graph.md
Opciones de compilación y enlace C/C++, soporte de módulosguides/build2-modules-cxx.md
Variables comunes de C, exportación de DLL, base de datos de compilación, clase de compilador vs. IDguides/build2-modules-cc.md
Tipos de destino bin/liba/libs/exeguides/build2-modules-bin.md
Coincidir con el nombre o SONAME de una biblioteca compartida ascendenteHOWTO/match-upstream-library-name.md
Crear una biblioteca solo de encabezados (sin bin)HOWTO/header-only-library.md
Enlazar pthreadHOWTO/link-pthread.md
Enlazar una biblioteca del sistema (-lm, -ldl, advapi32.lib)HOWTO/link-system-library.md
Incrustar un recurso .rc de Windows (VERSIONINFO) en una DLLHOWTO/windows-resource-file.md
Ordenar fuentes antes que bibliotecas en un destino de enlaceHOWTO/link-prerequisite-order.md
Hacer que los componentes de la biblioteca sean opcionalesHOWTO/optional-library-components.md
Usar encabezados C/C++ generados automáticamenteHOWTO/generated-headers.md
Crear una biblioteca que proporcione main()HOWTO/library-provides-main.md
Deshabilitar la variante de biblioteca compartida por plataformaHOWTO/disable-shared-lib-per-platform.md
Exportar metadatos desde ejecutables o bibliotecasHOWTO/target-metadata.md
Probar un import! instalado localmente contra un prefijo realHOWTO/local-installed-import.md
Agregar/eliminar paquetes, resolver conflictos de versiónbpkg/README.md
Construir un paquete, actualizar o aplicar parchesbpkg/bpkg-pkg-build.md
Crear una configuración bpkg (independiente, sin proyecto bdep)bpkg/bpkg-cfg-create.md
Crear una configuración e inicializar un proyecto bdep en ellabdep/bdep-init.md
Inicializar un proyecto en una configuración existentebdep/bdep-init.md
Sincronizar manifiesto/archivo de bloqueo con configuraciónbdep/bdep-sync.md
Crear un nuevo proyectobdep/bdep-new.md
Ver qué combinación de opciones crea bdep newbdep/bdep-new-layouts.md
Publicar un paquetebdep/bdep-publish.md
Publicar una nueva versiónbdep/bdep-release.md
Escribir testscriptsguides/testscript-summary.md
Comandos de testscript, redirecciones, regex, limpieza, builtinsguides/testscript-commands.md
Sanitizar pruebas con mal comportamiento con TestscriptHOWTO/sanitize-tests.md
Usar assert() correctamente en pruebasHOWTO/assert-in-tests.md
Pruebas con dependencias adicionales (paquete de prueba separado)HOWTO/tests-extra-dependencies.md
Escribir un resumen lib-tests/examples/benchmarks o PACKAGE-READMEHOWTO/tests-extra-dependencies.md
Construir solo lo necesario para prueba o instalaciónHOWTO/update-for-test-install.md
Configurar accesorios de prueba en tiempo de ejecución (helpers hijos, datos del árbol de fuentes)HOWTO/test-runtime-fixtures.md
Dar a las pruebas acceso a directorios de datos del árbol de fuentesHOWTO/test-runtime-fixtures.md
Excluir accesorios/recursos de prueba de un archivo b distHOWTO/exclude-test-data-from-dist.md
Probar con testscript un ejecutable importado (ej. el propio exe{} de un paquete desde tests/)HOWTO/test-imported-executable.md
Resolver conflictos "ya actualizado pero [no] para instalación"HOWTO/for-install-conflicts.md
Empaquetar una biblioteca de tercerosguides/packaging-guide-summary.md
Ejecutar el flujo de trabajo completo de empaquetado para cppget.orgskills/build2-package/SKILL.md
Ejecutar la verificación de cordura de empaquetado previa a la publicaciónskills/build2-review/SKILL.md
Nombrar un paquete, proyecto y repositorio de tercerosHOWTO/package-naming.md
Iniciar un paquete de terceros en la rama de revisiónguides/packaging-guide-summary.md
Requerir una característica de dependencia desde una cláusula dependsHOWTO/require-dependency-feature.md
Cómo un repositorio pkg vs git encuentra dependenciasguides/packaging-guide-summary.md
Probar y publicar un paquete de tercerosguides/packaging-guide-testing.md
Revisar un envío de paquete de tercerosguides/packaging-guide-review.md
Gestión de versiones de empaquetado (nueva revisión, nueva versión)guides/packaging-guide-version-management.md
Antipatrones de empaquetado, qué no hacerguides/packaging-guide-antipatterns.md
Manejar encabezados privados al empaquetar un proyecto de tercerosHOWTO/third-party-private-headers.md
Instalar páginas man (cualquier sección que no sea la 1)HOWTO/man-pages-install.md
Empaquetar un changelog ascendente con un nombre no canónicoHOWTO/package-changes-file.md
Reglas de nombre de paquete bpkg, formato de versión, sintaxis de restricciónguides/bpkg-package-name-version.md
Expresar una licencia de paquete en el manifiesto (SPDX, other:, licencias múltiples)guides/packaging-license.md
Instalar o arrancar la cadena de herramientasguides/install-bootstrap.md
Instalar cadena de herramientas desde el repositorio (paso 3)guides/install-toolchain.md
Actualizar una cadena de herramientas instalada (sucia o por etapas)guides/install-upgrade.md
Usar preprocesamiento de plantillas .in o módulo bashguides/build2-modules-misc.md
Módulo de versión: variables, versiones de instantánea, encabezados de versiónguides/build2-module-version.md
Procesar config.h.in / config.h.cmake / config.h.mesonguides/build2-modules-autoconf.md
Agregar comprobaciones de autoconf específicas del proyectoguides/build2-autoconf-project-checks.md
Contribuir con una comprobación al catálogo integrado de autoconfguides/build2-autoconf-contributing-checks.md
Usar resultados de comprobaciones de autoconf en buildfilesguides/build2-autoconf-buildfile.md
kconfig: Referencia del lenguaje Kconfig (entradas de configuración, dependencias, menús, opciones)guides/kconfig-summary.md
kconfig: Integración con el sistema de compilación y ejemplosguides/kconfig-integration.md
kconfig: Opciones auxiliares, recetas de configuración no interactivas/aleatoriasguides/kconfig-patterns.md
Crear un módulo build2 personalizado (reglas, init, boot)guides/build2-module-hello.md
Entender la API del módulo build2 (puntos de entrada, module_functions)guides/build2-module-hello.md
Desarrollar un módulo build2 en fase de arranqueguides/build2-module-hello.md
Escribir una regla build2 personalizada (match, apply, recipe, register)HOWTO/write-build2-rule.md
Configurar un entorno de desarrollo de módulos build2guides/build2-module-dev-setup.md
Dividir configuraciones de compilación host/target para desarrollo de módulosguides/build2-module-dev-setup.md
Usar un módulo en versión de desarrollo en otros proyectosguides/build2-module-dev-setup.md
Configurar compilación cruzada con tripletas de destinoHOWTO/cross-compilation.md
Gestionar configuraciones debug/release/sanitizeHOWTO/multiple-configurations.md
Configurar un pipeline CI/CD para un proyecto build2HOWTO/ci-cd-setup.md
Filtrar compilaciones automatizadas de CI para plataformas específicasHOWTO/builds-ci-filtering.md
Rastrear si un patrón build-include/build-exclude coincide con un nombre de botHOWTO/builds-ci-filtering.md
Leer resultados de CI de cppget.org (insignias test-installed)HOWTO/ci-results.md
Solicitar una biblioteca proporcionada por el sistema en un bot de CI específicoHOWTO/sys-build-config.md
Configurar build2 para desarrollo de la cadena de herramientasHOWTO/toolchain-dev-setup.md
Andamiar un nuevo directorio de paquete bpkgscripts/new-package.sh
Ejecutar scripts .bx o tareas nombradasbx/bx.md
Comenzar con scripts .bx (tutorial práctico)HOWTO/bx-script.md
Verificar que la cadena de herramientas está instaladascripts/verify-install.sh
Encontrar un compilador C++ para config.cxx=scripts/probe-compiler.sh
Validar un archivo de manifiesto de paquetescripts/check-manifest.sh
Ejecutar pruebas en una configuración bpkgscripts/run-tests.sh
Inspeccionar nombre/versión/raíces del proyectoscripts/show-project-info.sh
Verificar enlaces rotos en la documentaciónscripts/check-links.sh
Desplegar una interfaz web de repositorio de paquetes brepbrep/README.md
Cargar datos del repositorio en brepbrep/brep-load.md
Caducar compilaciones antiguas o archivar inquilinos en brepbrep/brep-clean.md
Configurar o migrar bases de datos de brepbrep/brep-migrate.md
Monitorear la infraestructura de compilación de brep en busca de retrasosbrep/brep-monitor.md
Limpiar directorios de carga de distribución binariabrep/brep-upload-bindist-clean.md
Implementar un manejador de envío de paquetes o CIbrep/brep-request-handling.md
Entender el protocolo de envío de paquetes de brepbrep/brep-request-handling.md
Entender el protocolo de solicitud CI de brepbrep/brep-request-handling.md
Solucionar erroresHOWTO/troubleshooting.md
Recetas prácticas por temaHOWTO/README.md
Referencia de terminologíaGLOSSARY.md

Orientación rápida de herramientas

BinarioRolCargar cuando
bSistema de compilaciónEscribir/leer buildfiles, diagnosticar errores de compilación, configurar instalaciones
bpkgGestor de paquetesGestionar dependencias, resolver conflictos, crear configuraciones independientes
bdepGestor de dependencias del proyectoInicializar proyectos, sincronizar configuraciones, publicar versiones
bxEjecutor de tareasEjecutar scripts .bx o tareas nombradas
brepInterfaz web del repositorioDesplegar repositorios de paquetes, gestionar envíos y CI

Individual skills in this repo

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

Skills relacionados