@jayson991/create-app
v2.0.0
Published
A CLI Tool To Create Apps You Want Like create-react-app | @vue/cli | @angular/cli
Readme
create-app
A modern CLI tool to quickly scaffold projects from pre-configured templates, similar to create-react-app, @vue/cli, or @angular/cli
Features
- Fast project scaffolding with pre-configured templates
- Support for React, Vue 2.x, and Vue 3.x templates
- Easy template management (list, add custom templates)
- Interactive CLI prompts for project configuration
- Built with modern tooling (Vite, TypeScript, Vitest)
Installation
npm install -g @jayson991/create-appOr use with npx (no installation required):
npx @jayson991/create-app initQuick Start
Initialize a new project:
create-app initThe CLI will guide you through:
- Project name selection
- Template selection
- Project description
- Author information
Commands
Init Project
Initialize a new project from a template:
create-app initList Templates
View all available templates:
create-app listAdd Custom Template
Add your own template to the CLI:
create-app addYou'll be prompted for:
- Template name
- GitHub username
- Description
- Platform (GitHub)
- Branch (main/master)
Version
Check the installed version:
create-app -v
# or
create-app --versionHelp
Display help information:
create-app -h
# or
create-app --helpInfo
Display project information:
create-app infoDevelopment
This project uses modern tooling for development:
- Vite: Fast build tool for bundling the CLI
- Vitest: Fast unit testing framework
- oxlint: Fast linter built with Rust
- TypeScript: Type-safe development
- pnpm: Fast, disk space efficient package manager
Setup
# Clone the repository
git clone https://github.com/jaysonwu991/create-app.git
cd create-app
# Install dependencies
pnpm install
# Build the project
pnpm run build
# Run in development mode (watch mode)
pnpm run devAvailable Scripts
# Build the project
pnpm run build
# Build in watch mode
pnpm run dev
# Lint the code
pnpm run lint
# Lint and fix issues
pnpm run lint:fix
# Format code (dangerous fixes)
pnpm run format
# Type check without emitting files
pnpm run type-check
# Run tests in watch mode
pnpm run test
# Run tests once
pnpm run test:run
# Prepare for publishing (runs type-check, tests, and build)
pnpm run prepublishOnlyProject Structure
create-app/
├── src/
│ ├── index.ts # Main CLI entry point
│ ├── templates.json # Template definitions
│ └── utils/
│ ├── displayBanner.ts # Banner display utility
│ └── downloadRepo.ts # Repository download utility
├── lib/ # Built output
├── package.json
├── tsconfig.json
├── vite.config.ts # Build configuration
└── vitest.config.ts # Test configurationAvailable Templates
| Template Name | Description | Framework | Main Language | | :------------ | :---------- | :-------- | :------------ | | react-template | A React Template Project | React | JavaScript | | react-typescript-template | A React Typescript Template Project | React | TypeScript | | vue2-template | A Vue 2.x Template Project Using Webpack | Vue 2.x | JavaScript (Webpack 5.x) | | vue2-library-template | A Vue 2.x Library Template Project Using Webpack | Vue 2.x | npm Library | | vue3-boilerplate | A Vue 3.x Boilerplate Project Using Webpack | Vue 3.x | JavaScript (Webpack 5.x) | | vue3-library-boilerplate | A Vue 3.x Library Boilerplate Project Using Webpack | Vue 3.x | npm Library |
All templates are production-ready and include:
- Modern build tooling
- ESLint configuration
- Testing setup
- Development server
- Production build optimization
Requirements
- Node.js >= 18.0.0
- npm, pnpm, or yarn
Contributing
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
License
Author
Jayson Wu - [email protected]
Links
Changelog
v1.2.0
- Updated build configuration to use Vite
- Modernized tooling (oxlint, Vitest)
- Fixed bin entry point to use correct output file
- Added prepublishOnly script for safer publishing
- Improved documentation
- Added engines field for Node.js version requirement
- Enhanced package.json exports configuration
v1.1.6
- Previous stable release
