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
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/