create-azeroth
v2.1.0
Published
Scaffold an AzerothJS app - frontend, backend, or fullstack - with the framework's canon wired in: azeroth CLI verbs, eslint rules, typecheck gate, and a working dev loop. Run `npm create azeroth@latest`
Maintainers
Readme
create-azeroth
Scaffold a frontend, backend, or fullstack AzerothJS app with the whole toolchain wired.
Part of AzerothJS - the fine-grained, zero-dependency, fullstack TypeScript framework. The scaffolder is the day-one path: two questions at most, then a working app.
What you get
- The whole canon, wired - the
azerothCLI verbs as your npm scripts, eslint with the azeroth rules, andazeroth-tscas the typecheck gate. - Two questions at most - a name and a shape; opinions live in the templates, not in a questionnaire.
- CI-safe - pass both answers as arguments and it asks nothing.
- Zero peers - nothing to install first;
npm create azeroth@latestis the whole entry point.
Usage
npm create azeroth@latest my-appThen:
cd my-app
npm install
npm run devNon-interactive (CI) - pass the shape explicitly; options come only from flags:
npm create azeroth@latest my-app -- --template fullstack --tailwind[!NOTE]
npm create azerothis the canonical entry (it resolves this package,create-azeroth). Do not usenpx azerothto start a project - the bareazerothname on npm is an unrelated package. The realazerothCLI comes with your scaffolded app as@azerothjs/cliand runs locally vianpx azeroth devinside it.
Templates
| Template | What it scaffolds |
| --- | --- |
| frontend | A vite app in .azeroth components: the compiler plugin wired, eslint with the azeroth rules, azeroth-tsc as the typecheck gate. |
| backend | An @azerothjs/http server with no build step - Node >= 24 runs the TypeScript source directly, and azeroth dev is node --watch. |
| fullstack | application/ + server/ as npm workspaces under one root; npm run dev is ONE process on ONE origin - the server half runs vite inside itself, so dev serves every page through the same mount production does. |
Every template ships the azeroth verbs
as its scripts - dev, check, build, test - and nothing else to configure. The
two shapes that run TypeScript with no build step (backend, fullstack) require
Node >= 24; frontend compiles through vite and runs on Node >= 22.
Options
A curated set per shape, asked as yes/no in interactive runs and passed as flags in CI:
| Option | Templates | What it adds |
| --- | --- | --- |
| --router | frontend | Pages + nav with the framework's own client-side router - a route table, two pages, and <Link> navigation, zero extra dependencies. |
| --tailwind | frontend, fullstack | Tailwind v4 via @tailwindcss/vite (no PostCSS config), with the starter's design tokens mapped to utilities through @theme inline. |
The two compose: --router --tailwind scaffolds the routed app styled with utilities.
