Private/New-Form.ps1

function New-Form {
    param (
        [string]$Name,
        [string]$FormsDirectory = "forms"
    )
    
    $projectPath = $PWD
    $formsPath = Join-Path $projectPath $FormsDirectory
    New-Item -Path $formsPath -Name "$($Name.ToLower()).psm1" -ItemType File | Out-Null

    $baseFormContent = Get-Content -Path "$PSScriptRoot\Templates\Forms\base-form.txt" -Raw
    
    Import-Module Scout
    $formContent = Invoke-ScoutRender -Content $baseFormContent -ctx @{
        formName = $Name + "Form"
    }

    Set-Content -Path "$formsPath\$($Name.ToLower()).psm1" -Value $formContent
    Write-Host "Form @$Name created at $formsPath"
}