GitHub Subsequent has this cool challenge that’s principally Copilot for the CLI (command line interface). You’ll be able to join their waitlist on the Copilot for CLI website.
Copilot for CLI supplies three shell instructions:
??
,git?
andgh?
That is cool and all, however I take advantage of PowerShell. Seems these ?? instructions are simply router instructions to a bigger EXE referred to as github-copilot-cli. So in the event you go “?? one thing” you are actually going “github-copilot-cli what-the-shell one thing.”
So this implies I ought to be capable to to do the identical/related aliases for my PowerShell immediate AND change the injected immediate (take a look at me I am a immediate engineer) so as to add ‘use powershell to.’
Now it is not good, however hopefully it’ll make the purpose to the Copilot CLI crew that PowerShell wants love additionally.
Listed here are my aliases. Be happy to counsel if these suck. Notice the addition of “consumer powershell to” for the ?? one. I could make a ?? and a p? the place one does bash and one does PowerShell. I might even have it use wsl.exe and shell out to bash. Plenty of potentialities.
perform ?? {
$TmpFile = New-TemporaryFile
github-copilot-cli what-the-shell ('use powershell to ' + $args) --shellout $TmpFile
if ([System.IO.File]::Exists($TmpFile)) {
$TmpFileContents = Get-Content material $TmpFile
if ($TmpFileContents -ne $nill) {
Invoke-Expression $TmpFileContents
Take away-Merchandise $TmpFile
}
}
}perform git? {
$TmpFile = New-TemporaryFile
github-copilot-cli git-assist $args --shellout $TmpFile
if ([System.IO.File]::Exists($TmpFile)) {
$TmpFileContents = Get-Content material $TmpFile
if ($TmpFileContents -ne $nill) {
Invoke-Expression $TmpFileContents
Take away-Merchandise $TmpFile
}
}
}
perform gh? {
$TmpFile = New-TemporaryFile
github-copilot-cli gh-assist $args --shellout $TmpFile
if ([System.IO.File]::Exists($TmpFile)) {
$TmpFileContents = Get-Content material $TmpFile
if ($TmpFileContents -ne $nill) {
Invoke-Expression $TmpFileContents
Take away-Merchandise $TmpFile
}
}
}
It additionally then provides to run the command. Very clean.

Hope you prefer it. Plenty of enjoyable stuff occurring on this house.
About Scott
Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, advisor, father, diabetic, and Microsoft worker. He’s a failed stand-up comedian, a cornrower, and a guide writer.