yapyap
guides

sharing your lenses

Send a lens to a friend, or run your own registry — no server, no account, no build tools.

Made a lens worth sharing? There are three ways, from quickest to most permanent.

send the file

Every lens can be exported: open it in your library and choose Publish. yapyap writes a single lens.json — the prompt, the output schema, the layout, all in one readable file. Send it however you like: a gist, a chat message, an email attachment.

The receiver uses Install from URL (next to Add registry) and pastes a direct link to the file. yapyap checks it the same way it checks marketplace lenses before anything installs.

One limit: a lens that chains onto another lens's output can't travel as a lone file — publish it to a registry instead, so the chain can resolve.

run your own registry

A registry is just a public GitHub repository with a catalogue file. You don't maintain the catalogue — a built-in workflow does.

Open yapyap-app/registry-template and click Use this template → Create a new repository. Any name, public.

Edit registry.config.json in your new repository and set registryId to something that is yours, like "jane.lenses". Commit.

Export your lens from yapyap (Publish → Download), then upload it in your repository at lenses/<your-lens-name>/lens.json using GitHub's Add file button.

Within a minute the repository's workflow validates your lens — the same checks yapyap runs on install — and updates the catalogue. If something's wrong, the workflow fails with a message saying what to fix; a broken lens never reaches your subscribers.

Anyone can now subscribe with Add registry and either your repository URL or the shorthand you/your-repo.

shipping updates

Upload a new lens.json over the old one, with a higher version inside. Subscribers get an update notice — but nothing updates silently. Before accepting, they see what changed: whether the instructions changed, any new capabilities requested, any new places the lens would load images from. Honest updates sail through; it just means your users see what they're agreeing to.

what's actually in a lens.json

Nothing executable — that's the point. A lens is:

  • a prompt — the instructions run against the transcript,
  • a schema — the shape of the structured output,
  • a view — an optional layout, built from a fixed set of components,
  • inputs — which pipeline outputs it reads (transcript, speakers, …),
  • listing details — name, description, author, tags, license.

yapyap re-verifies all of it on every install: the file's content hash, the schema, the view's components, and that every image URL is a fixed https address. A registry can only ever offer prompts and layouts — never code, never new permissions.

On this page