facet.json (see Create a Facet) and a registry account at agentfacets.io.
Authenticate
facet login. facet whoami confirms the identity you will publish as.Build, then publish
facet build writes dist/<name>-<version>.facet. facet publish validates the manifest, finds that archive, re-verifies its integrity, and uploads it under the name and version embedded in the artifact. It publishes what is in dist/, which is why you build first.When the build and source disagree
Ifdist/ was built from a different facet.json than the one on disk, publish detects the drift and asks what to do:- Identity drift: a different name or version, usually because you bumped the version without rebuilding. Build and publish current source, publish the existing artifact, or cancel.
- Content drift: same name and version, different content. Rebuild and publish, or publish the existing artifact unchanged.
Publish outcomes
A publish goes live, is queued for review (still a success, and it appears once approved), or is rejected because the version already exists. See publish outcomes.Ship a new version
A published name and version pair is immutable, so every change ships as a new version:Changing visibility
Theprivate flag is manifest content, so changing it needs a new version:private keeps a facet public. Who can see or download a private facet is enforced by the registry. See Private Facets for scopes and access.Sign out
facet logout for browser session revocation, offline local cleanup, and personal access token removal. If your shell supplies FACET_TOKEN, unset it separately.FACET_TOKEN and FACET_REGISTRY_URL are documented in the environment reference.