Public/Rocket.ps1

function Rocket {
    param (
        [Parameter(Position=0)][ValidateSet("Init", "Launch", "Generate", "g")]
        [string]$Command,
        [Parameter(Position=1)]
        [string]$Name,
        [ValidateSet("Form")]
        [string]$Type,
        [string]$Path = $PWD
    )

    $Command = $Command.ToLower()

    if ($Command -eq 'g') {
        $Command = 'generate'
    }

    switch ($Command) {
        'launch' {
            if ($Name -eq '') {
                $Name = 'startup.ps1'
            }

            Write-Host "Launching Rocket with file <($Name)>" -ForegroundColor Green

            Start-Project -Name $Name
            break
        }
        'init' {
            New-Project -Name $Name
            break
        }
        'generate' {
            if ($Type -eq 'Form') {
                New-Form -Name $Name
            }
            break
        }
        default {
            Write-Host "- Invalid Input -" -ForegroundColor Red
        }
    }
}


New-Alias -Name "rk" -Value Rocket
Export-ModuleMember -Function Rocket -Alias rk