Skip to content

feat: add native Windows support - #44

Merged
sametcelikbicak merged 8 commits into
sametcelikbicak:mainfrom
onurozkir:native-windows-support
Oct 28, 2026
Merged

sametcelikbicak merged 8 commits into
sametcelikbicak:mainfrom
onurozkir:native-windows-support

Conversation

@onurozkir

Copy link
Copy Markdown
Contributor

What changed

Windows users currently stop at the Bash-only ./install.sh step. Add a native PowerShell installer so they can install, check, and uninstall OpenCode Team with Windows PowerShell 5.1 or PowerShell 7.

  • Add install.ps1 with idempotent symbolic links, OpenCode 1.x checks, optional npm bootstrap constrained to 1.x, and OPENCODE_CONFIG_DIR support.
  • Preserve existing local/external entries and opencode.json; print the recommended configuration instead of editing it.
  • Add native memory compaction and update the orchestrator instructions so Windows gate maintenance does not require Bash.
  • Add Windows smoke CI for both PowerShell versions, update installation/contributor docs and both READMEs, and include TESTING-WINDOWS.md.

Why

Provide the native Windows support requested in #42 while preserving the existing macOS/Linux installation behavior and live repository links. Symbolic-link creation requires Administrator PowerShell, or PowerShell 7 with Developer Mode enabled.

Validation

  • Native installer smoke tests: 102 assertions passed per shell on Windows PowerShell 5.1 and PowerShell 7.6.5.
  • Native memory tests: 38 assertions passed per shell, including relative overrides after Set-Location, Unicode, collisions, and unsafe-path protection.
  • Real OpenCode 1.19.4 discovered all 14 team agents, 19 commands, and 13 skills in an isolated environment.
  • Actual user installation/check passed; existing configuration remained unchanged.
  • Existing Bash install and memory smoke tests passed under elevated Git Bash with native symlinks.
  • Manifest validation, generated-reference freshness, and VitePress build passed.
  • Provider/model calls and a full pipeline run were not exercised. Remote CI results are separate from these local checks.

Checklist

  • ruby scripts/validate.rb passes
  • bash -n install.sh scripts/*.sh passes
  • ./scripts/smoke-install.sh passes
  • New frontmatter description values are quoted when they contain : (no new frontmatter descriptions)
  • team.yaml references resolve (agent, skill, profile stage ids)
  • README updated if a command, flag, agent or stage changed
  • No secrets or machine-specific paths

Related issue

Closes #42

@github-actions

Copy link
Copy Markdown

Thanks for your first pull request. Run ruby scripts/validate.rb and ./scripts/smoke-install.sh before review.

@sametcelikbicak sametcelikbicak left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Windows CI fix verified: both Windows smoke jobs pass and are now required. Re-approving after force-push.

@sametcelikbicak
sametcelikbicak merged commit 14875ec into sametcelikbicak:main Oct 28, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add native Windows support

2 participants