Anonymous - 2026-04-23

Originally posted by: kumaakh

Technical direction: The existing WindowsCommands class in src/os/os-commands.ts (or equivalent) should be refactored:

  1. Extract a WindowsPowerShellCommands class (current behavior — rename for clarity).
  2. Add WindowsCmdCommands — override the commands that differ (e.g. env var syntax %VAR% vs \, command separators & vs ;).
  3. Add WindowsGitBashCommands — extends Unix-style commands but accounts for Windows path quirks (drive letter handling in worktrees — see [#91]).
  4. Member registration (
    egister_member) / update_member: add shell param accepting powershell (default), cmd, gitbash.
  5. getOsCommands() in the strategy layer selects the appropriate class based on the member's registered OS + shell combination.

Low priority but useful for enterprise environments where PowerShell execution policy is locked down. gitbash variant also directly addresses the worktree path issue in [#91].

 

Related

Tickets: #91