CLI to scaffold a new project from Ställning boilerplate templates (`minimal`, `nuxt`).
- Node.js
v25.8.0or newer - pnpm (not required to scaffold a project, but needed for working with the stallning monorepo)
Use the package in create mode:
pnpm create stallning@latest my-appOr run the CLI binary directly:
pnpx create-stallning@latest my-appcreate-stallning [project-name] [options]-t, --template <template>: template branch to use (minimal,nuxt)--mode <mode>: template download mode (tardefault,gitfor SSH git clone)-o, --out-dir <path>: output directory (default:project-name)--git-origin <url>: origin remote URL to configure--upstream: add Stallning template as upstream remote--strict-git: fail if initial git push fails--skip-install: skip dependency installation--force: overwrite target directory if it already exists--dry-run: simulate all actions without writing files or running side effects-y, --yes: skip prompts and use defaults-v, --verbose: print debug logs
- If project name is missing, default is
new-stallning-{template}. --mode taris faster and default (GitHub tarball fetch).--mode gituses git under the hood (SSH) and is better for private repos with SSH access.- If
--git-originis set and--upstreamis not explicitly provided, upstream is enabled automatically. - On non-strict mode, a failed initial
git pushis reported as warning and creation continues.
Create a minimal project:
pnpm create stallning my-app --template minimalCreate a Nuxt variant and configure git remotes:
pnpm create stallning my-app --template nuxt --git-origin https://github.com/acme/my-app.git --upstreamUse git mode for private templates over SSH:
pnpm create stallning my-app --template minimal --mode gitDry run without modifying disk:
pnpm create stallning --template minimal --dry-run --yesInstall dependencies:
pnpm installRun quality checks:
pnpm run verify
pnpm run knip
pnpm run buildRun tests:
pnpm run test:runRun locally:
pnpm run build
node dist/cli.mjs --helppre-commit:lint-staged(format + lint staged files)commit-msg:commitlintpre-push:git fetch --all --prune+pnpm run verify
This project uses Changesets with commit-based generation.
Useful commands:
pnpm run changeset:gen --dry-run
pnpm run changeset:gen
# is handled in the CI/CD .github/workflows/release.yml
pnpm run changeset:version
pnpm run changeset:publishGitHub Actions:
.github/workflows/ci.yml: lint, typecheck, tests, build, knip.github/workflows/release.yml: generates changesets, opens release PR, publishes to npm
- If you see engine warnings, switch to the project Node version:
nvm use(uses.nvmrc)
- If initial push fails:
- rerun manually in generated project:
git push -u origin main
- rerun manually in generated project:
- If directory already exists:
- use
--forceor choose another output directory.
- use