create-ecn-app
v0.1.5
Published
Scaffold a new project on the @basemorph design system + @evancnavarro tooling — one command: npm create ecn-app@latest my-app.
Readme
create-ecn-app
Scaffold a new project on the @basemorph
design system + @evancnavarro
tooling — a Vite + React app pre-wired with the tokens, UI primitives, the changelog
page, and a dev port derived from the project name.
Usage
npm create ecn-app@latest my-app
cd my-app
npm install
npm run devThat produces ./my-app, installs the published @basemorph/* + @evancnavarro/*
packages, and starts Vite on a port derived from the name.
Options
| flag | effect |
| --- | --- |
| --word <word> | 4-letter word to derive the dev port from (default: derived from the name) |
| --here | scaffold into the current directory instead of ./<name> |
| --force | write into a non-empty target directory (overlay — existing files are kept) |
| -h, --help | show usage |
| -v, --version | show the version |
The project name must be kebab-case (^[a-z][a-z0-9-]*$) — it's reused as the npm
package name, an HTML <title>, and the folder name.
What you get
- Vite + React 19 app, TypeScript strict.
@basemorph/tokens+@basemorph/ui-reactwired through Tailwind v4 (theme + morph switching viadata-theme/data-style, demoed insrc/App.tsx).@evancnavarro/changelog-reactchangelog page with a starter entry.- Dev port derived from the name via the BaseMorph port convention.
Programmatic API
The scaffolding logic is also exported for reuse:
import { createApp, portFromWord, deriveWord } from "create-ecn-app";
const { port, written } = createApp("my-app", "./my-app");License
MIT © Evan C. Navarro
