LocalRepoManager.psm1

#Requires -Version 5.1

# Import all public functions
$PublicFunctions = Get-ChildItem -Path "$PSScriptRoot\Public" -Filter "*.ps1" -ErrorAction SilentlyContinue
foreach ($Function in $PublicFunctions) {
    try {
        . $Function.FullName
    } catch {
        Write-Error "Failed to import function $($Function.BaseName): $($_.Exception.Message)"
    }
}

# Import all private functions
$PrivateFunctions = Get-ChildItem -Path "$PSScriptRoot\Private" -Filter "*.ps1" -ErrorAction SilentlyContinue
foreach ($Function in $PrivateFunctions) {
    try {
        . $Function.FullName
    } catch {
        Write-Error "Failed to import private function $($Function.BaseName): $($_.Exception.Message)"
    }
}

# Export public functions
Export-ModuleMember -Function @(
    'Install-ModuleFromLocalRepo',
    'New-LocalRepository',
    'Set-LocalRepositoryLink',
    'Get-LocalRepositoryPackages',
    'Remove-LocalRepositoryPackage',
    'Test-LocalRepository'
)

# Module variables
$script:DefaultRepositoryPath = "C:\LocalNuGetRepo"
$script:SupportedExtensions = @('.nupkg')

Write-Verbose "LocalRepoManager module loaded successfully"