Command Palette

Search for a command to run...

Reference / CLI Commands

Every Anesis command in one place

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.

Aliases includedUsage signaturesRunnable examples

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.

anesis update vs. anesis addon/template/stack update

anesis update <addon-id> upgrades an addon already applied in the current project. anesis addon update <url> (and its template/stack equivalents) instead refreshes a registry entry from its source repository. They act on different things — your project versus the registry — despite the shared verb.

Projects

Create projects, apply addons to them, and inspect or roll back what's been applied.

anesis new

anesis n

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-drizzle-stack

# Fully non-interactive
anesis new my-app react-vite-ts --yes --input use_ssl=true

anesis use

Run 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-drizzle. 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-drizzle install

# See what it would do first
anesis use nest-drizzle install --dry-run

# List the commands an addon exposes
anesis use nest-drizzle

anesis undo

Revert 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-drizzle

anesis outdated

List applied addons (from anesis.lock) that have a newer version available in the registry.

Usage

anesis outdated

Example

anesis outdated

anesis update

Upgrade 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 update <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-drizzle

anesis info

anesis doctor

Show the CLI version, local data paths, and login status.

Usage

anesis info [flags]

Flags

  • --jsonOutput as JSON.

Example

anesis info

anesis status

Show 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 status

Templates

Install, link, inspect, and publish project starters.

anesis template install

anesis t i

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

anesis template list

anesis t l

List every template currently cached on this machine.

Usage

anesis template list [flags]

Flags

  • --jsonOutput as JSON.

Example

anesis template list

anesis template info

Show 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-ts

anesis template remove

anesis t r

Delete 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-ts

anesis template publish

anesis t p

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

anesis template update

anesis t u

Re-fetch a previously published template and refresh its stored commit SHA. Use the same URL you published with.

Usage

anesis template update <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 update https://github.com/owner/repo

Addons

Install, link, test, inspect, and publish declarative code-mod packages.

anesis addon install

anesis a i

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

anesis addon list

anesis a l

List every addon currently cached on this machine.

Usage

anesis addon list [flags]

Flags

  • --jsonOutput as JSON.

Example

anesis addon list

anesis addon info

Show 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-drizzle

anesis addon test

Dry-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-drizzle install
anesis addon test nest-drizzle install --project ./fixtures/fastify-app

anesis addon remove

anesis a r

Delete 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-drizzle

anesis addon publish

anesis a p

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

anesis addon update

anesis a u

Re-fetch a previously published addon and refresh its stored commit SHA.

Usage

anesis addon update <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 update https://github.com/owner/repo

Stacks

Install, inspect, and publish template + ordered-addon bundles.

anesis stack install

anesis s i

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-drizzle-stack

anesis stack list

anesis s l

List every stack currently cached on this machine.

Usage

anesis stack list [flags]

Flags

  • --jsonOutput as JSON.

Example

anesis stack list

anesis stack info

Show 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-drizzle-stack

anesis stack remove

anesis s r

Delete a locally cached stack manifest.

Usage

anesis stack remove <stack_id>

Arguments

  • <stack_id>Cached stack to remove.

Example

anesis stack remove nest-drizzle-stack

anesis stack publish

anesis s p

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

anesis stack update

anesis s u

Republish a stack from its GitHub repository, refreshing the registry entry.

Usage

anesis stack update <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 update https://github.com/owner/repo

Account & session

Sign in, inspect, and sign out of your Anesis account.

anesis login

anesis in

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 login

Example

anesis login

anesis account

Show the currently logged-in account by fetching the user from the backend.

Usage

anesis account [flags]

Flags

  • --jsonOutput as JSON.

Example

anesis account

anesis logout

anesis out

Remove the saved local session in ~/.anesis/auth.json.

Usage

anesis logout

Example

anesis logout

Maintenance & agents

Keep the CLI up to date, wire up your shell, and serve AI agents.

anesis upgrade

Download and install the latest Anesis release, replacing the current binary in place.

Usage

anesis upgrade

Example

anesis upgrade

anesis completions

Print 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 zsh

anesis mcp

Run a Model Context Protocol stdio server so AI agents can search the registry, scaffold projects, and apply addons or stacks.

Usage

anesis mcp

Example

anesis mcp

Authentication

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.