Skip to content

Getting started

Publish to the Axint Registry.

Publishing today is JSON-first: the CLI validates your package, checks namespace ownership, stores metadata in D1, stores the large payload in R2, and returns the live package URL.

01 · section

Authenticate first

Publishing requires a GitHub-backed login flow because namespace ownership is tied to your Registry identity.

Login
$ axint login
02 · section

Dry run, then publish

Treat dry-run as part of the normal publish loop. It is the best way to catch missing metadata before a bad version lands publicly.

  • The namespace must match your GitHub-linked registry user, unless you are publishing to an org-controlled namespace like @axint.
  • The current production API accepts JSON payloads, not tarball uploads.
  • The publish response returns the live package URL.
Publish flow
$ axint publish --dry-run
$ axint publish
03 · section

What gets stored

D1 stores searchable package and version metadata. R2 stores the large payload for source, Swift output, plist fragments, and IR.

  • Package metadata: name, namespace, slug, description, latest version, owner
  • Version metadata: compiler version, language, tags, surface areas, README
  • Large payload: source, Swift output, plist fragment, IR
Publish to the Axint Registry · axint docs · axint registry