Skip to content

Publish a cross-platform npm installer for OpenCode Team #47

Open

Description

@onurozkir

Area

Distribution / installation / package / CI

Problem

Installation currently starts with cloning the repository and running a platform-specific script. The existing package.json is private and primarily supports the documentation toolchain.

Native Windows support is proposed in #44, but users would still have different Bash/PowerShell entry points. A published npm package could provide one versioned command-line interface across Windows, macOS, and Linux, with simpler installation and updates.

Proposal

Package the team assets and a Node.js CLI for explicit install, check, update/reinstall, and uninstall operations. For example, npx <package-name>@<version> install or a globally installed CLI; the final package name and command design should be agreed before publishing.

Use a shared implementation for filesystem/configuration behavior and keep platform-specific handling behind it. End users should not need Ruby or the documentation dependencies to install the team.

An npm CLI does not itself remove Windows symlink privilege requirements. Explicitly decide whether installed releases copy managed assets, use links, or support both release installation and an opt-in linked developer mode, and document how updates/uninstall track ownership.

Acceptance criteria

  • Define the package name, supported Node.js versions, public CLI commands, and versioning/release policy.
  • Ship all required agents, commands, skills, team.yaml, and global instructions.
  • The same documented CLI works on Windows, macOS, and Linux without requiring users to run Bash/PowerShell installer scripts.
  • Installation is explicit; adding the npm dependency alone does not silently change global OpenCode configuration.
  • Repeated installs and updates are safe, and check reports the installed version/status.
  • Respect the default OpenCode config directory and OPENCODE_CONFIG_DIR.
  • Preserve local/external user entries and provider/model settings; uninstall removes only package-managed assets.
  • Document copy/link semantics and Windows-specific privileges accurately.
  • Test the actual npm pack artifact in a clean environment on all three platforms, including paths with spaces and install/check/update/uninstall.
  • Add a reproducible release workflow and transition instructions for existing git-clone installations.
  • Distinguish installing this team package from installing/authenticating the OpenCode runtime.

Alternatives considered

Keep separate shell installers; wrap those installers from npm; or implement the small shared installer directly in Node.js. A wrapper alone would retain the shell requirements this proposal aims to simplify.

Compatibility

Complement #42/#44 rather than blocking the Windows fix. Coordinate supported OpenCode majors with the separate v2 compatibility work. Publishing the first package should follow an agreed release policy, not happen implicitly as part of implementation.

Activity

  1. added
    enhancementNew feature or request
    installinstall.sh and local setup
    ciGitHub Actions and repo automation
    windowsWindows support
    on Oct 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    ciGitHub Actions and repo automationenhancementNew feature or requestinstallinstall.sh and local setupwindowsWindows support

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions