starter-structure-cli helps you scaffold starter projects from stack combinations, template slugs, or interactive prompts.
Interactive mode:
npx starter-structure-cli my-appExact template:
npx starter-structure-cli my-app --template fullstack/react-vite-ts-tailwind-express-prisma-mysqlStack tokens:
npx starter-structure-cli my-app react vite ts tailwind express prisma mysqlStructured filters:
npx starter-structure-cli my-app --category fullstack --frontend react --backend express --orm prisma --database mysqlList templates:
npx starter-structure-cli --listThe CLI can resolve a starter in three main ways:
- interactive prompts
- exact template selection with
--template - stack matching from freeform tokens or explicit filters
Common aliases are normalized automatically:
reactjs->reactvuejs->vuenext->nextjstypescript->tsjavascript->jstailwindcss->tailwind
Filler words like project, template, starter, app, and with are ignored during stack matching.
If both JavaScript and TypeScript variants match the same stack, TypeScript is preferred unless you pass --language js.
-h, --help
--list
-y, --yes
--install
--no-install
-p, --package-manager npm | pnpm | yarn
-c, --category fullstack | frontend-only | single | backend-only | monorepo | turbo
-t, --template <category/slug>
--stack, --combo "<tokens>"
--frontend react | nextjs | vue
--backend express | nestjs | fastify
--styling tailwind | shadcn
--orm prisma | mongoose | sequelize
--database mongodb | mysql | postgres
--auth jwt | nextauth
--language ts | js
Input categories accepted by the CLI:
fullstackfrontend-onlysinglebackend-onlymonorepoturbo
Generated template folders are organized under these output categories:
backend-onlyfrontend-onlyfullstackmonorepo-client-servermonorepo-turbo-pnpmsingle
If you omit --install and --no-install, the CLI asks whether dependencies should be installed after scaffolding.
Suggested package manager defaults:
pnpmfor Turbo-style templatesnpmfor everything else