Skip to content

Get Started

Scafix is a single CLI that initializes multiple modern stacks through one shared command surface.

Install or run directly

bash
npm install -g scafix
npx scafix

npx scafix works without a global install.

Common starting points

bash
npx scafix
npx scafix --name api-starter --directory services/api
npx scafix create
npx scafix create astro
npx scafix create sveltekit
npx scafix create nuxt --name content-site --package-manager pnpm
npx scafix create nest --name api-core --package-manager pnpm
npx scafix create hono --directory services/edge-api
npx scafix create vite
npx scafix create vite --name web-app --package-manager bun
npx scafix create next
npx scafix create next --name dashboard --yes --package-manager pnpm
npx scafix create express
npx scafix create npm

Shared flow

  • Interactive root usage requires a TTY. Non-interactive shells should use scafix create <stack> --yes.
  • When --name is omitted, Scafix falls back to my-project in --yes mode or prompts interactively.
  • Directories must be relative paths inside the current working directory. Existing directories are rejected.
  • Scafix strips .git directories produced by upstream generators and only initializes Git itself when requested.

Package manager detection

  • Checks bun.lock / bun.lockb
  • Checks pnpm-lock.yaml
  • Checks yarn.lock
  • Checks package-lock.json
  • Checks package.json#packageManager

Additional rules:

  • Detection walks up from the current working directory and prefers the nearest ancestor match.
  • If no supported lockfile or package manager field is found, Scafix defaults to npm.
  • Yarn Berry is detected from .yarnrc.yml, Plug'n'Play files, or a packageManager field.

Released under the MIT License.