Scoop App Adder
This skill automates adding a GitHub-hosted application to this Scoop bucket.
Workflow
- Verify
ghCLI: Check ifghis installed and authenticated. If not, inform the user and stop. - Gather Info:
- Use
gh release view --repo <owner>/<repo> --json tagName,assetsto get metadata. - For descriptive content (README, LICENSE), prefer
web-fetchfor raw files from GitHub (e.g.,https://raw.githubusercontent.com/<owner>/<repo>/<branch>/LICENSE) to avoid repetitivegh apipermission prompts.
- Use
- Determine Manifest Values:
- Versioning: Compare the tag name and the version string in the binary. If they are inconsistent (e.g., tag
1.23-4vs binary1.2.3), decide whether to prioritize the tag or binary version. Note that significant mismatches may makeautoupdateimpossible or unreliable; in such cases, consider omittingautoupdateor fixing the version. - App Name: Determine a suitable name. If the name is common or likely to conflict, propose a name (e.g., adding a suffix like
-rust) and ask the user for confirmation. - Architecture: Identify Windows binaries for
64bit,32bit, andarm64. - Hashes: Extract SHA256 hashes from the output or download/calculate them.
- Versioning: Compare the tag name and the version string in the binary. If they are inconsistent (e.g., tag
- Create Manifest:
- Use
references/manifest-template.jsonas a base. - Important: When writing regular expressions in JSON (e.g.,
checkver.regex), ensure backslashes are double-escaped (e.g.,\\d,\\.). - Save to
bucket/<app-name>.json.
- Use
- Update README.md:
- Add the app to the
## Applicationslist in alphabetical order. - Format:
- **[app-name](homepage)**: Description.
- Add the app to the
- Apply Formatting:
- Ensure all touched files use UTF-8 without BOM and CRLF.
- Ensure one final newline at the end of each file.
- Verify:
- Run
pwsh -ExecutionPolicy Bypass -File .\bin\test.ps1.
- Run
Resource References
- See references/conventions.md for project standards.
- Use references/manifest-template.json.template for the manifest structure.
Source: wizaman/scoop-bucket — distributed by TomeVault.