Publish a package

Anyone can install public packages. You need an account only to publish.

Log in

wax login

login opens GitHub's device authorization page and also prints its URL and single use code. GitHub establishes the initial identity; the Wax service then creates its own account and credentials. Wax exchanges and discards the GitHub token rather than storing it.

wax whoami

Credentials are scoped to one registry. macOS stores them in Keychain, Windows in Credential Manager, and Linux in a file readable only by its owner beneath $XDG_CONFIG_HOME/wax/credentials or ~/.config/wax/credentials.

Publish a version

Run this command from the package directory:

wax publish

publish runs the same checks as pack, creates the archive in memory, and uploads it with a separate credential that can be revoked. The default registry is https://packages.waxlang.dev.

Publishing a new package claims its available registry identity for your account. Publishing another version requires that same account. Replace sample names such as my-easing with the identity you intend to claim before packing or publishing.

A published package version cannot be replaced. Prerelease and build metadata versions are reserved until registry tags are supported.

Log out

wax logout

Logout revokes both the publish credential and Wax session before deleting the local record. If the service is unavailable, the command fails and preserves the credential so you can retry revocation instead of silently leaving an active remote token.

Use --registry URL with login, whoami, publish, and logout for a private or local registry. Registries other than local development servers must use HTTPS.