-
Notifications
You must be signed in to change notification settings - Fork 157
Description
During the :setup command, Conductor goes to list relevant files. While many linux commands are defined as aliases in Windows to the correct cmdlet, xargs isn't one of them.
For my brownfield project, setup continued fine despite this, and it still had reasonable recommendations for product scope and tech stack. It was likely able to infer from reading package.json and firebase.json after this failed command.
╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ ✓ Shell git ls-files --exclude-standard -z -c -o | xargs -0 -n 1 dirname | sort -u [current working directory C:\dev\<redacted>] (Listing releva… │
│ │
│ xargs : The term 'xargs' is not recognized as the name of a cmdlet, function, script file, or operable │
│ program. Check the spelling of the name, or if a path was included, verify that the path is correct and │
│ try again. │
│ At line:1 char:44 │
│ + git ls-files --exclude-standard -z -c -o | xargs -0 -n 1 dirname | so ... │
│ + ~~~~~ │
│ + CategoryInfo : ObjectNotFound: (xargs:String) [], CommandNotFoundException │
│ + FullyQualifiedErrorId : CommandNotFoundException │
│ │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
Asking Gemini to convert the command into valid Powershell generates
git ls-files --exclude-standard -z -c -o | ForEach-Object { $_ -split "0" } | Where-Object { $_ } | ForEach-Object { Split-Path $_ -Parent } | Sort-Object -Unique`
which appears to create the correct formatted output.
I'd recommend having setup check for the OS (perhaps attempt cat /etc/os-release and if it fails then host or be very fancy with [System.Runtime.InteropServices.RuntimeInformation]::OSDescription) and either hardcode a Windows equivalent or just let gemini translate on the fly.