Skip to content

First-class Windows support #2

Description

@adamdaum

Summary

The shell scripts (ralph.sh, init.sh, dev-up.sh, dev-down.sh) rely on Unix-specific tools like fuser, lsof, chmod, and bash-specific syntax. On Windows, users must use WSL or Git Bash, and even then some operations (like chmod) fail silently.

Current Behavior

  • dev-up.sh uses fuser and lsof for port detection — neither is available natively on Windows
  • chmod +x is a no-op on Windows (noted in cli.ts comments)
  • PID file management assumes Unix process semantics
  • kill commands may not work as expected outside WSL

Proposal

  • Add PowerShell script equivalents (ralph.ps1, init.ps1, dev-up.ps1, dev-down.ps1)
  • Or: rewrite orchestration in Node.js so it's cross-platform by default
  • Use netstat or Get-NetTCPConnection for port detection on Windows
  • Use taskkill instead of kill on Windows
  • Auto-detect platform in ralph.sh and delegate to the right script
  • Document Windows setup requirements clearly in generated README

Considerations

  • Node.js-based orchestration would eliminate the shell dependency entirely and may be the cleanest long-term solution
  • WSL remains a viable workaround — the question is whether to optimize for it or go fully native

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions