If you have Node.js, no installation is needed — run the CLI on demand via @ulinkly/cli:
npx @ulinkly/cli --versionOr install it globally:
npm install -g @ulinkly/cli@ulinkly/cli downloads the matching native binary on first run and caches it under ~/.ulink/npm/. The npm version maps 1:1 to a CLI release (e.g. 1.2.0 → v1.2.0).
curl -fsSL https://ulink.ly/install.sh | bashirm https://ulink.ly/install.ps1 | iexThe install script will:
- Download the latest release for your platform
- Install to
~/.ulink/bin - Add the binary to your PATH
curl -fsSL https://ulink.ly/install.sh | bash -s -- --version v1.0.0& ([scriptblock]::Create((irm https://ulink.ly/install.ps1))) -Version v1.0.0For CI environments, use the --ci flag to skip interactive prompts:
curl -fsSL https://ulink.ly/install.sh | bash -s -- --ci- Go to GitHub Releases
- Download the appropriate binary for your platform:
ulink-macos-arm64- macOS Apple Siliconulink-macos-x64- macOS Intelulink-linux-x64- Linux x64ulink-linux-arm64- Linux ARM64ulink-windows-x64.exe- Windows x64
- Make it executable (macOS/Linux):
chmod +x ulink-* - Move to a directory in your PATH:
sudo mv ulink-* /usr/local/bin/ulink
If you have Dart SDK installed:
dart pub global activate --source git https://github.com/FlywheelStudio/ulink_cli.gitAfter installation, verify it works:
ulink --versionYou should see version information like:
ULink CLI Version: 1.0.0
Build Number: 37
Build Date: 2026-01-21
To update to the latest version, simply run the install script again:
# macOS / Linux
curl -fsSL https://ulink.ly/install.sh | bash
# Windows
irm https://ulink.ly/install.ps1 | iexrm -rf ~/.ulinkThen remove the PATH entry from your shell config (~/.zshrc, ~/.bashrc, etc.).
sudo rm /usr/local/bin/ulinkdart pub global deactivate ulink_cli