@coresystems/create
v2.0.0
Published
CLI wizard for scaffolding coresystems packages and apps
Downloads
1,575
Readme
@coresystems/create
CLI wizard for scaffolding projects with coresystems configs pre-wired.
Usage
# pnpm
pnpm create @coresystems
# npm
npm create @coresystems@latest
# yarn
yarn create @coresystemsThe wizard prompts for:
- Project name — used as the directory name and base of the package name
- Scope — whether to prefix with
@coresystems/ - Template —
react-app,ui-lib, orutil-lib - Output path — defaults to
./<name> - Package manager —
pnpm(default),npm, oryarn - Styling — CSS, SCSS, or none (
react-appandui-libonly) - Testing — Vitest or none
- Git repository — optionally runs
git initin the output directory - Install dependencies — optionally runs install immediately
For react-app, if dependencies are installed the dev server is launched automatically with the browser opened.
Templates
react-app — React Application
React 19 + TypeScript + Vite. Generated files:
| File | Description |
| ----------------------------- | -------------------------------------------------------- |
| package.json | scripts, deps, devDeps |
| index.html | HTML entry with favicon |
| tsconfig.json | extends @coresystems/config-typescript/react.json |
| vite.config.ts | @coresystems/config-vite (react-app preset, port 5173) |
| eslint.config.ts | @coresystems/config-eslint (react preset) |
| commitlint.config.ts | @coresystems/config-commitlint |
| stylelint.config.ts | @coresystems/config-stylelint (if styling selected) |
| .stylelintignore | standard ignores (if styling selected) |
| .prettierrc.json | @coresystems/config-prettier |
| .lintstagedrc.json | @coresystems/config-lint-staged |
| .husky/pre-commit | runs lint-staged |
| .husky/commit-msg | runs commitlint |
| .editorconfig | standard editor settings |
| .prettierignore | standard ignores |
| .gitignore | Vite-style ignores |
| public/favicon-32x32.png | coresystems favicon |
| public/apple-touch-icon.png | coresystems touch icon |
| src/index.tsx | React entry point (skipped if already exists) |
| src/app/index.tsx | root App component (skipped if already exists) |
ui-lib — UI Component Library
Vite lib mode for publishing React component packages. Generated files:
| File | Description |
| ---------------------- | ----------------------------------------------------- |
| package.json | scripts, peer deps (react, react-dom), devDeps |
| tsconfig.json | extends @coresystems/config-typescript/react.json |
| vite.config.ts | @coresystems/config-vite (react-lib preset) |
| eslint.config.ts | @coresystems/config-eslint (react preset) |
| commitlint.config.ts | @coresystems/config-commitlint |
| stylelint.config.ts | @coresystems/config-stylelint (if styling selected) |
| .stylelintignore | standard ignores (if styling selected) |
| .prettierrc.json | @coresystems/config-prettier |
| .lintstagedrc.json | @coresystems/config-lint-staged |
| .husky/pre-commit | runs lint-staged |
| .husky/commit-msg | runs commitlint |
| .editorconfig | standard editor settings |
| .prettierignore | standard ignores |
| .gitignore | standard ignores |
| src/index.ts | entry point (skipped if already exists) |
util-lib — Utility Library
Pure TypeScript publishable package (no React, no Vite). Generated files:
| File | Description |
| ---------------------- | ------------------------------------------------- |
| package.json | scripts, devDeps |
| tsconfig.json | extends @coresystems/config-typescript/lib.json |
| eslint.config.ts | @coresystems/config-eslint (node preset) |
| commitlint.config.ts | @coresystems/config-commitlint |
| .prettierrc.json | @coresystems/config-prettier |
| .lintstagedrc.json | @coresystems/config-lint-staged |
| .husky/pre-commit | runs lint-staged |
| .husky/commit-msg | runs commitlint |
| .editorconfig | standard editor settings |
| .prettierignore | standard ignores |
| .gitignore | standard ignores |
| src/index.ts | entry point (skipped if already exists) |
Sync wizard
Updates an existing project's tooling configs to the latest coresystems standards.
# pnpm
pnpm dlx @coresystems/create --sync
# npm
npx @coresystems/create --sync
# yarn
yarn dlx @coresystems/create --syncThe wizard will:
- Ask for the target directory (defaults to
.) - Auto-detect package manager, project type, and styling from existing files
- Scan all config files and display their status: ✓ synced / ~ outdated / ✕ missing
- List packages to remove (obsoleted third-party configs) and packages to add (missing coresystems packages)
- Ask for confirmation before applying changes
- Optionally install dependencies after syncing
What gets synced
| Config | Target file |
| ---------------- | ------------------------------------------------- |
| ESLint | eslint.config.ts |
| TypeScript | tsconfig.json |
| Prettier | .prettierrc.json |
| lint-staged | .lintstagedrc.json |
| commitlint | commitlint.config.ts |
| Stylelint | stylelint.config.ts (react-app and ui-lib only) |
| Stylelint ignore | .stylelintignore (react-app and ui-lib only) |
| Vite | vite.config.ts (react-app and ui-lib only) |
| Husky hooks | .husky/pre-commit, .husky/commit-msg |
| Editor config | .editorconfig |
| Prettier ignore | .prettierignore |
