This project publishes a Node-compatible npm artifact and a Homebrew formula for jvm/tap.
Status: validated through automated release v0.1.8.
-
Run local checks:
bun run typecheck bun run format:check bun test bun run build bun run smoke bun run pack:check bun run install:check -
Run opt-in live read validation when credentials are available:
bun run test:integration
-
Confirm npm Trusted Publishing is configured for
jvm/shelly-cloud-cliand workflow filenamerelease.yml. -
Confirm protected release environment
releaseexists. -
Confirm
RELEASE_TOKENis set on thereleaseenvironment for GitHub release creation if the default workflow token is insufficient. -
Confirm
HOMEBREW_TAP_TOKENis scoped only tojvm/homebrew-tapif using automated tap updates.
Create a protected v* tag. The release workflow:
- installs with
bun install --frozen-lockfile - typechecks, tests, builds, and packs
- generates
checksums.txt - uploads the npm tarball and checksums to GitHub Releases
- publishes to npm through Trusted Publishing/OIDC
- opens a Homebrew tap pull request when
HOMEBREW_TAP_TOKENis available
The release workflow now:
- uses
RELEASE_TOKENfor GitHub release creation when present - publishes to npm with OIDC-first
npm publish --provenance - creates or updates release assets idempotently
- opens the Homebrew PR with
gh pr create
Current repository protection posture:
mainbranch protection: no force-push, no deletion, linear history required- tag ruleset: protects
refs/tags/v*with maintainer bypass only - workflow permissions default:
write
The v1 formula is Node-based. It installs the GitHub release npm tarball with Homebrew std_npm_args and symlinks the package bin entry as shelly-cloud. The tap-side renderer lives at ../homebrew-tap/scripts/render-shelly-cloud-cli-formula.sh.
Generate a local formula preview:
node scripts/homebrew-formula.mjs 0.1.8 \
https://github.com/jvm/shelly-cloud-cli/releases/download/v0.1.8/shelly-cloud-cli-0.1.8.tgz \
<sha256>Published install experience:
brew install jvm/tap/shelly-cloud-cli
shelly-cloud --helpAfter npm publish, verify one-shot execution:
npx shelly-cloud-cli --help
bunx shelly-cloud-cli --helpIf Bun returns a stale cached version for the shorthand command, verify the exact published package version explicitly:
bunx --package shelly-cloud-cli@0.1.8 shelly-cloud --versionYou can also clear or refresh Bun's package cache before retrying the shorthand form.