Summary
The AI Steering Rules (skills/PAI/USER/AISTEERINGRULES.md) recommend fast Rust-based CLI utilities over legacy POSIX tools:
| Task |
Legacy |
Recommended |
Brew Package |
| File search |
find |
fd |
fd |
| Text search |
grep |
rg |
ripgrep |
| File view |
cat |
bat |
bat |
| Directory list |
ls |
eza |
eza |
| Disk usage |
du |
dust |
dust |
However, INSTALL.ts does not check whether these tools are installed or suggest installing them. The steering rules tell the AI to prefer these tools, and fd is actively used in statusline-command.sh (lines 251-253), but a fresh install gives no indication that any of these should be present.
Relation to #549
Issue #549 covers the fd dependency specifically for the statusline bug. This issue is broader — the installer should detect all recommended CLI utilities from the steering rules and propose installing any that are missing.
Proposed Change
Add a checkCliTools() step to INSTALL.ts (alongside the existing installBun()) that:
- Checks if each recommended tool is available via
command -v
- Reports which are installed and which are missing
- Suggests a single install command for any missing tools:
- macOS:
brew install fd ripgrep bat eza dust
- Linux:
cargo install fd-find ripgrep bat eza du-dust (or distro-specific)
- Does not auto-install — just informs and suggests
Example output:
Checking Recommended CLI Tools
─────────────────────────────────────────────────
✓ fd (file search)
✓ rg (text search)
✗ bat (file viewer)
✓ eza (directory listing)
✗ dust (disk usage)
! 2 recommended tools missing. Install with:
brew install bat dust
Why This Matters
fd is a runtime dependency (statusline breaks without it)
- The other tools are used by the AI when it shells out via Bash
- New users following the install guide have no way to know these are expected
- The steering rule becomes a dead letter if the tools aren't present
Environment
- macOS (Darwin 25.3.0)
- PAI v2.5
Summary
The AI Steering Rules (
skills/PAI/USER/AISTEERINGRULES.md) recommend fast Rust-based CLI utilities over legacy POSIX tools:findfdfdgreprgripgrepcatbatbatlsezaezadudustdustHowever,
INSTALL.tsdoes not check whether these tools are installed or suggest installing them. The steering rules tell the AI to prefer these tools, andfdis actively used instatusline-command.sh(lines 251-253), but a fresh install gives no indication that any of these should be present.Relation to #549
Issue #549 covers the
fddependency specifically for the statusline bug. This issue is broader — the installer should detect all recommended CLI utilities from the steering rules and propose installing any that are missing.Proposed Change
Add a
checkCliTools()step toINSTALL.ts(alongside the existinginstallBun()) that:command -vbrew install fd ripgrep bat eza dustcargo install fd-find ripgrep bat eza du-dust(or distro-specific)Example output:
Why This Matters
fdis a runtime dependency (statusline breaks without it)Environment