PowerShell build toolkit for the Keldor ecosystem.
Keldor.Build.PowerShell is the authoritative place for PowerShell-specific project detection, validation, build, test, clean, packaging, and publishing behavior.
It can integrate with the generic Keldor.Build orchestration layer, but it does not depend on it for normal PowerShell module workflows.
This module standardizes how Keldor PowerShell projects are handled across repositories.
It focuses on:
- PowerShell module discovery
- Manifest validation
- Script analysis
- Pester test execution
- Build output creation
- Optional publishing workflows
- Cross-platform PowerShell development
- Backwards-compatible PowerShell where practical
- Future enforcement of Keldor PowerShell engineering standards
Keldor.Build should remain language-agnostic.
Keldor.Build.PowerShell owns the PowerShell-specific behavior and can register itself as a provider with the generic orchestration module.
Keldor.Build
└── Keldor.Build.PowerShell
Future language-specific build toolkits should follow the same pattern:
Keldor.Build.PythonKeldor.Build.DotNetKeldor.Build.NodeKeldor.Build.Go
Register-KeldorPowerShellBuildProvider
Resolve-KeldorPowerShellProject
Test-KeldorPowerShellProject
Invoke-KeldorPowerShellBuild
Invoke-KeldorPowerShellProjectTests
Clear-KeldorPowerShellBuild
Publish-KeldorPowerShellProjectImport-Module ./Keldor.Build.PowerShell.psd1 -Force
Resolve-KeldorPowerShellProject -Path .
Test-KeldorPowerShellProject -Path . -Analyze
Invoke-KeldorPowerShellBuild -Path . -Clean -TestConfiguration-driven repositories can keep source and tests below the repository root:
Test-KeldorPowerShellBuildConfiguration -ConfigurationPath ./build.config.psd1
Invoke-KeldorPowerShellBuild -ConfigurationPath ./build.config.psd1 -Task Build
Invoke-KeldorPowerShellBuild -ConfigurationPath ./build.config.psd1 -Task Release -Version '1.2.3'The configuration mode owns reusable staging, explicit manifest exports, semantic-version release preparation, and publishing. Consumer repositories retain only an inert data file and a thin import/invocation script.
Consumers should install an exact compatible version as a build-only dependency:
Install-Module Keldor.Build.PowerShell -RequiredVersion 0.2.0 -Scope CurrentUserDo not add this module to a consumer module's runtime RequiredModules unless runtime code actually uses it.
./build/build.ps1 -Clean -Analyze -TestThis repository targets the Keldor engineering standards:
Keldor.Build.PowerShell should eventually provide the validation commands that enforce those standards in CI and local builds.
- Architecture
- Commands
- Configuration Contract
- Consumer Integration
- Development and Security Standards
- PowerShell Provider
- Keldor Release Runbook
- Publish Keldor to SHFamily ProGet
- Publish Keldor to the PowerShell Gallery
- Standards Alignment
Keldor PowerShell build code supports Windows PowerShell 5.1 and supported PowerShell 7 releases on Windows, macOS, and Linux where the underlying build tools are available.
Security and maintainability take priority over legacy compatibility when tradeoffs are unavoidable.
Development should align with applicable guidance from:
- NIST SP 800-53
- NIST Secure Software Development Framework
- DoD cybersecurity expectations
- DISA STIG principles where applicable
This repository should avoid hardcoded secrets, unsafe command execution, and platform-specific assumptions unless clearly documented.