Skip to content
Charming Docs
Esc
navigateopen⌘Jpreview
On this page

Templates

Publish an app as a template so anyone who opens its URL can take their own independent copy, and optionally list it in the public template store.

What you can do

Publish an app as a template. Turn this on and a visitor who opens the app’s URL can take their own independent copy: separate storage, separate ownership, editable from the moment it’s created. Editing a copy never changes the template, and editing the template never changes copies already made.

Where the copy is offered depends on whether the app is also public. A template on its own hands the visitor a copy as soon as they open the link. A template that is ALSO public is a share link first: the visitor lands on your app and reads it, and Charming offers the copy in a notice beside the app (“Create my copy”). Nothing is copied until they ask.

List it in the public template store. Add listed: true and the template shows up in the store — a search-indexable directory anyone can browse, with a page for each template and a public profile for each creator at charm.ing/<handle>. Listing is optional: a template can be copyable by anyone who has the link without ever appearing in the store. Browse everything listed today at charm.ing/templates.

Set what visitors see first. The owner can write a starter prompt so a visitor who clicks “Open in Claude” or “Open in ChatGPT” on the app gets that instruction prefilled instead of the generic default. A fresh copy starts with the template’s starter prompt at copy time, and the person who copied it can replace it with their own later.

Try one. These apps are already templates; open one and you get your own copy.

  • Hydration: tracks daily water intake against a goal.
  • Meals: logs meals and macros by day.
  • Flashcards: spaced-repetition flashcard decks.
  • Watchlist: movies and shows seen and to watch, with ratings.

Technical

The owner turns templating on or off from the app’s Access settings page, under “App Template” (an “Allow anyone to make a copy of this app” toggle), or through an agent action.

Copy this prompt for your agent

Publish one of my Charming apps as a template so I can share it as a
starting point for others. Read
https://charm.ing/docs/capabilities/templates.md first. List my apps
and ask me which one, or if I've only got one, use that, then ask
whether I also want it listed in the public template store, and give
me the public URL to share.

How an agent performs this job

Call set_template with { app_id } to make the app copyable, and add listed: true to also list it in the public store. Omitting listed leaves the current listed state untouched — it never unlists a template just because a later call left the field out. Call unset_template to stop new copies and clear any listing; existing copies keep working. set_remixable / unset_remixable are the older tool names — still supported, same effect, kept as deprecated aliases without the listed flag.

To find templates already in the store, call search_templates with an optional query; it returns each match’s display name, description, starter prompt, and the URL to copy it from, so an agent can search, copy, and adapt a template with no browser. charm.ing/templates.json and charm.ing/templates.md return the same listed set for a caller that only makes plain HTTP requests.

The contract

Only the owner or a team admin can change a template’s state. An anonymous app must be claimed first.

A copy carries source, not data. The new app starts with empty storage and changes independently.

Listing requires the app to already be copyable — a listed app can’t be made uncopyable without also being unlisted. Only listed, non-public apps appear in the store; a template that’s also public (per Privacy and sharing) is never listed.

The starter prompt visitors get

Use set_starter_prompt to set or clear the prompt. A copy carries the current prompt once; later template changes do not alter existing copies.

Limits, access, and deletion

  • Turning a template on exposes source to each copier, not stored data.
  • See Limits for the starter prompt cap.
  • Turning a template off, unlisting it, or deleting the original does not remove existing copies.

Was this page helpful?