Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Add standalone binary distribution for mgd #3651

@t83714

Description

@t83714

Background

The first mgd release should be installable through npm without requiring users to clone the MAGDA repository. That is enough for users who already have Node.js and npm, but some MAGDA users will not have a JavaScript toolchain installed and should still be able to use the CLI.

Standalone binaries give those users a simpler path: download mgd, place it on PATH, and run it without installing Node.js, npm, yarn, or the MAGDA source tree.

Parent: #3648

Follows: #3649

Description

Add standalone binary packaging for the mgd CLI after the initial npm-based CLI foundation is in place.

The standalone packages should use the same TypeScript CLI source as the npm package, bundle the CLI to JavaScript, and package it with a Node.js runtime or equivalent JavaScript runtime packaging approach. All installation channels should expose the same mgd command behavior.

Acceptance Criteria

  • Standalone mgd binaries are produced for the initial supported platforms.
  • The release includes at least:
    • macOS arm64,
    • macOS x64,
    • Linux x64,
    • Linux arm64,
    • Windows x64.
  • Users can run the standalone binary without installing Node.js or npm.
  • The standalone binaries use the same command behavior and version as the npm package.
  • Release assets are published in a predictable naming scheme, for example mgd-darwin-arm64, mgd-linux-x64, and mgd-win-x64.exe.
  • Packaging smoke tests verify that each generated binary can run basic commands such as mgd --version and mgd auth status.
  • Documentation explains how to install from direct release assets.
  • Documentation includes a one-line macOS/Linux installer once release asset URLs are stable.

Technical Notes

  • Keep the CLI dependency-light and avoid required native modules so standalone packaging remains practical.
  • Candidate packaging approaches include Node single executable application support, pkg, nexe, or another equivalent tool.
  • Homebrew can be added later as a wrapper around the same release assets.
  • This issue should not fork the CLI implementation; npm and standalone packages should be built from the same source.

Out of Scope

  • Building the initial CLI command set.
  • Changing the authentication model.
  • Homebrew packaging, unless it is needed as part of validating the release assets.
  • MCP support.

Metadata

Metadata

Assignees

No one assigned

    Labels

    refined-unreviewedIssues that have been refined by one person but not been reviewed by the rest of the team

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions