Registries

Run a registry

You can run a registry from any git repo or local directory that follows the registry layout.

Create a registry

mkdir my-registry
cd my-registry

Create registry.toml:

id = "my-registry"
name = "My Registry"
description = "Templates for my team"

Create templates/ with a metadata file per template:

# templates/go-cli.toml
id = "go-cli"
name = "Go CLI"
description = "Minimal Go CLI starter"
source = "https://github.com/example/go-cli-template.git"
language = "go"
type = "cli"

Test locally

spin registry add my-registry ./my-registry
spin search go

Publish as a git repo

git init
git add .
git commit -m "init registry"
git remote add origin https://github.com/example/my-spin-registry.git
git push -u origin main

Users can then register it:

spin registry add my-registry https://github.com/example/my-spin-registry.git

Update the registry

Push changes to the git repo, then tell users to update:

spin registry update my-registry

Validation

spin skips invalid template metadata files during search. Use spin registry list to see how many templates each registry contributes.