Sign up for gno.sh, import an exported artifact, and publish a versioned reading-first snapshot.
Export a local note or collection with gno publish export, import the artifact in Studio, and publish a versioned snapshot at a gno.sh URL.
Open the signup page and create a free account. No credit card. You’ll get a verification email and land on your dashboard.
Go to the publish studio. Studio lists sources, visibility modes, metadata projection, and the import drop zone.
Canonical path: export from local GNO first, then upload the artifact.
gno publish export atlas --out ~/Downloads/atlas.jsonThen open /studio and drop that compiled GNO artifact JSON into the import zone. The markdown path is still useful for quick single-note shares in dev, but the artifact JSON is the real hosted transport for larger collections.
Supported local PNG, JPEG, GIF, WebP, and AVIF references travel in the artifact with content hashes and deduplication. Public readers use immutable generation-bound image URLs; secret links authorize each image request and disable caching. Encrypted exports keep image bytes inside ciphertext and create temporary Blob URLs only after browser decryption and AVIF decode preflight. Hosted ingest also proves AVIF AV1 decodability before storage. Invite-only bundled-image delivery is not yet available and fails closed; use an asset-free invite, secret link, or encrypted share when local images are required.
For public, secret-link, and invite-only uploads, the studio can now create a new space, overwrite an existing space, or append the new notes into an existing space so the left-hand navigator grows over time. Encrypted shares still update via fresh encrypted upload only.
A receipt appears with the share URL. Open the share URL to see typography, outline, scoped search, and keyboard navigation.
Public artifacts exported with GNO’s agent manifest keep the human reader and add deterministic, no-JavaScript resources for agents:
/share/<owner>/<space>/llms.txt
/share/<owner>/<space>/manifest.json
/share/<owner>/<space>/<document>.mdThe manifest lists only the imported public projection. Every document includes a content hash and an exact line-range evidence locator. Secret-link, invite-only, and encrypted spaces never expose these endpoints.
Re-importing the same route slug replaces the existing share with a new snapshot. If you want to grow a published collection instead of replacing it, choose Append to existing in the studio. Readers keep the same URL in either case; append adds notes to the navigator, overwrite replaces the snapshot.