Public/Get-CCStandard.ps1

function Get-CCStandard {
    [CmdletBinding()]
    param(
        [Parameter(Mandatory)][ValidateSet('core','active','minimal')][string]$Name
    )

    if (-not $script:Standards.ContainsKey($Name)) {
        throw "Unknown standard: '$Name'. Valid values: $($script:Standards.Keys -join ', ')"
    }

    [PSCustomObject]@{
        Name             = $Name
        FilesRequired    = $script:Standards[$Name]['files_required']
        FilesRecommended = $script:Standards[$Name]['files_recommended']
        StructureSource  = $script:Standards[$Name]['structure_source']
        StructureTests   = $script:Standards[$Name]['structure_tests']
        StructureDocs    = $script:Standards[$Name]['structure_docs']
        RequireCI        = $script:Standards[$Name]['require_ci']
        RequireTestStep  = $script:Standards[$Name]['require_test_step']
        RequireLintStep  = $script:Standards[$Name]['require_lint_step']
        ReadmeSections   = $script:Standards[$Name]['readme_sections']
        RequireLockfile  = $script:Standards[$Name]['require_lockfile']
        RequireDepAutomation = $script:Standards[$Name]['require_dep_automation']
        SecurityForbidden = $script:Standards[$Name]['security_forbidden']
    }
}