provisioning/tools/README.md
Jesús Pérez 44648e3206
chore: complete nickel migration and consolidate legacy configs
- Remove KCL ecosystem (~220 files deleted)
- Migrate all infrastructure to Nickel schema system
- Consolidate documentation: legacy docs → provisioning/docs/src/
- Add CI/CD workflows (.github/) and Rust build config (.cargo/)
- Update core system for Nickel schema parsing
- Update README.md and CHANGES.md for v5.0.0 release
- Fix pre-commit hooks: end-of-file, trailing-whitespace
- Breaking changes: KCL workspaces require migration
- Migration bridge available in docs/src/development/
2026-01-08 09:55:37 +00:00

3.8 KiB

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
```plaintext

## Directory Structure

```plaintext
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
```plaintext

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)