2026-01-12 04:43:06 +00:00

1.8 KiB

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
  • provisioning/justfiles/build.just - Build recipe definitions
  • provisioning/tools/distribution/ - Distribution generation using build outputs
  • provisioning/tools/package/ - Packaging compiled binaries