pi-bash-to-ps

内容来源:README.md(说明文档) · 原始地址 · 查看安装指南

原始内容

pi-bash-to-ps

A pi extension that lets AI coding agents write bash commands on Windows — they get transpiled to PowerShell and run natively. No Git Bash or WSL required.

LLM generates:  ls -la src/ | grep TODO | wc -l
                    ↓ transpiled
Executes:        Get-ChildItem ... | Select-String ... | Measure-Object -Line

The extension overrides pi's built-in bash tool transparently — the LLM never knows anything is different. Same tool name, same schema, same output format.

Install

# Install globally as a pi package
pi install npm:pi-bash-to-ps

# Or from GitHub
pi install github.com/Paul-Yuchao-Dong/pi-bash-to-ps

# Or test without installing
pi -e npm:pi-bash-to-ps

You can also clone and run locally:

git clone https://github.com/Paul-Yuchao-Dong/pi-bash-to-ps
cd pi-bash-to-ps
npm install
pi -e ./index.ts

How it works

On bash tool calls, the extension:

  1. Transpiles the bash command to PowerShell via joyi-ai/bash-to-powershell
  2. Spawns pwsh.exe (PS 7) or powershell.exe (PS 5.1) with the transpiled command
  3. Falls back to the original bash command via the system shell if transpilation fails
  4. No-ops on macOS and Linux — the built-in bash tool is untouched

Native tools (rg, fd, curl.exe, jq) are auto-detected and preferred over PowerShell cmdlet fallbacks.

Platform support

OS Behavior
Windows Bash → transpile → PowerShell
macOS / Linux No-op (built-in bash tool unchanged)

Architecture decisions

See docs/adr/0001-override-bash-tool.md for why we chose to override the tool rather than intercept events.

Attribution

bash-to-powershell — the transpiler that powers this extension.

License

MIT