Guide
Find templates
Search registries and pinned templates without a network round-trip.
Register a registry
A registry is a git repo or local directory with registry.toml and a templates/ directory.
On first run, spin search, spin new <alias>/<id>, and spin add <alias>/<id> automatically register the built-in official registry (official), so search works out of the box. Removing it later (spin registry remove official) is respected: it is never re-added while registries.json exists.
To register additional registries:
spin registry add official https://github.com/example/spin-registry.git
Or use a local path:
spin registry add local ~/code/spin-registry
Search
spin search "go cli"
Results include registry templates (shown as <alias>/<id>) and pinned
templates (shown by name without an alias prefix):
ALIAS/ID NAME LANG DESCRIPTION
official/go-cli Go CLI go Minimal Go CLI starter
my-cli My CLI rust Custom rust CLI

Add a result with its shorthand:
spin add official/go-cli
Then scaffold from it:
spin new myapp official/go-cli
Limit and JSON output
spin search rust --limit 5
spin search tauri --json
Manage registries
spin registry list
spin registry update official
spin registry remove official
spin registry update fetches the latest commits for git registries. Local registries are skipped.
Storage layout
~/.config/spin/
registries.json # registered registries
registries/ # cloned or symlinked registry contents
official/