create-seam
v0.2.0
Published
Scaffold a SeamStack project — pair any frontend with any backend.
Maintainers
Readme
create-seam
Scaffold a new SeamStack project — pair any frontend with any backend.
pnpm create seam@latest # interactive
npm create seam@latest -- my-app
yarn create seam my-app
bun create seam@latest my-appFlags
create-seam [name]
--host <vite|astro|angular> # frontend host
--ui <name> # vite: one of vanilla|vue|react|preact|svelte|solid|lit|qwik
# astro: comma-separated subset of react|vue|svelte|solid|preact|alpine|mdx
# (omit for vanilla Astro)
--backend <hono|express|fastify|elysia|nestjs>
--variant <js|ts> # only meaningful for non-Angular, non-NestJS pairs
--addons <names> # comma-separated: tailwind|trpc|graphql
--pm <pnpm|npm|yarn|bun>
--no-install # skip dependency install
--no-git # skip `git init`
--force # overwrite a non-empty targetIf you provide a name plus --host and --backend, the scaffolder runs headlessly. Otherwise it falls through to an interactive prompt.
--frontend is accepted as a deprecated alias of --host.
Support matrix (23 templates)
| | Hono | Express | Fastify | Elysia | NestJS | |--------------|:----:|:-------:|:-------:|:------:|:------:| | Vite | js·ts | js·ts | js·ts | js·ts | ts | | Astro | js·ts | js·ts | js·ts | js·ts | ts | | Angular | ts | ts | ts | ts | ts |
Maintainer notes
- Source-of-truth templates live at
templates/<name>/and are workspace members (soseam devworks in-tree for dogfooding). pnpm buildrunstsup+scripts/build-templates.ts, which copiestemplates/*todist/templates/*and rewrites everyworkspace:*dep to a concrete^x.y.zfrom the matching adapter package.- JS variants are generated from their TS siblings by
scripts/generate-js-variants.ts(idempotent — re-run after editing a TS template to refresh its JS variant).
