Loading…
A complete, copy-pasteable reference for the CLI. Each command lists its short alias, usage signature, arguments, flags, and a runnable example. Jump straight to what you need from the index below.
Reading the signatures
Tokens in <angle brackets> are required positional arguments, [square brackets] are optional positional arguments (often resolved via an interactive picker when omitted). Tokens marked [flags] are optional. Most command groups also accept a single-letter alias, e.g. anesis t i react-vite-ts is the same as anesis template install react-vite-ts.
The three update verbs
anesis update <addon-id> upgrades an addon already applied in the current project. anesis upgrade (alias self-update) replaces the anesis binary itself. anesis addon republish <url> (and its template/stack equivalents) refreshes a registry entry from its source repository.
republish was called update before 1.0.0. The old spelling still works as a hidden alias, so existing scripts keep running.
Create projects, apply addons to them, and inspect or roll back what's been applied.
Create a new project directory from a registry template, or from a stack (template + ordered addons). Renders every .tera file through the project name and any declared inputs; copies everything else verbatim.
Usage
anesis new <name> [template_name] [flags]Arguments
<name>Project directory to create. Use "." to scaffold into the current directory.[template_name]Template to use, e.g. react-vite-ts. Omit to pick interactively; ignored when --stack is given.Flags
--stack <path-or-id>Scaffold from a stack manifest (anesis.stack.json) instead of a bare template: renders the stack's template, then applies its ordered addons.-i, --installedOnly offer templates already downloaded to the local cache.-y, --yesAccept all defaults and skip confirmation prompts.--input <NAME=VALUE>Provide an input value non-interactively. Repeatable for multiple inputs.Example
# New project in ./my-app
anesis new my-app react-vite-ts
# Scaffold into the current directory
anesis new . react-vite-ts
# Scaffold a template + a pinned set of addons
anesis new my-app --stack nest-saas
# Fully non-interactive
anesis new my-app react-vite-ts --yes --input use_ssl=trueRun a command exposed by an installed addon inside the current project. Anesis detects the project variant, prompts for inputs, applies the steps, and records the run in anesis.lock.
Usage
anesis use [addon_id] [command] [flags]Arguments
[addon_id]Identifier of an installed addon, e.g. nest-prisma-v7. Omit to pick interactively.[command]Addon command to execute, e.g. install. Omit to list the addon's available commands.Flags
-i, --installedOnly offer addons already downloaded to the local cache.-y, --yesAccept all defaults and skip confirmation prompts.--input <NAME=VALUE>Provide an input value non-interactively. Repeatable for multiple inputs.--dry-runShow the plan — variant, inputs, steps — without changing any files.Example
# Apply the addon's "install" command to this project
anesis use nest-prisma-v7 install
# See what it would do first
anesis use nest-prisma-v7 install --dry-run
# List the commands an addon exposes
anesis use nest-prisma-v7Revert an applied addon's changes in the current project by replaying its rollback journal (from anesis.lock) in reverse order.
Usage
anesis undo <addon_id> [flags]Arguments
<addon_id>Addon to revert, as recorded in anesis.lock.Flags
-y, --yesSkip the confirmation prompt.Example
anesis undo nest-prisma-v7List applied addons (from anesis.lock) that have a newer version available in the registry.
Usage
anesis outdated [flags]Flags
--jsonOutput as JSON: one entry per applied addon with its current and latest version, plus an error field when the registry could not be reached.Example
anesis outdated --jsonUpgrade an applied addon to the registry's latest version in this project: undoes the old version, installs the new one, then replays every command that had already run, with the same inputs. Distinct from `anesis addon republish <url>`, which refreshes a registry entry instead.
Usage
anesis update <addon_id> [flags]Arguments
<addon_id>Applied addon to upgrade.Flags
-y, --yesAccept all defaults, skip confirmation prompts.Example
anesis update nest-prisma-v7Interactively search the registry across templates, addons, and stacks in one picker.
Usage
anesis search [query] [flags]Arguments
[query]Pre-fill the filter; you can also type in the picker.Flags
--jsonPrint matching results as JSON (kind, id, name, description) instead of opening the picker.Example
anesis search prisma
anesis search prisma --jsonShow the CLI version, local data paths, and login status.
Usage
anesis info [flags]Flags
--jsonOutput as JSON.Example
anesis infoShow the current project's template and the addons applied to it, read from anesis.json and anesis.lock.
Usage
anesis status [flags]Flags
--jsonOutput as JSON.Example
anesis statusInstall, link, inspect, and publish project starters.
Download a template from the registry and cache it under ~/.anesis/cache/templates. Skips the download when the cached commit SHA already matches the registry.
Usage
anesis template install [template_name]Arguments
[template_name]Template to download. Omit to pick interactively.Example
anesis template install react-vite-tsValidate a local directory's anesis.template.json and cache it under its manifest name, for local testing without publishing.
Usage
anesis template link [path] [flags]Arguments
[path]Directory to validate. Defaults to the current directory.Flags
-f, --forceOverwrite an existing cached template of the same name without asking.Example
anesis template link ./my-template --forceList every template currently cached on this machine.
Usage
anesis template list [flags]Flags
--jsonOutput as JSON.Example
anesis template listShow a template's manifest: description, version, and repository.
Usage
anesis template info <template_name> [flags]Arguments
<template_name>Template to inspect.Flags
--jsonOutput as JSON.Example
anesis template info react-vite-tsDelete a template from the local cache and drop its entry from the cache index. It can be re-installed at any time.
Usage
anesis template remove <template_name>Arguments
<template_name>Cached template to remove.Example
anesis template remove react-vite-tsPublish a GitHub repository as a registry template. The backend fetches the tree, validates anesis.template.json, and stores the entry with its commit SHA.
Usage
anesis template publish <template_url> [flags]Arguments
<template_url>GitHub URL, e.g. https://github.com/owner/repo (subpaths like /tree/main/templates/x are supported).Flags
--visibility <V>public, private, or org-private. Defaults to public when omitted.--credential-id <UUID>Credential ID used to read a private GitHub repository during publish.--org-id <UUID>Legacy organization target. Organizations were removed from the platform, so this is kept only for backwards compatibility.Example
anesis template publish https://github.com/owner/repo
# Private repo with a stored credential
anesis template publish https://github.com/owner/repo \
--visibility private --credential-id <uuid>Re-fetch a previously published template and refresh its stored commit SHA. Use the same URL you published with.
Usage
anesis template republish <template_url> [flags]Arguments
<template_url>GitHub URL used at publish time.Flags
--visibility <V>public, private, or org-private. Defaults to public when omitted.--credential-id <UUID>Credential ID used to read a private GitHub repository during publish.--org-id <UUID>Legacy organization target. Organizations were removed from the platform, so this is kept only for backwards compatibility.Example
anesis template republish https://github.com/owner/repoInstall, link, test, inspect, and publish declarative code-mod packages.
Pre-download an addon into the local cache. Optional — running an addon command auto-installs it when missing.
Usage
anesis addon install [addon_id]Arguments
[addon_id]Addon to download. Omit to pick interactively.Example
anesis addon install nest-prisma-v7Validate a local directory's anesis.addon.json and cache it under its manifest id, for local testing without publishing.
Usage
anesis addon link [path] [flags]Arguments
[path]Directory to validate. Defaults to the current directory.Flags
-f, --forceOverwrite an existing cached addon with the same id without asking.Example
anesis addon link ./my-addon --forceList every addon currently cached on this machine.
Usage
anesis addon list [flags]Flags
--jsonOutput as JSON.Example
anesis addon listShow an addon's manifest: description, version, variants, commands, inputs, and steps.
Usage
anesis addon info <addon_id> [flags]Arguments
<addon_id>Addon to inspect.Flags
--jsonOutput as JSON.Example
anesis addon info nest-prisma-v7Dry-run an addon command on a throwaway copy of a project and show the resulting diff — the addon author's test loop.
Usage
anesis addon test <addon_id> <command> [flags]Arguments
<addon_id>Addon to test.<command>Command to run.Flags
--project <path>Fixture project to test on. Defaults to the addon's bundled test-fixture/ directory.Example
anesis addon test nest-prisma-v7 install
anesis addon test nest-prisma-v7 install --project ./fixtures/fastify-appDelete a cached addon and remove its entry from the addon index.
Usage
anesis addon remove <addon_id>Arguments
<addon_id>Cached addon to remove.Example
anesis addon remove nest-prisma-v7Publish a GitHub repository as a registry addon. The backend fetches the tree, validates anesis.addon.json, and stores the entry with its commit SHA.
Usage
anesis addon publish <addon_url> [flags]Arguments
<addon_url>GitHub URL of the addon repository.Flags
--visibility <V>public, private, or org-private. Defaults to public when omitted.--credential-id <UUID>Credential ID used to read a private GitHub repository during publish.--org-id <UUID>Legacy organization target. Organizations were removed from the platform, so this is kept only for backwards compatibility.Example
anesis addon publish https://github.com/owner/repoRe-fetch a previously published addon and refresh its stored commit SHA.
Usage
anesis addon republish <addon_url> [flags]Arguments
<addon_url>GitHub URL used at publish time.Flags
--visibility <V>public, private, or org-private. Defaults to public when omitted.--credential-id <UUID>Credential ID used to read a private GitHub repository during publish.--org-id <UUID>Legacy organization target. Organizations were removed from the platform, so this is kept only for backwards compatibility.Example
anesis addon republish https://github.com/owner/repoInstall, inspect, and publish template + ordered-addon bundles.
Download a stack manifest from the registry and cache it under ~/.anesis/cache/stacks. Optional — anesis new --stack auto-installs it when missing.
Usage
anesis stack install <stack_id>Arguments
<stack_id>Stack to download.Example
anesis stack install nest-saasValidate a local anesis.stack.json and cache it under its manifest id, so it can be scaffolded with anesis new --stack before it is published.
Usage
anesis stack link [path] [flags]Arguments
[path]Directory or manifest to validate. Defaults to the current directory.Flags
--forceOverwrite an existing cached stack without asking.Example
anesis stack link ./my-stackList every stack currently cached on this machine.
Usage
anesis stack list [flags]Flags
--jsonOutput as JSON.Example
anesis stack listShow a stack's composition: its template and its ordered list of addons with their commands.
Usage
anesis stack info <stack_id> [flags]Arguments
<stack_id>Stack to inspect.Flags
--jsonOutput as JSON.Example
anesis stack info nest-saasDelete a locally cached stack manifest.
Usage
anesis stack remove <stack_id>Arguments
<stack_id>Cached stack to remove.Example
anesis stack remove nest-saasPublish a GitHub repository as a registry stack. The backend fetches the tree, validates anesis.stack.json, and stores the entry.
Usage
anesis stack publish <stack_url> [flags]Arguments
<stack_url>GitHub URL of the stack repository.Flags
--visibility <V>public, private, or org-private. Defaults to public when omitted.--credential-id <UUID>Credential ID used to read a private GitHub repository during publish.--org-id <UUID>Legacy organization target. Organizations were removed from the platform, so this is kept only for backwards compatibility.Example
anesis stack publish https://github.com/owner/repoRepublish a stack from its GitHub repository, refreshing the registry entry.
Usage
anesis stack republish <stack_url> [flags]Arguments
<stack_url>GitHub URL used at publish time.Flags
--visibility <V>public, private, or org-private. Defaults to public when omitted.--credential-id <UUID>Credential ID used to read a private GitHub repository during publish.--org-id <UUID>Legacy organization target. Organizations were removed from the platform, so this is kept only for backwards compatibility.Example
anesis stack republish https://github.com/owner/repoSign in, inspect, and sign out of your Anesis account.
Open the browser to authenticate with GitHub, then save the session to ~/.anesis/auth.json. Required before publishing or downloading uncached registry content.
Usage
anesis loginExample
anesis loginShow the currently logged-in account by fetching the user from the backend.
Usage
anesis account [flags]Flags
--jsonOutput as JSON.Example
anesis accountRemove the saved local session in ~/.anesis/auth.json.
Usage
anesis logoutExample
anesis logoutKeep the CLI up to date, wire up your shell, and serve AI agents.
Download and install the latest Anesis release, replacing the current binary in place.
Usage
anesis upgradeExample
anesis upgradePrint or install shell tab-completion for anesis. Supports bash, zsh, fish, and powershell.
Usage
anesis completions <shell>Arguments
<shell>One of: bash, zsh, fish, powershell.Example
anesis completions zshRun a Model Context Protocol stdio server so AI agents can search the registry, scaffold projects, and apply addons or stacks.
Usage
anesis mcpExample
anesis mcpAuthentication
Publishing, updating, anesis account, and any download of uncached registry content require a saved session. Run anesis login first — or set ANESIS_TOKEN for CI and agents. Purely local commands such as template list, addon remove, template/addon link, status, and re-running a cached addon work offline.