A template is a project starter — a folder of files with an anesis.template.json manifest. Install one, run anesis new, and Anesis writes a fully-rendered project to disk with your project name substituted throughout.
anesis template install downloads the template and saves it to your local cache. You only need to install once — subsequent uses are served from cache unless there's a newer version.
# Install a template by name from the registry
anesis template install react-vite-ts
# Anesis downloads the template and caches it at:
# ~/.anesis/cache/templates/react-vite-ts/Installing requires a valid login session from anesis login, because the CLI looks up the template in the backend registry.
Browse the template registry to discover what's available before installing.
Every template in the registry has a name, description, and version. The template name is what you pass to anesis template install and anesis new.
Template names can only contain letters, numbers, hyphens, and underscores. Spaces and special characters are rejected by the CLI before it even contacts the backend.
This is the primary command for using templates. It combines template auto-install (if needed) with project generation in a single step.
# Create a new project from a template
anesis new my-app react-vite-ts
# Use "." to scaffold into the current directory
anesis new . react-vite-ts
# Omit the template to pick one interactively
anesis new my-app
# Only offer templates you've already downloaded
anesis new my-app --installed
# Non-interactive: accept defaults and pass input values up front
anesis new my-app react-vite-ts --yes --input use_ssl=true --input driver=postgres
# Scaffold a template + a pinned set of addons from a stack
anesis new my-app --stack nest-drizzle-stackWhen you run it, Anesis works through four steps:
See which templates are already cached on this machine. This command reads only local files — no network call, no login required.
# See every template currently cached on this machine
anesis template listRemove a template from the local cache. The template can be re-installed later; the registry entry is not affected. No login required.
# Remove a template from the local cache
anesis template remove react-vite-ts
# The template can be re-installed at any timeRe-fetch a template from its source URL and update its registry entry. Use this when the template author has pushed new changes.
# Re-fetch a template and update the registry entry
anesis template update https://github.com/owner/repo/tree/main/templates/react-vite-tsThe update command requires a GitHub URL pointing to the template directory — the same URL used when the template was originally published. A valid login is required.
Anesis caches templates locally and avoids unnecessary re-downloads using commit SHAs.
~/.anesis/cache/templates/<name>/ after the first install.~/.anesis/cache/templates/anesis-templates.json tracks name, version, source, and commit SHA.anesis template remove deletes the cached directory and removes the entry from the index.Validate a directory as a template and cache it under its manifest name, without publishing anything — the fastest local test loop.
# Validate a local directory as a template and cache it for testing
anesis template link ./my-template
# Overwrite an already-cached template of the same name without asking
anesis template link ./my-template --force
# Now scaffold from it like any other cached template
anesis new test-project my-templateA stack pins a template together with an ordered set of addons, so you can scaffold both in one command.
anesis new my-app --stack <id>scaffolds the stack's template exactly as described above, then applies each addon in the stack in order. See Using Stacks →
Ready to build and share your own?
anesis.template.json manifest, declare inputs, and use Tera variables for rendering.