Contributing
Thank you for your help with the TunaOS Scoop bucket.
Contribution scope
This bucket publishes Scoop manifests for command-line tools maintained by the
tuna-os organization. Add each manifest as a
JSON file under bucket/, named after the Scoop package.
Manifests generated by a tool's release automation should be changed in that tool's upstream release configuration. Avoid hand-editing generated manifests here, because the next release may overwrite those changes.
Manifest expectations
Each manifest must include non-empty version, description, homepage, and
license fields, plus at least one installation entry (bin, shortcuts, or
installer). Downloads must use HTTPS URLs and include hashes. When a
manifest uses architecture-specific downloads, every architecture entry must
provide its own URL and hash.
Hashes must use SHA-256 or SHA-512 — either a bare 64-character SHA-256 digest
(Scoop's default) or a sha256:/sha512: prefixed digest of the matching
length. The validator rejects MD5 and SHA-1 digests: both are collision-broken,
so a pin with one of them does not verify the download.
Follow the upstream tool's supported Windows architectures and use release artifacts from its official TunaOS repository. Do not add manifests for third-party projects or unpublished artifacts.
Validate locally
Run both checks from the repository root:
python3 tests/validate_manifests.py
python3 -m unittest discover -s tests -v
The first command validates every JSON file in bucket/; the second tests the
validator itself. Both commands use the Python standard library and need no
additional packages.
Pull requests
Keep each pull request focused on one package or one documentation concern. In the description, identify the upstream release and artifact used, summarize the local validation results, and explain any manual manifest changes. If a release pipeline should publish the manifest, link the corresponding upstream configuration change or issue.