prvng_core/CHANGELOG.md
Jesús Pérez c62e967ce3
chore: complete KCL to Nickel migration cleanup and setup pre-commit
Clean up 404 KCL references (99.75% complete):
   - Rename kcl_* variables to schema_*/nickel_* (kcl_path→schema_path, etc.)
   - Update functions: parse_kcl_file→parse_nickel_file
   - Update env vars: KCL_MOD_PATH→NICKEL_IMPORT_PATH
   - Fix cli/providers-install: add has_nickel and nickel_version variables
   - Correct import syntax: .nickel.→.ncl.
   - Update 57 files across core, CLI, config, and utilities

   Configure pre-commit hooks:
   - Activate: nushell-check, nickel-typecheck, markdownlint
   - Comment out: Rust hooks (fmt, clippy, test), check-yaml

   Testing:
   - Module discovery: 9 modules (6 providers, 1 taskserv, 2 clusters) 
   - Syntax validation: 15 core files 
   - Pre-commit hooks: all passing 
2026-01-08 20:08:46 +00:00

177 lines
4.9 KiB
Markdown

# Provisioning Core - Changelog
**Date**: 2026-01-08
**Repository**: provisioning/core
**Status**: Nickel IaC (PRIMARY)
---
## 📋 Summary
Core system with Nickel as primary IaC: CLI enhancements, Nushell library refactoring for schema support, config loader for Nickel evaluation, and comprehensive infrastructure automation.
---
## 📁 Changes by Directory
### cli/ directory
**Major Updates (586 lines added to provisioning)**
- Expanded CLI command implementations (+590 lines)
- Enhanced tools installation system (tools-install: +163 lines)
- Improved install script for Nushell environment (install_nu.sh: +31 lines)
- Better CLI routing and command validation
- Help system enhancements for Nickel-aware commands
- Support for Nickel schema evaluation and validation
### nulib/ directory
**Nushell libraries - Nickel-first architecture**
**Config System**
- `config/loader.nu` - Nickel schema loading and evaluation
- `config/accessor.nu` - Accessor patterns for Nickel fields
- `config/cache/` - Cache system optimized for Nickel evaluation
**AI & Documentation**
- `ai/README.md` - Nickel IaC patterns
- `ai/info_about.md` - Nickel-focused documentation
- `ai/lib.nu` - AI integration for Nickel schema analysis
**Extension System**
- `extensions/QUICKSTART.md` - Nickel extension quickstart (+50 lines)
- `extensions/README.md` - Extension system for Nickel (+63 lines)
- `extensions/loader_oci.nu` - OCI registry loader (minor updates)
**Infrastructure & Validation**
- `infra_validator/rules_engine.nu` - Validation rules for Nickel schemas
- `infra_validator/validator.nu` - Schema validation support
- `loader-minimal.nu` - Minimal loader for lightweight deployments
**Clusters & Workflows**
- `clusters/discover.nu`, `clusters/load.nu`, `clusters/run.nu` - Cluster operations updated
- Plugin definitions updated for Nickel integration (+28-38 lines)
**Documentation**
- `SERVICE_MANAGEMENT_SUMMARY.md` - Expanded service documentation (+90 lines)
- `gitea/IMPLEMENTATION_SUMMARY.md` - Gitea integration guide (+89 lines)
- Extension and validation quickstarts and README updates
### plugins/ directory
Nushell plugins for performance optimization
**Sub-repositories:**
- `nushell-plugins/` - Multiple Nushell plugins
- `_nu_plugin_inquire/` - Interactive form plugin
- `api_nu_plugin_nickel/` - Nickel integration plugin
- Additional plugin implementations
**Plugin Documentation:**
- Build summaries
- Installation guides
- Configuration examples
- Test documentation
- Fix and limitation reports
### scripts/ directory
Utility scripts for system operations
- Build scripts
- Installation scripts
- Testing scripts
- Development utilities
- Infrastructure scripts
### services/ directory
Service definitions and configurations
- Service descriptions
- Service management
### forminquire/ directory
Form inquiry interface
- Interactive form system
- User input handling
### Additional Files
- `README.md` - Core system documentation
- `versions.ncl` - Version definitions
- `.gitignore` - Git ignore patterns
- `nickel.mod` / `nickel.mod.lock` - Nickel module definitions
- `.githooks/` - Git hooks for development
---
## 📊 Change Statistics
| Category | Files | Lines Added | Lines Removed | Status |
|----------|-------|-------------|---------------|--------|
| CLI | 3 | 780+ | 30+ | Major update |
| Config System | 15+ | 300+ | 200+ | Refactored |
| AI/Docs | 8+ | 350+ | 100+ | Enhanced |
| Extensions | 5+ | 150+ | 50+ | Updated |
| Infrastructure | 8+ | 100+ | 70+ | Updated |
| Clusters/Workflows | 5+ | 80+ | 30+ | Enhanced |
| **Total** | **60+ files** | **1700+ lines** | **500+ lines** | **Complete** |
---
## ✨ Key Areas
### CLI System
- Command implementations with Nickel support
- Tools installation system
- Nushell environment setup
- Nickel schema evaluation commands
- Error messages and help text
- Nickel type checking and validation
### Config System
- **Nickel-first loader**: Schema evaluation via config/loader.nu
- **Optimized caching**: Nickel evaluation cache patterns
- **Field accessors**: Nickel record manipulation
- **Schema validation**: Type-safe configuration loading
### AI & Documentation
- AI integration for Nickel IaC
- Extension development guides
- Service management documentation
### Extensions & Infrastructure
- OCI registry loader optimization
- Schema-aware extension system
- Infrastructure validation for Nickel definitions
- Cluster discovery and operations enhanced
---
## 🎯 Current Features
- **Nickel IaC**: Type-safe infrastructure definitions
- **CLI System**: Unified command interface with 80+ shortcuts
- **Provider Abstraction**: Cloud-agnostic operations
- **Config System**: Hierarchical configuration with 476+ accessors
- **Workflow Engine**: Batch operations with dependency resolution
- **Validation**: Schema-aware infrastructure validation
- **AI Integration**: Schema-driven configuration generation
---
**Status**: Production
**Date**: 2026-01-08
**Repository**: provisioning/core
**Version**: 5.0.0