{"id":32017758,"url":"https://github.com/vipinyadav01/js-stack","last_synced_at":"2025-10-16T01:03:10.487Z","repository":{"id":313788336,"uuid":"1052297220","full_name":"vipinyadav01/js-stack","owner":"vipinyadav01","description":"A powerful command-line interface tool designed to streamline your JavaScript development workflow with modern best practices.","archived":false,"fork":false,"pushed_at":"2025-10-12T19:26:50.000Z","size":3137,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-13T04:58:57.646Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://js-stack.pages.dev","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vipinyadav01.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-07T19:58:10.000Z","updated_at":"2025-10-12T19:26:53.000Z","dependencies_parsed_at":"2025-09-30T22:15:13.966Z","dependency_job_id":"6aa8797e-2e37-45ba-8ff3-a761d7196b0d","html_url":"https://github.com/vipinyadav01/js-stack","commit_stats":null,"previous_names":["vipinyadav01/create-js-stack-cli","vipinyadav01/js-stack"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/vipinyadav01/js-stack","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vipinyadav01%2Fjs-stack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vipinyadav01%2Fjs-stack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vipinyadav01%2Fjs-stack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vipinyadav01%2Fjs-stack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vipinyadav01","download_url":"https://codeload.github.com/vipinyadav01/js-stack/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vipinyadav01%2Fjs-stack/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279020361,"owners_count":26086867,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-14T02:00:06.444Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-10-16T01:01:48.421Z","updated_at":"2025-10-16T01:03:10.477Z","avatar_url":"https://github.com/vipinyadav01.png","language":"JavaScript","readme":"# Create JS Stack CLI\n\n[![npm version](https://img.shields.io/npm/v/create-js-stack.svg)](https://www.npmjs.com/package/create-js-stack)\n[![npm downloads](https://img.shields.io/npm/dm/create-js-stack.svg)](https://www.npmjs.com/package/create-js-stack)\n[![GitHub release](https://img.shields.io/github/release/vipinyadav01/js-stack.svg)](https://github.com/vipinyadav01/js-stack/releases)\n[![License](https://img.shields.io/npm/l/create-js-stack.svg)](https://github.com/vipinyadav01/js-stack/blob/main/LICENSE)\n\nA powerful, modern CLI tool for scaffolding production-ready JavaScript full-stack projects with extensive customization options and best practices built-in.\n\n## 📊 Feature Status\n\n- ✅ **Available** - Feature is fully implemented and ready to use\n- 🚧 **Coming Soon** - Feature is planned and in development\n- 🆕 **New** - Recently added features\n\n## ✨ Features\n\n### 🚀 **Lightning Fast Setup**\n\n- Get a complete full-stack project running in minutes\n- Interactive prompts with smart defaults\n- Skip prompts with command-line flags\n- Programmatic API for automation\n\n### 🎨 **Frontend Frameworks**\n\n- ✅ **React** - With Vite, TypeScript, and modern tooling\n- ✅ **Vue.js** - Vue 3 with Composition API and Vite\n- ✅ **Angular** - Latest Angular with CLI integration\n- ✅ **Svelte** - SvelteKit with optimized builds\n- ✅ **Next.js** - Full-stack React framework\n- ✅ **Nuxt** - Vue.js full-stack framework\n- ✅ **React Native** - Mobile app development\n\n### ⚙️ **Backend Frameworks**\n\n- ✅ **Express.js** - Fast, minimalist web framework\n- ✅ **Fastify** - High-performance, low-overhead framework\n- ✅ **Koa.js** - Lightweight, expressive middleware framework\n- ✅ **Hapi.js** - Rich ecosystem with built-in validation\n- ✅ **NestJS** - Scalable Node.js framework with TypeScript\n\n### 🗄️ **Database \u0026 Storage**\n\n- ✅ **SQLite** - Lightweight, serverless database\n- ✅ **PostgreSQL** - Advanced open-source database\n- ✅ **MySQL** - Popular relational database\n- ✅ **MongoDB** - NoSQL document database\n- 🚧 **Supabase** - Open source Firebase alternative (Coming Soon)\n- 🚧 **PlanetScale** - Serverless MySQL platform (Coming Soon)\n\n### 🔧 **ORM/ODM Integration**\n\n- ✅ **Prisma** - Next-generation ORM with type safety\n- ✅ **Sequelize** - Feature-rich ORM for SQL databases\n- ✅ **Mongoose** - Elegant MongoDB object modeling\n- ✅ **TypeORM** - Advanced ORM with decorator support\n\n### 🔐 **Authentication \u0026 Security**\n\n- ✅ **JWT** - JSON Web Token implementation\n- ✅ **Passport** - Flexible authentication middleware\n- ✅ **Auth0** - Identity platform integration\n- 🚧 **Firebase Auth** - Google's authentication service (Coming Soon)\n- 🚧 **Clerk** - Modern authentication platform (Coming Soon)\n- 🚧 **Lucia** - Lightweight authentication library (Coming Soon)\n- 🚧 **Supabase Auth** - Open source auth solution (Coming Soon)\n- ✅ **Security middleware** - Helmet, CORS, Rate limiting\n\n### 🛠️ **Development \u0026 DevOps**\n\n- ✅ **TypeScript** - Full TypeScript support across all templates\n- ✅ **Docker** - Complete containerization with Docker Compose\n- ✅ **Testing** - Jest, Vitest configurations\n- 🚧 **Cypress** - E2E testing framework (Coming Soon)\n- ✅ **Linting** - ESLint with framework-specific rules\n- ✅ **Formatting** - Prettier with consistent configurations\n- ✅ **Git Hooks** - Husky for pre-commit validation\n- ✅ **CI/CD** - GitHub Actions workflows\n\n### 📦 **Package Managers**\n\n- ✅ **npm** - Node.js default package manager\n- ✅ **yarn** - Fast, reliable dependency management\n- ✅ **pnpm** - Efficient disk space usage\n- ✅ **bun** - All-in-one JavaScript runtime\n\n### 🎯 **Additional Features**\n\n- ✅ **Redis** - Caching and session storage\n- ✅ **Socket.IO** - Real-time communication\n- ✅ **Tailwind CSS** - Utility-first CSS framework\n- 🚧 **Material UI** - React component library (Coming Soon)\n- 🚧 **Bootstrap** - Popular CSS framework (Coming Soon)\n- ✅ **Environment Management** - Complete .env configuration\n- 🚧 **API Documentation** - Auto-generated Swagger/OpenAPI docs (Coming Soon)\n- ✅ **Hot Reload** - Development with instant updates\n- 🆕 **Turborepo** - Monorepo support with workspace management\n\n## 🚀 Quick Start\n\n### Create a New Project\n\n```bash\n# Interactive setup (recommended)\nnpx create-js-stack init my-awesome-app\n\n# With specific options\nnpx create-js-stack init my-app \\\n  --backend nestjs \\\n  --frontend react \\\n  --database postgres \\\n  --orm prisma \\\n  --auth jwt \\\n  --addons docker eslint prettier testing \\\n  --pm pnpm\n\n# Use defaults for rapid prototyping\nnpx create-js-stack init my-app --yes\n```\n\n### Global Installation\n\n```bash\nnpm install -g create-js-stack\ncreate-js-stack init my-app\n```\n\n## 💡 Usage Examples\n\n### Full-Stack React + Express App\n\n```bash\nnpx create-js-stack init my-app \\\n  --backend express \\\n  --frontend react \\\n  --database postgres \\\n  --orm prisma \\\n  --auth jwt \\\n  --addons docker tailwind testing\n```\n\n### Vue + NestJS Enterprise Setup\n\n```bash\nnpx create-js-stack init enterprise-app \\\n  --backend nestjs \\\n  --frontend vue \\\n  --database postgres \\\n  --orm typeorm \\\n  --auth passport \\\n  --addons docker eslint prettier testing github-actions\n```\n\n### Next.js Full-Stack Application\n\n```bash\nnpx create-js-stack init nextjs-app \\\n  --frontend nextjs \\\n  --database mongodb \\\n  --orm mongoose \\\n  --auth auth0 \\\n  --addons tailwind testing\n```\n\n### Mobile + Backend Setup\n\n```bash\nnpx create-js-stack init mobile-app \\\n  --backend fastify \\\n  --frontend react-native \\\n  --database mongodb \\\n  --orm mongoose \\\n  --auth firebase \\\n  --addons docker testing\n```\n\n### Monorepo Setup with Turborepo\n\n```bash\nnpx create-js-stack init monorepo-app \\\n  --backend express \\\n  --frontend react vue \\\n  --database postgres \\\n  --orm prisma \\\n  --auth jwt \\\n  --addons turborepo typescript eslint prettier\n```\n\n## 📋 Commands\n\n### `init [project-name]`\n\nCreate a new full-stack project with all configurations.\n\n**Options:**\n\n- `-y, --yes` - Use default configuration (Express + React + SQLite + Prisma)\n- `--backend \u003ctype\u003e` - Backend framework\n  - `express` - Express.js (default)\n  - `fastify` - Fastify\n  - `koa` - Koa.js\n  - `hapi` - Hapi.js\n  - `nestjs` - NestJS\n  - `none` - No backend\n- `--frontend \u003ctypes...\u003e` - Frontend framework(s)\n  - `react` - React with Vite (default)\n  - `vue` - Vue.js 3\n  - `angular` - Angular\n  - `svelte` - SvelteKit\n  - `nextjs` - Next.js\n  - `nuxt` - Nuxt.js\n  - `react-native` - React Native\n  - `none` - No frontend\n- `--database \u003ctype\u003e` - Database type\n  - `sqlite` - SQLite (default)\n  - `postgres` - PostgreSQL\n  - `mysql` - MySQL\n  - `mongodb` - MongoDB\n  - `none` - No database\n- `--orm \u003ctype\u003e` - ORM/ODM\n  - `prisma` - Prisma (default)\n  - `sequelize` - Sequelize\n  - `mongoose` - Mongoose\n  - `typeorm` - TypeORM\n  - `none` - No ORM\n- `--auth \u003ctype\u003e` - Authentication\n  - `jwt` - JSON Web Tokens ✅\n  - `passport` - Passport.js ✅\n  - `auth0` - Auth0 integration ✅\n  - `firebase` - Firebase Auth 🚧 (Coming Soon)\n  - `clerk` - Clerk Auth 🚧 (Coming Soon)\n  - `lucia` - Lucia Auth 🚧 (Coming Soon)\n  - `none` - No authentication (default)\n- `--addons \u003caddons...\u003e` - Additional tools\n  - `typescript` - TypeScript support ✅\n  - `eslint` - ESLint linting ✅\n  - `prettier` - Code formatting ✅\n  - `husky` - Git hooks ✅\n  - `docker` - Docker containerization ✅\n  - `github-actions` - CI/CD workflows ✅\n  - `testing` - Testing frameworks ✅\n  - `tailwind` - Tailwind CSS ✅\n  - `turborepo` - Monorepo with Turborepo 🆕\n  - `material` - Material UI (React/Angular) 🚧 (Coming Soon)\n  - `bootstrap` - Bootstrap CSS 🚧 (Coming Soon)\n  - `redis` - Redis caching ✅\n  - `socketio` - Socket.IO real-time ✅\n  - `cypress` - E2E testing 🚧 (Coming Soon)\n  - `swagger` - API documentation 🚧 (Coming Soon)\n- `--pm \u003cmanager\u003e` - Package manager\n  - `npm` - npm (default)\n  - `yarn` - Yarn\n  - `pnpm` - pnpm\n  - `bun` - Bun\n- `--no-git` - Skip git initialization\n- `--no-install` - Skip dependency installation\n\n### `add`\n\nAdd features to an existing project.\n\n**Options:**\n\n- `--addons \u003caddons...\u003e` - Additional tools to add\n- `--auth \u003ctype\u003e` - Add authentication system\n- `--database \u003ctype\u003e` - Add database support\n- `--install` - Install dependencies after adding features\n\n**Examples:**\n\n```bash\n# Add Docker and testing to existing project\ncreate-js-stack add --addons docker testing\n\n# Add authentication\ncreate-js-stack add --auth jwt\n\n# Add database with ORM\ncreate-js-stack add --database postgres --orm prisma\n\n# Add Turborepo monorepo structure\ncreate-js-stack add --addons turborepo\n```\n\n### `list`\n\nList all available options and their descriptions.\n\n**Options:**\n\n- `--backends` - List backend frameworks\n- `--frontends` - List frontend frameworks\n- `--databases` - List database options\n- `--orms` - List ORM/ODM options\n- `--auth` - List authentication options\n- `--addons` - List available addons\n\n### `docs`\n\nOpen comprehensive documentation in your default browser.\n\n### `version`\n\nDisplay the current version of create-js-stack CLI.\n\n## 🔧 Programmatic API\n\nUse create-js-stack programmatically in your Node.js applications:\n\n```javascript\nimport { init, add, list } from \"create-js-stack\";\n\n// Create a new project\nconst result = await init(\"my-app\", {\n  backend: \"nestjs\",\n  frontend: [\"react\"],\n  database: \"postgres\",\n  orm: \"prisma\",\n  auth: \"jwt\",\n  addons: [\"typescript\", \"docker\", \"testing\"],\n  packageManager: \"pnpm\",\n  git: true,\n  install: true,\n});\n\nif (result.success) {\n  console.log(`✅ Project created at: ${result.projectDir}`);\n  console.log(`📊 Generated files: ${result.filesGenerated}`);\n  console.log(`⏱️  Setup time: ${result.setupTime}ms`);\n} else {\n  console.error(`❌ Error: ${result.error}`);\n}\n\n// Add features to existing project\nconst addResult = await add({\n  addons: [\"redis\", \"socketio\"],\n  auth: \"passport\",\n  install: true,\n});\n\n// List available options\nconst options = await list();\nconsole.log(\"Available backends:\", options.backends);\nconsole.log(\"Available frontends:\", options.frontends);\n```\n\n### API Reference\n\n#### `init(projectName, options)`\n\nCreates a new full-stack project.\n\n**Parameters:**\n\n- `projectName` (string) - Name of the project directory\n- `options` (object) - Configuration options\n  - `backend` (string) - Backend framework\n  - `frontend` (string[]) - Frontend framework(s)\n  - `database` (string) - Database type\n  - `orm` (string) - ORM/ODM type\n  - `auth` (string) - Authentication type\n  - `addons` (string[]) - Additional tools\n  - `packageManager` (string) - Package manager\n  - `git` (boolean) - Initialize git repository\n  - `install` (boolean) - Install dependencies\n\n**Returns:** Promise\u003c{ success: boolean, projectDir?: string, error?: string }\u003e\n\n#### `add(options)`\n\nAdds features to an existing project.\n\n**Parameters:**\n\n- `options` (object) - Features to add\n  - `addons` (string[]) - Additional tools\n  - `auth` (string) - Authentication system\n  - `database` (string) - Database support\n  - `install` (boolean) - Install dependencies\n\n**Returns:** Promise\u003c{ success: boolean, error?: string }\u003e\n\n#### `list()`\n\nReturns all available options.\n\n**Returns:** Promise\u003c{ backends: string[], frontends: string[], databases: string[], orms: string[], auth: string[], addons: string[] }\u003e\n\n## 📁 Project Structure\n\nThe generated project follows industry best practices with a well-organized structure:\n\n### Full-Stack Project Structure\n\n```\nmy-awesome-app/\n├── 📁 backend/                 # Backend application\n│   ├── 📁 src/                 # Source code\n│   │   ├── 📄 server.js        # Main server file\n│   │   ├── 📁 routes/          # API routes\n│   │   ├── 📁 middleware/      # Custom middleware\n│   │   ├── 📁 controllers/     # Route controllers\n│   │   ├── 📁 services/        # Business logic\n│   │   ├── 📁 models/          # Data models\n│   │   └── 📁 utils/           # Utility functions\n│   ├── 📁 tests/               # Backend tests\n│   ├── 📄 package.json         # Backend dependencies\n│   ├── 🐳 Dockerfile           # Docker configuration\n│   └── 📄 .env.example         # Environment variables template\n├── 📁 frontend/                # Frontend application\n│   ├── 📁 src/                 # Source code\n│   │   ├── 📄 main.js          # Application entry point\n│   │   ├── 📁 components/      # Reusable components\n│   │   ├── 📁 pages/           # Page components\n│   │   ├── 📁 hooks/           # Custom hooks (React)\n│   │   ├── 📁 store/           # State management\n│   │   ├── 📁 services/        # API services\n│   │   ├── 📁 utils/           # Utility functions\n│   │   └── 📁 assets/          # Static assets\n│   ├── 📁 public/              # Public static files\n│   ├── 📁 tests/               # Frontend tests\n│   ├── 📄 package.json         # Frontend dependencies\n│   ├── 🐳 Dockerfile           # Docker configuration\n│   └── ⚙️ vite.config.js       # Build configuration\n├── 📁 database/                # Database related files\n│   ├── 📁 migrations/          # Database migrations\n│   ├── 📁 seeds/               # Database seeds\n│   ├── 📄 schema.prisma        # Prisma schema (if using Prisma)\n│   └── 📄 config.js            # Database configuration\n├── 📁 shared/                  # Shared utilities and types\n│   ├── 📁 types/               # TypeScript type definitions\n│   ├── 📁 constants/           # Shared constants\n│   └── 📁 utils/               # Shared utility functions\n├── 📁 docker/                  # Docker configurations\n│   ├── 🐳 docker-compose.yml   # Development setup\n│   ├── 🐳 docker-compose.prod.yml # Production setup\n│   └── 📁 nginx/               # Nginx configuration (if applicable)\n├── 📁 .github/                 # GitHub configurations\n│   └── 📁 workflows/           # CI/CD workflows\n├── 📁 docs/                    # Project documentation\n├── 📄 package.json             # Root package.json (monorepo)\n├── 📄 README.md                # Project documentation\n├── 📄 .env.example             # Environment variables template\n├── 📄 .gitignore               # Git ignore rules\n├── 📄 .eslintrc.js             # ESLint configuration\n├── 📄 .prettierrc              # Prettier configuration\n├── 📄 turbo.json               # Turbo configuration (if monorepo)\n└── 📄 LICENSE                  # License file\n```\n\n### Monorepo Structure (with Turborepo)\n\n```\nmonorepo-app/\n├── 📁 apps/                    # Applications\n│   ├── 📁 web/                 # Web application\n│   │   ├── 📁 src/             # Source code\n│   │   ├── 📄 package.json     # App dependencies\n│   │   └── 📄 next.config.js   # Next.js config\n│   └── 📁 server/              # Server application\n│       ├── 📁 src/             # Source code\n│       ├── 📄 package.json     # App dependencies\n│       └── 📄 server.js        # Main server file\n├── 📁 packages/                # Shared packages\n│   ├── 📁 ui/                  # UI components\n│   │   ├── 📁 src/             # Component source\n│   │   └── 📄 package.json     # Package dependencies\n│   ├── 📁 database/            # Database package\n│   │   ├── 📁 src/             # Database logic\n│   │   └── 📄 package.json     # Package dependencies\n│   └── 📁 shared/              # Shared utilities\n│       ├── 📁 src/             # Shared code\n│       └── 📄 package.json     # Package dependencies\n├── 📁 configs/                 # Shared configurations\n│   ├── 📁 eslint/              # ESLint config\n│   ├── 📁 typescript/          # TypeScript config\n│   └── 📁 prettier/            # Prettier config\n├── 📄 package.json             # Root package.json\n├── 📄 turbo.json               # Turborepo configuration\n└── 📄 README.md                # Project documentation\n```\n\n### Framework-Specific Structures\n\n#### Next.js Project\n\n```\nnextjs-app/\n├── 📁 app/                     # App Router (Next.js 13+)\n│   ├── 📄 layout.tsx           # Root layout\n│   ├── 📄 page.tsx             # Home page\n│   ├── 📁 api/                 # API routes\n│   └── 📁 (auth)/              # Route groups\n├── 📁 components/              # React components\n├── 📁 lib/                     # Utilities and configurations\n├── 📄 next.config.js           # Next.js configuration\n└── 📄 middleware.ts            # Next.js middleware\n```\n\n#### NestJS Project\n\n```\nnestjs-app/\n├── 📁 src/\n│   ├── 📄 main.ts              # Application entry point\n│   ├── 📄 app.module.ts        # Root module\n│   ├── 📁 auth/                # Authentication module\n│   ├── 📁 users/               # Users module\n│   ├── 📁 common/              # Shared code\n│   │   ├── 📁 decorators/      # Custom decorators\n│   │   ├── 📁 filters/         # Exception filters\n│   │   ├── 📁 guards/          # Route guards\n│   │   └── 📁 interceptors/    # Interceptors\n│   └── 📁 database/            # Database configuration\n├── 📄 nest-cli.json            # Nest CLI configuration\n└── 📄 tsconfig.json            # TypeScript configuration\n```\n\n### Generated Files Include:\n\n✅ **Complete Configuration Files**\n\n- Package.json with all necessary dependencies\n- TypeScript configuration (if selected)\n- ESLint and Prettier configurations\n- Environment variable templates\n- Docker and Docker Compose files\n- CI/CD workflow files\n\n✅ **Production-Ready Code**\n\n- Fully functional server with middleware\n- Authentication system (if selected)\n- Database models and connections\n- API routes with proper error handling\n- Frontend components with routing\n- Testing setup and example tests\n\n✅ **Development Tools**\n\n- Hot reload for development\n- Debugging configurations\n- Git hooks for code quality\n- Comprehensive README documentation\n\n## 🛠️ Development \u0026 Contributing\n\n### Setting Up the Development Environment\n\n```bash\n# Clone the repository\ngit clone https://github.com/vipinyadav01/js-stack-cli.git\ncd js-stack\n\n# Install dependencies\nnpm install\n\n# Build the CLI\nnpm run build\n\n# Link for local development\nnpm link\n\n# Test locally\ncreate-js-stack init test-project\n```\n\n### Project Scripts\n\n```bash\n# Development\nnpm run dev              # Watch mode with hot reload\nnpm run build            # Build the CLI\nnpm run build:watch      # Build in watch mode\n\n# Testing\nnpm test                 # Run all tests\nnpm run test:watch       # Run tests in watch mode\nnpm run test:coverage    # Generate coverage report\nnpm run test:e2e         # Run end-to-end tests\n\n# Code Quality\nnpm run lint             # Run ESLint\nnpm run lint:fix         # Fix ESLint issues\nnpm run format           # Format code with Prettier\nnpm run type-check       # TypeScript type checking\n\n# Publishing\nnpm run prepublish       # Prepare for publishing\nnpm run publish          # Publish to npm\n```\n\n### Template Development\n\nCreate new templates in the `templates/` directory:\n\n```\ntemplates/\n├── backend/\n│   └── your-framework/\n│       ├── package.json.hbs\n│       ├── server.js.hbs\n│       └── routes/\n├── frontend/\n│   └── your-framework/\n│       ├── package.json.hbs\n│       └── src/\n└── database/\n    └── your-orm/\n        └── models.js.hbs\n```\n\n### Adding New Framework Support\n\n1. **Add framework option** in `src/types.js`\n2. **Create templates** in appropriate directory\n3. **Update generator** in `src/generators/`\n4. **Add tests** for the new framework\n5. **Update documentation**\n\n### Template Syntax\n\nTemplates use Handlebars with conditional logic:\n\n```handlebars\n{ \"name\": \"{{projectName}}\", \"version\": \"1.0.0\",\n{{#if useTypeScript}}\n  \"scripts\": { \"build\": \"tsc\" }, \"devDependencies\": { \"typescript\": \"^5.0.0\" }\n{{/if}}\n}\n```\n\n### Testing Your Changes\n\n```bash\n# Test CLI generation\nnpm run test:cli\n\n# Test specific templates\nnpm run test:templates -- --framework=react\n\n# Test integration\nnpm run test:integration\n\n# Manual testing\nnpm run build \u0026\u0026 npm link\ncreate-js-stack init test-app --backend express --frontend react\n```\n\n### Contributing Guidelines\n\n1. **Fork and Clone**\n\n   ```bash\n   git clone https://github.com/vipinyadav01/js-stack-cli.git\n   ```\n\n2. **Create Feature Branch**\n\n   ```bash\n   git checkout -b feature/amazing-feature\n   ```\n\n3. **Make Changes**\n   - Follow existing code style\n   - Add tests for new features\n   - Update documentation\n\n4. **Test Thoroughly**\n\n   ```bash\n   npm test\n   npm run test:e2e\n   ```\n\n5. **Commit with Conventional Commits**\n\n   ```bash\n   git commit -m \"feat: add support for new framework\"\n   ```\n\n6. **Submit Pull Request**\n   - Clear description of changes\n   - Link related issues\n   - Include screenshots if applicable\n\n### Code Style Guidelines\n\n- **ES6+ Features** - Use modern JavaScript\n- **TypeScript** - Prefer TypeScript for new code\n- **Functional Programming** - Prefer pure functions\n- **Error Handling** - Comprehensive error handling\n- **Documentation** - JSDoc comments for functions\n- **Testing** - Unit tests for all new features\n\n### Reporting Issues\n\nWhen reporting issues, please include:\n\n- **Environment Details** (OS, Node.js version, npm version)\n- **Command Used** (exact command that failed)\n- **Expected Behavior** vs **Actual Behavior**\n- **Error Messages** (full stack trace)\n- **Reproduction Steps** (minimal example)\n\n### Security\n\nReport security vulnerabilities to: [vipinxdev@gmail.com](mailto:vipinxdev@gmail.com)\n\nDo not open public issues for security vulnerabilities.\n\n## 📄 License\n\nMIT License - see the [LICENSE](LICENSE) file for details.\n\n## 👥 Authors \u0026 Acknowledgments\n\n### Main Author\n\n- **Vipin Yadav** - _Initial work and ongoing development_\n\n### Contributors\n\n- Community contributions welcome! See [CONTRIBUTING.md](CONTRIBUTING.md)\n\n### Acknowledgments\n\n- **Create React App** - Inspiration for CLI design patterns\n- **Next.js** - Modern full-stack framework inspiration\n- **NestJS** - Enterprise-grade architecture patterns\n- **Vite** - Lightning-fast build tool integration\n- **Prisma** - Next-generation ORM inspiration\n- **T3 Stack** - Full-stack TypeScript best practices\n- **Better-T-Stack** - Original inspiration for this project\n\nSpecial thanks to the open-source community and all the maintainers of the frameworks and tools integrated into this CLI.\n\n## 🌟 Show Your Support\n\nIf this project helped you, please consider:\n\n- ⭐ **Starring** the repository\n- 🐛 **Reporting** issues and bugs\n- 💡 **Suggesting** new features\n- 🤝 **Contributing** code improvements\n- 📢 **Sharing** with the community\n\n## 📊 Project Stats\n\n- **Templates**: 50+ production-ready templates\n- **Frameworks**: 12+ supported frameworks\n- **Databases**: 4 database types with 4 ORMs\n- **Languages**: JavaScript \u0026 TypeScript\n- **Package Managers**: 4 supported managers\n- **Authentication**: 4 auth strategies\n- **Development Tools**: 10+ integrated tools\n- **Monorepo Support**: Turborepo integration\n- **Author**: Vipin Yadav\n\n## 🔗 Useful Links\n\n- **Documentation**: [https://create-js-stack.com/docs](https://create-js-stack.com/docs)\n- **Examples**: [https://github.com/create-js-stack/examples](https://github.com/create-js-stack/examples)\n- **Templates**: [https://github.com/create-js-stack/templates](https://github.com/create-js-stack/templates)\n- **Community**: [https://discord.gg/create-js-stack](https://discord.gg/create-js-stack)\n- **Twitter**: [@CreateJSStack](https://twitter.com/CreateJSStack)\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n**Built with ❤️ by [Vipin Yadav](https://vipinyadav01.vercel.app)**\n\n[Website](https://js-stack.pages.dev) • [Documentation](https://js-stack.pages.dev/docs) • [Examples](https://github.com/js-stack/examples) • [Community](https://discord.gg/js-stack)\n\n\u003c/div\u003e\n","funding_links":[],"categories":["Angular"],"sub_categories":["CLI Tools"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvipinyadav01%2Fjs-stack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvipinyadav01%2Fjs-stack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvipinyadav01%2Fjs-stack/lists"}