From e09aba7585b5b4c124be11fae186ac9755967534 Mon Sep 17 00:00:00 2001 From: Chris Addams Date: Mon, 15 Jun 2026 12:16:31 +0100 Subject: [PATCH] chore(packaging): add winget + Scoop manifests for Windows Ready-to-submit manifests so Windows users can install the CLI via winget (portable, registers the 'anythink' command) and Scoop (with checkver/ autoupdate). Includes a submission guide. Pinned to v0.2.13 as a reference. --- packaging/README.md | 57 +++++++++++++++++++ packaging/scoop/anythink.json | 29 ++++++++++ packaging/winget/Anythink.CLI.installer.yaml | 14 +++++ .../winget/Anythink.CLI.locale.en-US.yaml | 18 ++++++ packaging/winget/Anythink.CLI.yaml | 5 ++ 5 files changed, 123 insertions(+) create mode 100644 packaging/README.md create mode 100644 packaging/scoop/anythink.json create mode 100644 packaging/winget/Anythink.CLI.installer.yaml create mode 100644 packaging/winget/Anythink.CLI.locale.en-US.yaml create mode 100644 packaging/winget/Anythink.CLI.yaml diff --git a/packaging/README.md b/packaging/README.md new file mode 100644 index 0000000..f4fcbc0 --- /dev/null +++ b/packaging/README.md @@ -0,0 +1,57 @@ +# Packaging + +Manifests for distributing the `anythink` CLI through Windows package managers. +The CLI is also available via Homebrew (macOS/Linux), `npx`, the .NET global +tool, and direct binary downloads — see the main [README](../README.md). + +The Windows binaries are published on each GitHub release as +`anythink-win-x64.exe` and `anythink-win-arm64.exe` (standalone, self-contained, +no installer or runtime needed). + +> Manifests here are pinned to a specific version as a working reference. When +> submitting, target the current latest release and recompute the hashes. +> Compute a hash with `Get-FileHash -Algorithm SHA256 ` (PowerShell) or +> `shasum -a 256 ` (macOS/Linux). + +## winget + +`packaging/winget/` holds the three-file manifest set (`InstallerType: portable`, +so `anythink` is registered as a command alias). + +Submit to the community repo with [`wingetcreate`](https://github.com/microsoft/winget-create) +(recommended — it downloads the assets, computes hashes, and opens the PR): + +```powershell +winget install wingetcreate +wingetcreate new # paste the two release .exe URLs when prompted +``` + +For later releases: + +```powershell +wingetcreate update Anythink.CLI --version ` + --urls --submit +``` + +Once merged into `microsoft/winget-pkgs`, users install with: + +```powershell +winget install Anythink.CLI +``` + +## Scoop + +`packaging/scoop/anythink.json` is a complete manifest with `checkver`/`autoupdate`, +so once it lives in a bucket it tracks new GitHub releases automatically. + +The standard route for a project-owned CLI is a dedicated bucket repo (e.g. +`anythink-cloud/scoop-anythink`) with this file at `bucket/anythink.json`. +Users then install with: + +```powershell +scoop bucket add anythink https://github.com/anythink-cloud/scoop-anythink +scoop install anythink +``` + +Adding the [Excavator action](https://github.com/ScoopInstaller/GithubActions) +to the bucket repo keeps the manifest auto-updated on each release. diff --git a/packaging/scoop/anythink.json b/packaging/scoop/anythink.json new file mode 100644 index 0000000..8172061 --- /dev/null +++ b/packaging/scoop/anythink.json @@ -0,0 +1,29 @@ +{ + "version": "0.2.13", + "description": "Anythink CLI — manage the Anythink all-in-one backend from the terminal.", + "homepage": "https://anythink.cloud", + "license": "MIT", + "architecture": { + "64bit": { + "url": "https://github.com/anythink-cloud/anythink-cli/releases/download/v0.2.13/anythink-win-x64.exe#/anythink.exe", + "hash": "1b3e58ae7de44df27814f9043ce3ef6ca1a2c9e884be9755b8d1c1d2d6d50376", + "bin": "anythink.exe" + }, + "arm64": { + "url": "https://github.com/anythink-cloud/anythink-cli/releases/download/v0.2.13/anythink-win-arm64.exe#/anythink.exe", + "hash": "cf4ff2ab5352e480a02e3632c08c5137ed89bc971eda960a1a95e3998aba52a3", + "bin": "anythink.exe" + } + }, + "checkver": "github", + "autoupdate": { + "architecture": { + "64bit": { + "url": "https://github.com/anythink-cloud/anythink-cli/releases/download/v$version/anythink-win-x64.exe#/anythink.exe" + }, + "arm64": { + "url": "https://github.com/anythink-cloud/anythink-cli/releases/download/v$version/anythink-win-arm64.exe#/anythink.exe" + } + } + } +} diff --git a/packaging/winget/Anythink.CLI.installer.yaml b/packaging/winget/Anythink.CLI.installer.yaml new file mode 100644 index 0000000..3708e24 --- /dev/null +++ b/packaging/winget/Anythink.CLI.installer.yaml @@ -0,0 +1,14 @@ +PackageIdentifier: Anythink.CLI +PackageVersion: 0.2.13 +InstallerType: portable +Commands: +- anythink +Installers: +- Architecture: x64 + InstallerUrl: https://github.com/anythink-cloud/anythink-cli/releases/download/v0.2.13/anythink-win-x64.exe + InstallerSha256: 1B3E58AE7DE44DF27814F9043CE3EF6CA1A2C9E884BE9755B8D1C1D2D6D50376 +- Architecture: arm64 + InstallerUrl: https://github.com/anythink-cloud/anythink-cli/releases/download/v0.2.13/anythink-win-arm64.exe + InstallerSha256: CF4FF2AB5352E480A02E3632C08C5137ED89BC971EDA960A1A95E3998ABA52A3 +ManifestType: installer +ManifestVersion: 1.12.0 diff --git a/packaging/winget/Anythink.CLI.locale.en-US.yaml b/packaging/winget/Anythink.CLI.locale.en-US.yaml new file mode 100644 index 0000000..15d791f --- /dev/null +++ b/packaging/winget/Anythink.CLI.locale.en-US.yaml @@ -0,0 +1,18 @@ +PackageIdentifier: Anythink.CLI +PackageVersion: 0.2.13 +PackageLocale: en-US +Publisher: Anythink +PublisherUrl: https://anythink.cloud +PackageName: Anythink CLI +PackageUrl: https://anythink.cloud +License: MIT +LicenseUrl: https://github.com/anythink-cloud/anythink-cli/blob/main/LICENSE +ShortDescription: Manage the Anythink all-in-one backend from the terminal. +Moniker: anythink +Tags: +- cli +- anythink +- backend +- baas +ManifestType: defaultLocale +ManifestVersion: 1.12.0 diff --git a/packaging/winget/Anythink.CLI.yaml b/packaging/winget/Anythink.CLI.yaml new file mode 100644 index 0000000..9b6349a --- /dev/null +++ b/packaging/winget/Anythink.CLI.yaml @@ -0,0 +1,5 @@ +PackageIdentifier: Anythink.CLI +PackageVersion: 0.2.13 +DefaultLocale: en-US +ManifestType: version +ManifestVersion: 1.12.0