# Build System **Purpose**: Core build tools for compiling Rust components and bundling Nushell libraries. ## Tools ### Compilation - **`compile-platform.nu`** - Compile Rust orchestrator, control-center, and MCP server - Multi-platform cross-compilation - Release/debug build modes - Feature flag management - Output to `dist/platform/` ### Bundling - **`bundle-core.nu`** - Bundle Nushell core libraries and CLI - Package provisioning CLI wrapper - Core library bundling (lib_provisioning) - Configuration system packaging - Validation and syntax checking - Optional compression (gzip) - Output to `dist/core/` ### Validation - **`check-system.nu`** - Validate build environment - Check required tools (Rust, Nushell, Nickel) - Verify dependencies - Validate configuration ## Build Process Complete build pipeline: ``` just build-all # Platform + core just build-platform # Rust binaries only just build-core # Nushell libraries only ``` Build with validation: ``` just build-core --validate # Validate Nushell syntax ``` Debug build: ``` just build-debug # Build with debug symbols ``` ## Output Build outputs go to `dist/`: - `dist/platform/` - Compiled Rust binaries - `dist/core/` - Nushell libraries and CLI - `dist/config/` - Configuration files - `dist/core/bundle-metadata.json` - Build metadata ## Architecture Each build tool follows Nushell 0.109+ standards: - Immutable variable patterns - Explicit external command prefixes (`^`) - Error handling via `do { } | complete` pattern - Comprehensive logging ## Related Files - `provisioning/justfiles/build.just` - Build recipe definitions - `provisioning/tools/distribution/` - Distribution generation using build outputs - `provisioning/tools/package/` - Packaging compiled binaries