After releasing to GitHub or GitLab, GoReleaser can generate and publish a Scoop App Manifest into a repository that you have access to.

The scoop section specifies how the manifest should be created. See the commented example bellow:

# .goreleaser.yml
  # Template for the url which is determined by the given Token (github or gitlab)
  # Default for github is "<repo_owner>/<repo_name>/releases/download/{{ .Tag }}/{{ .ArtifactName }}"
  # Default for gitlab is "<repo_owner>/<repo_name>/uploads/{{ .ArtifactUploadHash }}/{{ .ArtifactName }}"
  # Gitea is not supported yet, but the support coming
  url_template: "{{ .Tag }}/{{ .ArtifactName }}"

  # Repository to push the app manifest to.
    owner: user
    name: scoop-bucket

  # Git author used to commit to the repository.
  # Defaults are shown.
    name: goreleaserbot
    email: [email protected]

  # Your app's homepage.
  # Default is empty.
  homepage: ""

  # Your app's description.
  # Default is empty.
  description: "Software to create fast and easy drum rolls."

  # Your app's license
  # Default is empty.
  license: MIT

  # Persist data between application updates
  - "data"
  - "config.toml"

By defining the scoop section, GoReleaser will take care of publishing the Scoop app. Assuming that the project name is drumroll and the current tag is v1.2.3, the above configuration will generate a drumroll.json manifest in the root of the repository specified in the bucket section.

  "version": "1.2.3",
  "architecture": {
    "64bit": {
      "bin": "drumroll.exe",
      "hash": "86920b1f04173ee08773136df31305c0dae2c9927248ac259e02aafd92b6008a"
    "32bit": {
      "bin": "drumroll.exe",
      "hash": "283faa524ef41987e51c8786c61bb56658a489f63512b32139d222b3ee1d18e6"
  "homepage": ""

Your users can then install your app by doing:

scoop bucket add app
scoop install app

You can check the Scoop documentation for more details.

Last updated by dtluna on August 26, 2019. Improve this page.