Skip to content

About

No description, website, or topics provided.

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Keldor.Build.PowerShell

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.

Purpose

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

Relationship to Keldor.Build

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.Python
  • Keldor.Build.DotNet
  • Keldor.Build.Node
  • Keldor.Build.Go

Commands

Register-KeldorPowerShellBuildProvider
Resolve-KeldorPowerShellProject
Test-KeldorPowerShellProject
Invoke-KeldorPowerShellBuild
Invoke-KeldorPowerShellProjectTests
Clear-KeldorPowerShellBuild
Publish-KeldorPowerShellProject

Example

Import-Module ./Keldor.Build.PowerShell.psd1 -Force

Resolve-KeldorPowerShellProject -Path .
Test-KeldorPowerShellProject -Path . -Analyze
Invoke-KeldorPowerShellBuild -Path . -Clean -Test

Configuration-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.

Installation

Consumers should install an exact compatible version as a build-only dependency:

Install-Module Keldor.Build.PowerShell -RequiredVersion 0.2.0 -Scope CurrentUser

Do not add this module to a consumer module's runtime RequiredModules unless runtime code actually uses it.

Local Development

./build/build.ps1 -Clean -Analyze -Test

Keldor Standards

This repository targets the Keldor engineering standards:

Keldor.Build.PowerShell should eventually provide the validation commands that enforce those standards in CI and local builds.

Documentation

Compatibility Goals

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.

Security Standards

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.

About

No description, website, or topics provided.

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages