|
|
|
create-alistt69-kit is a project scaffolding tool for quickly creating a modern frontend app without burning time on repetitive setup.
It generates a ready-to-run React + TypeScript + Webpack starter with a practical baseline and optional extras you can turn on when needed.
| Tool | Purpose | Included |
|---|---|---|
| React | Web framework | Default |
| TypeScript | Static typing | Default |
| Webpack | Bundling and build pipeline | Default |
| SCSS Modules | Scoped styling | Default |
| SVGR | Import SVGs as React components | Default |
| Webpack Bundle Analyzer | Bundle size inspection | Default |
| ESLint + eslint-stylistic | Code quality and stylistic rules | Optional |
| Stylelint | Stylesheet linting | Optional |
| Autoprefixer | Automatic CSS vendor prefixes | Optional |
| React Router | Client-side routing | Optional |
| AGENTS.md | Root instructions file for AI coding agents | Optional |
| Puppeteer + serve-handler | Static HTML prerender after production build | Optional |
Setting up a frontend project from scratch usually means repeating the same stuff every time:
- webpack config
- TypeScript config
- style handling
- routing
- linters
- folder structure
- project generators
This starter removes that boilerplate so you can get straight to building.
Some optional features also add local project generators to the scaffolded app.
When React Router DOM is enabled, the project includes a built-in page generator.
npm run generate:page aboutThis will create:
src/pages/about/index.tssrc/pages/about/lazy.tssrc/pages/about/page.tsx
If the standard router files are present, the generator will also register the page automatically in:
src/app/providers/router/types/index.tssrc/app/providers/router/model/config/index.tssrc/app/providers/router/model/router/index.tsx
If prerender is enabled, the generator also configure the new route for it automatically.
You can customize generator targets inside scripts/generate/page.mjs:
ROUTER_TYPES_PATHROUTER_CONFIG_PATHROUTER_FILE_PATHPRERENDER_ROUTES_PATH
Please note, that route auto-registration relies on special marker comments @route-... & @prerender-... inside the router files.
Do not remove these markers unless you want to disable automatic updates!
When Prerender is enabled, the generated project gets a postbuild prerender step powered by Puppeteer.
Files:
prerender.routes.mjsscripts/prerender.mjs
Example prerender.routes.mjs:
export default async function getPrerenderRoutes() {
return [
'/',
'/about',
// @prerender-routes
];
}Useful commands inside the generated project:
# Builds webpack assets only
npm run build:assets
# Renders configured routes into static HTML
npm run prerender
# Runs build:assets && prerender
npm run build- Node.js
18.18or higher - npm, pnpm, or yarn
Create a new app interactively:
npm create alistt69-kit@latestFollow the prompts — or skip them entirely:
npm create alistt69-kit@latest my-app -- --defaults# Interactive setup
npm create alistt69-kit@latest my-app
# All defaults, no prompts
npm create alistt69-kit@latest my-app -- --defaults
# Skip dependency installation
npm create alistt69-kit@latest my-app -- --no-install
# Enable only selected features
npm create alistt69-kit@latest my-app -- --features=eslint,react-router
# Enable all optional features
npm create alistt69-kit@latest my-app -- --features=all
# Use pnpm as package manager
npm create alistt69-kit@latest my-app -- --pm pnpm
# Overwrite existing directory
npm create alistt69-kit@latest my-app -- --defaults --overwrite| Option | Alias | Description |
|---|---|---|
--defaults |
-def |
Skip prompts, use defaults |
--overwrite |
— | Overwrite target directory if it exists |
--no-install |
— | Skip dependency installation |
--features <list> |
— | Enable specific features (agents-md, eslint, stylelint, autoprefixer, react-router, prerender) |
--pm <name> |
— | Choose package manager (npm, pnpm, yarn) |
--help |
-h |
Show help |
- All features are enabled by default
- Package manager:
npm(can be overridden with--pm) - Dependencies are installed automatically (skip with
--no-install)
MIT — free and open for everyone.
See LICENSE.