# 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 ```nushell # 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 ``` ## 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