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

35 lines
775 B
Plaintext

# Workspace Configuration Schema
# Defines the structure and validation rules for workspace metadata and settings
let defaults = import "./workspace-defaults.ncl" in
{
# Contract definitions for workspace components
WorkspaceMetadata = {
owner | String,
created | String,
environment | String,
},
WorkspaceConfig = {
name | String,
path | String,
description | String,
metadata | WorkspaceMetadata,
},
# Hybrid interface: Defaults, makers, and instances
defaults = defaults,
make_metadata | not_exported = fun o =>
defaults.metadata & o,
make_workspace | not_exported = fun o =>
defaults.workspace & o,
# Default instances
DefaultMetadata = defaults.metadata,
DefaultWorkspaceConfig = defaults.workspace,
}