Loading…
A stack is a template plus an ordered list of addons, declared in an anesis.stack.json manifest. Run anesis new my-app --stack <id> and Anesis scaffolds the template, then applies every addon in order — the same pipeline as running each step by hand, wired together.
This is the primary way to use a stack — one command instead of a template plus a series of anesis use calls.
# Scaffold a project directly from a stack (auto-installs if uncached)
anesis new my-app --stack nest-saas
# Or install first, then scaffold
anesis stack install nest-saas
anesis new my-app --stack nest-saasA stack manifest names a template and lists the addons to apply on top of it, in order.
{
"schema_version": "1",
"id": "nest-saas",
"name": "NestJS SaaS Starter",
"description": "NestJS backend with Prisma, JWT auth, Swagger docs and request validation.",
"version": "1.0.0",
"author": { "name": "Maksym Zhuk", "github": "anesis-dev" },
"template": "nest-express",
"addons": [
{ "id": "nest-prisma-v7", "command": "install" },
{ "id": "nest-auth-jwt", "command": "install" },
{ "id": "nest-swagger", "command": "install" },
{ "id": "nest-validation", "command": "install" }
]
}versionauthorname and github — the GitHub handle links the stack to its author and shows on every stack card.templateanesis new <name> <template>.addons[].idaddons[].commandaddons[].inputsA stack doesn't introduce a new execution model — it drives the exact same template and addon pipelines documented elsewhere, in sequence.
anesis new would do it (including its own inputs/exclude handling).addons then runs in the order listed, via the same anesis use <id> <command> pipeline — variant detection, input prompts, and step execution all apply.addons[].inputs is used as a default; you're only prompted for values the stack didn't pin (unless --yes is set, which accepts every default).anesis use failure would be; earlier addons in the stack are not undone automatically.Stacks have their own local cache, separate from templates and addons.
~/.anesis/cache/stacks/<id>.json — a single manifest file per stack, unlike templates/addons which cache whole directories.anesis stack install <id> pre-downloads and caches a stack manifest. Optional — anesis new --stack <id> auto-installs it when missing.anesis stack list and anesis stack remove operate on the local cache only, no login required.anesis stack info <id> prints the template and ordered addon list; it prefers the freshest registry copy but falls back to the local cache if the registry is unreachable.Stacks are published from a GitHub URL the same way templates and addons are.
anesis stack publish https://github.com/owner/repo
anesis stack republish https://github.com/owner/repoBoth accept --visibility, --credential-id, and --org-id — see the command reference for the full flag list. A saved login (anesis login) is required.
A stack only references templates and addons that already exist in the registry.
bun add tailwindcss) alongside your addons before you write anesis stack publish.