@totaland/create-starter-kit
v2.0.1
Published
Scaffolding tool for creating new starter-kit projects
Maintainers
Readme
@totaland/create-starter-kit
Scaffolding tool for creating new starter-kit projects with a choice between backend and frontend templates.
Features
- ✨ Interactive template selection (backend or frontend)
- 🎯 CLI argument support for automation
- 📦 Clean, production-ready templates
- 🚀 Quick project initialization
Usage
Interactive Mode (Recommended)
pnpm create @totaland/starter-kit my-new-projectYou'll be prompted to select a template:
- Backend - Express.js + TypeScript + Drizzle ORM + Scalar API docs
- Frontend - React + Vite + TypeScript + Tailwind CSS v4 + shadcn/ui + TanStack Query
With Template Argument
Skip the prompt by specifying the template:
# Create backend project
pnpm create @totaland/starter-kit my-backend backend
# Create frontend project
pnpm create @totaland/starter-kit my-frontend frontendAlternative Package Managers
Using npm:
npm create @totaland/starter-kit@latest my-projectUsing yarn:
yarn create @totaland/starter-kit my-projectUsing pnpm dlx:
pnpm dlx @totaland/create-starter-kit my-projectTemplates
Backend Template
Tech Stack:
- Express.js (via ultimate-express)
- TypeScript
- Drizzle ORM with PostgreSQL
- Scalar API documentation
- Biome for linting/formatting
- Vitest for testing
Features:
- 🏗️ Feature-based architecture
- 🔄 JSON-driven orchestration engine
- 📝 Comprehensive API documentation
- 🧪 Testing setup with Vitest
- 🗄️ Database migrations with Drizzle
After Creation:
cd my-backend
pnpm install
pnpm devFrontend Template
Tech Stack:
- React 19
- Vite 7
- TypeScript
- Tailwind CSS v4
- shadcn/ui (component library)
- TanStack Query v5
- React Router v7
- Drizzle ORM
- Biome for linting/formatting
Features:
- 🎨 Modern UI with Tailwind CSS v4
- 🎯 shadcn/ui ready (add components via CLI)
- 🔄 TanStack Query for data fetching
- 🗺️ React Router for navigation
- 📱 Responsive layout examples
- 🌗 Dark mode support
After Creation:
cd my-frontend
pnpm install
pnpm dev
# Add shadcn/ui components
pnpm dlx shadcn@latest add button card dialogWhat It Does
- ✅ Creates a new directory with your project name
- ✅ Copies the selected template (backend or frontend)
- ✅ Updates the
package.jsonname field to match your project name - ✅ Provides next steps for installation and running the project
Local Development
To test this locally before publishing:
Make sure templates are up to date:
cd /path/to/starter-kit/create-starter-kit # Templates are in ./templates/backend and ./templates/frontendLink the package globally:
cd create-starter-kit pnpm link --globalTest it:
cd /tmp pnpm create @totaland/starter-kit test-project # Select a template when prompted # Or specify template directly pnpm create @totaland/starter-kit test-backend backend pnpm create @totaland/starter-kit test-frontend frontend
Publishing
To publish to npm:
cd create-starter-kit
pnpm publishOnce published, anyone can use:
pnpm create @totaland/starter-kit my-projectProject Structure
create-starter-kit/
├── bin/
│ └── index.js # CLI entry point
├── templates/
│ ├── backend/ # Backend template files
│ └── frontend/ # Frontend template files
├── package.json
└── README.mdRequirements
- Node.js 18+
- pnpm (recommended) or npm/yarn
License
MIT
