2026-01-21 10:26:51 +00:00
..
2026-01-14 04:59:49 +00:00
2026-01-21 10:26:51 +00:00
2025-10-07 11:12:02 +01:00
2025-10-07 11:12:02 +01:00
2026-01-14 04:59:49 +00:00

Development Tools

Development and distribution tooling for provisioning.

Tool Categories

Build Tools (build/)

Build automation and compilation tools:

  • Nushell script validation
  • KCL schema compilation
  • Dependency management
  • Asset bundling

Future Features:

  • Automated testing pipelines
  • Code quality checks
  • Performance benchmarking

Package Tools (package/)

Packaging utilities for distribution:

  • Standalone executables
  • Container images
  • System packages (deb, rpm, etc.)
  • Archive creation

Future Features:

  • Multi-platform builds
  • Dependency bundling
  • Signature verification

Release Tools (release/)

Release management automation:

  • Version bumping
  • Changelog generation
  • Git tag management
  • Release notes creation

Future Features:

  • Automated GitHub releases
  • Asset uploads
  • Release validation

Distribution Tools (distribution/)

Distribution generators and deployment:

  • Installation scripts
  • Configuration templates
  • Update mechanisms
  • Registry management

Future Features:

  • Package repositories
  • Update servers
  • Telemetry collection

Tool Architecture

Script-Based Tools

Most tools are implemented as Nushell scripts for consistency with the main system:

  • Easy integration with existing codebase
  • Consistent configuration handling
  • Native data structure support

Build Pipeline Integration

Tools integrate with common CI/CD systems:

  • GitHub Actions
  • GitLab CI
  • Jenkins
  • Custom automation

Configuration Management

Tools use the same configuration system as the main application:

  • Unified settings
  • Environment-specific overrides
  • Secret management integration

Usage Examples

# Build the complete system
./tools/build/build-all.nu

# Package for distribution
./tools/package/create-standalone.nu --target linux

# Create a release
./tools/release/prepare-release.nu --version 4.0.0

# Generate distribution assets
./tools/distribution/generate-installer.nu --platform macos

Directory Structure

provisioning/tools/
├── README.md                          # This file
├── build/                             # Core build tools (Rust + Nushell)
│   ├── README.md
│   ├── compile-platform.nu            # Compile Rust binaries
│   ├── bundle-core.nu                 # Bundle Nushell libraries
│   └── check-system.nu                # Validate build environment
├── dist/                              # Build output directory (generated)
│   ├── README.md
│   ├── core/                          # Nushell bundles
│   ├── platform/                      # Compiled binaries
│   └── config/                        # Configuration files
├── distribution/                      # Distribution generation
│   ├── README.md
│   └── generate-distribution.nu       # Create installable packages
├── package/                           # Package outputs (generated)
│   └── README.md
├── release/                           # Release management (generated)
│   └── README.md
├── scripts/                           # Utility and setup scripts
│   ├── *.nu files                     # Nushell utilities
│   └── *.sh files                     # Shell scripts
└── [Other utility scripts]            # Standalone tools

See individual README.md files in each subdirectory for detailed information.

Development Setup

  1. Ensure all dependencies are installed
  2. Configure build environment
  3. Run initial setup scripts
  4. Validate tool functionality

Integration

These tools integrate with:

  • Main provisioning system
  • Extension system
  • Configuration management
  • Documentation generation
  • CI/CD pipelines (GitHub Actions, GitLab CI, Jenkins)