46 lines
No EOL
2.3 KiB
Markdown
46 lines
No EOL
2.3 KiB
Markdown
---
|
|
description: 'Shell-operation guardrails for shared PowerShell sessions, tool availability checks, and multiline command workarounds'
|
|
applyTo: '**'
|
|
---
|
|
|
|
# Shell Operations
|
|
|
|
Use these rules when running shell commands from this workspace.
|
|
|
|
## General Rules
|
|
|
|
- Prefer built-in workspace tools for file search, text search, file reads, and edits before dropping to the terminal.
|
|
- Keep terminal commands short and single-line when possible.
|
|
- Treat the shared PowerShell session as fragile after any prompt-continuation or escape-sequence artifact appears.
|
|
|
|
## Tool Availability
|
|
|
|
- Do not assume `rg` is installed.
|
|
- Before using `rg`, check availability with `Get-Command rg -ErrorAction SilentlyContinue`.
|
|
- If `rg` is unavailable, use workspace search tools first.
|
|
- If shell-side fallback is still needed, use PowerShell-native alternatives:
|
|
- `Get-ChildItem -Recurse -File` for file discovery
|
|
- `Select-String` for text search
|
|
|
|
## Multiline Command Safety
|
|
|
|
- Do not paste multiline commands directly into the shared PowerShell terminal when a one-line command or script file will do.
|
|
- Do not send multiline PowerShell hash tables, arrays, or loops directly to the shared terminal if the same work can be expressed as:
|
|
- one single-line command, or
|
|
- a temporary `.ps1` script file executed with `pwsh -File`, or
|
|
- a temporary `.py` file executed with Python for Python-side work.
|
|
- Always write multiline Python to a temporary `.py` file and execute that file instead of pasting Python into the terminal.
|
|
|
|
## Recovering From Terminal Weirdness
|
|
|
|
- If the prompt shows continuation markers, partial prompt redraws, or escape-sequence artifacts, stop issuing more complex commands in that shell.
|
|
- Try a single `Esc` first to clear unfinished input.
|
|
- If the shell still looks unhealthy, ask the user to reset or fix the terminal with the ask-questions tool before continuing.
|
|
- After recovery, resume with single-line commands or temporary script files instead of retrying the same multiline paste.
|
|
|
|
## Command Style
|
|
|
|
- Prefer explicit PowerShell cmdlets over aliases in reusable commands.
|
|
- Avoid commands that rely on interactive input.
|
|
- Prefer one focused command per terminal invocation so failures are easier to attribute.
|
|
- When posting HTTP form data from PowerShell, prefer compact one-line request bodies over multiline literal blocks in the shared shell. |