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/comparable 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 should make the purpose to the Copilot CLI group that PowerShell wants love additionally.
Listed here are my aliases. Be happy to recommend if these suck. Word the addition of “person powershell to” for the ?? one. I’ll make a ?? and a p? the place one does bash and one does PowerShell. I may even have it use wsl.exe and shell out to bash. A lot of prospects.
operate ?? {
$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
}
}
}operate 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
}
}
}
operate 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 easy.

Hope you prefer it. A lot of enjoyable stuff taking place on this area.
About Scott
