Skip to content

Add MIT LICENSE and make release checksums verifiable - #2

Merged
Arnonrgo merged 1 commit into
masterfrom
chore/license-and-checksums
Sep 8, 2026
Merged

Add MIT LICENSE and make release checksums verifiable#2
Arnonrgo merged 1 commit into
masterfrom
chore/license-and-checksums

Conversation

@Arnonrgo

@Arnonrgo Arnonrgo commented Sep 8, 2026

Copy link
Copy Markdown
Collaborator

Two loose ends from the v0.8.0 release.

MIT LICENSE. The README has declared MIT all along, but no LICENSE file backed it — gh repo view reported licenseInfo: null. Now that the repo is public and shipping binaries, that gap means nobody has explicit rights to use them, and Homebrew (among other package managers) rejects projects without a detectable license. Copyright is attributed to monday.com Ltd.; say if it should read differently.

Verifiable checksums. checksums.txt was generated as sha256sum dist/mcli-* > dist/checksums.txt, so every line carried a dist/ prefix that doesn't exist where users download the assets. Verified against the real v0.8.0 release:

$ sha256sum -c checksums.txt
sha256sum: dist/mcli-darwin-arm64: No such file or directory
sha256sum: dist/mcli-linux-amd64: No such file or directory
sha256sum: dist/mcli-linux-arm64: No such file or directory
$ echo $?
0

The exit code is the real problem: sha256sum returns 0 when it can't find any of the listed files, so an install script that believed it was verifying checksums verified nothing. Generating from inside dist/ records flat names. Simulated end to end with the new step:

$ sha256sum -c checksums.txt      # files side by side, as downloaded
mcli-darwin-arm64: OK
mcli-linux-amd64: OK
mcli-linux-arm64: OK              # exit 0

$ printf tampered > mcli-linux-amd64 && sha256sum -c checksums.txt
mcli-linux-amd64: FAILED          # exit 1

The hashes in v0.8.0 were correct — only the paths were wrong — so this changes no artifact, just makes the manifest usable. It takes effect on the next tag.

🤖 Generated with Claude Code

The README has always declared MIT, but no LICENSE file backed it. The repo is
now public and shipping binaries, so without one nobody has explicit rights to
use them and package managers (Homebrew among them) will reject the project.

The checksums file was also unusable as published: it was generated as
`sha256sum dist/mcli-*`, so every line carried a `dist/` prefix that does not
exist where users download the assets side by side. Worse, sha256sum exits 0
when it cannot find any of the listed files, so an install script that believed
it was verifying checksums verified nothing at all. Generating it from inside
dist/ records flat names, which verify where the files actually land — and fail,
with a non-zero exit, when a binary does not match.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@Arnonrgo
Arnonrgo merged commit d0b24b3 into master Sep 8, 2026
1 check passed
@Arnonrgo
Arnonrgo deleted the chore/license-and-checksums branch September 8, 2026 17:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant