HyperShell.psm1

# Load all public functions
$PublicPath = Join-Path -Path $PSScriptRoot -ChildPath 'Public'
if (Test-Path $PublicPath) {
    $PublicFunctions = Get-ChildItem -Path $PublicPath -Filter '*.ps1' -File
    
    foreach ($function in $PublicFunctions) {
        try {
            . $function.FullName
            Write-Verbose "Loaded function: $($function.BaseName)"
        }
        catch {
            Write-Error "Failed to load function $($function.FullName): $_"
        }
    }
}

# Load all private functions (if you have them)
$PrivatePath = Join-Path -Path $PSScriptRoot -ChildPath 'Private'
if (Test-Path $PrivatePath) {
    $PrivateFunctions = Get-ChildItem -Path $PrivatePath -Filter '*.ps1' -File
    
    foreach ($function in $PrivateFunctions) {
        try {
            . $function.FullName
            Write-Verbose "Loaded private function: $($function.BaseName)"
        }
        catch {
            Write-Error "Failed to load private function $($function.FullName): $_"
        }
    }
}