{"_id":"@10565/quicknode-cli","_rev":"4-6567d93df9f4fa94b9a17cc3a307d705","name":"@10565/quicknode-cli","dist-tags":{"latest":"1.1.1"},"versions":{"1.0.0":{"name":"@10565/quicknode-cli","version":"1.0.0","keywords":["nodejs","cli","template","express","typescript","clean-architecture","boilerplate"],"author":{"name":"Dakson C","email":"daksonmendes@outlook.com"},"license":"MIT","_id":"@10565/quicknode-cli@1.0.0","maintainers":[{"name":"10565","email":"daksonc@gmail.com"}],"homepage":"https://github.com/DaksonC/QuickNode#readme","bugs":{"url":"https://github.com/DaksonC/QuickNode/issues"},"bin":{"qn":"dist/cli.js"},"dist":{"shasum":"09ffe55637e1452155967675202904d9a1b253b8","tarball":"https://registry.npmjs.org/@10565/quicknode-cli/-/quicknode-cli-1.0.0.tgz","fileCount":99,"integrity":"sha512-txDsrWyW3GUrOkbrbVU8VYKlba0YVOdQHo0/KB1dJk9vY66wPqg2wXpXm9UvWAHIcjp/QE8NhyIWpJsTg7XO+g==","signatures":[{"sig":"MEYCIQCvQS9VgbmCm8aE01+qJFhImHVSZww55lbfsgjkKh15LQIhAMeUpfsHe3CMyXOg2uBr7uffCluw2MU2teY/fwdcPLJy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":855490},"main":"dist/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"d8164b966e5fd73d0b4d38af6f2276f3fedc27ee","scripts":{"dev":"ts-node-dev --esm src/cli.ts","lint":"eslint src/**/*.ts","test":"jest","build":"tsc && cp -r templates dist/","start":"node dist/cli.js","format":"prettier --write src/**/*.ts","prepare":"husky install","lint:fix":"eslint src/**/*.ts --fix","test:watch":"jest --watch","release:major":"./scripts/release.sh major","release:minor":"./scripts/release.sh minor","release:patch":"./scripts/release.sh patch","test:coverage":"jest --coverage","prepublishOnly":"npm run build","release:prerelease":"./scripts/release.sh prerelease"},"_npmUser":{"name":"10565","email":"daksonc@gmail.com"},"repository":{"url":"git+https://github.com/DaksonC/QuickNode.git","type":"git"},"_npmVersion":"11.4.2","description":"A CLI tool to quickly bootstrap Node.js projects with pre-configured dependencies and clean architecture","directories":{},"_nodeVersion":"24.3.0","dependencies":{"ora":"^7.0.1","chalk":"^5.3.0","fs-extra":"^11.1.1","inquirer":"^9.2.12","commander":"^11.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","ts-jest":"^29.1.1","prettier":"^3.1.0","typescript":"^5.2.2","@types/jest":"^29.5.8","@types/node":"^20.9.0","ts-node-dev":"^2.0.0","@types/fs-extra":"^11.0.4","@types/inquirer":"^9.0.7","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^8.44.0","@typescript-eslint/eslint-plugin":"^8.44.0"},"_npmOperationalInternal":{"tmp":"tmp/quicknode-cli_1.0.0_1758239316704_0.19643460908635735","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@10565/quicknode-cli","version":"1.0.1","keywords":["nodejs","cli","template","express","typescript","clean-architecture","boilerplate"],"author":{"name":"Dakson C","email":"daksonmendes@outlook.com"},"license":"MIT","_id":"@10565/quicknode-cli@1.0.1","maintainers":[{"name":"10565","email":"daksonc@gmail.com"}],"homepage":"https://github.com/DaksonC/QuickNode#readme","bugs":{"url":"https://github.com/DaksonC/QuickNode/issues"},"bin":{"qn":"dist/cli.js"},"dist":{"shasum":"f173093fbb4d5d129e1b3f8a820624fb9fe4f43a","tarball":"https://registry.npmjs.org/@10565/quicknode-cli/-/quicknode-cli-1.0.1.tgz","fileCount":101,"integrity":"sha512-Gu6XilWh8VEnWaSJMu2f2DKbRgeqqPuMIhpP4CJmAhZCope9CavnQfjhS25PWrzNwVEULo/IGXuGfcY+AfnnUw==","signatures":[{"sig":"MEYCIQCACGDnR9+dxzQW75ncJRrEXNyFuPZe/0/cn1iamUsSXgIhAMtjtBdNLioA6+AlBXLhPT8Bq0ZnOppSnPiFCrb8h93+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":861639},"main":"dist/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"cbfe0c67b63e874c25df50093d7514148fe3963c","scripts":{"dev":"ts-node-dev --esm src/cli.ts","lint":"eslint src/**/*.ts","test":"jest","build":"tsc && cp -r templates dist/","start":"node dist/cli.js","format":"prettier --write src/**/*.ts","prepare":"husky install","lint:fix":"eslint src/**/*.ts --fix","test:watch":"jest --watch","release:major":"./scripts/release.sh major","release:minor":"./scripts/release.sh minor","release:patch":"./scripts/release.sh patch","test:coverage":"jest --coverage","prepublishOnly":"npm run build","release:prerelease":"./scripts/release.sh prerelease"},"_npmUser":{"name":"10565","email":"daksonc@gmail.com"},"repository":{"url":"git+https://github.com/DaksonC/QuickNode.git","type":"git"},"_npmVersion":"10.8.2","description":"A CLI tool to quickly bootstrap Node.js projects with pre-configured dependencies and clean architecture","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ora":"^7.0.1","chalk":"^5.3.0","figlet":"^1.9.3","fs-extra":"^11.1.1","inquirer":"^9.2.12","commander":"^11.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","ts-jest":"^29.1.1","prettier":"^3.1.0","typescript":"^5.2.2","@types/jest":"^29.5.8","@types/node":"^20.9.0","ts-node-dev":"^2.0.0","@types/figlet":"^1.7.0","@types/fs-extra":"^11.0.4","@types/inquirer":"^9.0.7","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^8.44.0","@typescript-eslint/eslint-plugin":"^8.44.0"},"_npmOperationalInternal":{"tmp":"tmp/quicknode-cli_1.0.1_1758481292823_0.7458573298650952","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@10565/quicknode-cli","version":"1.1.0","keywords":["nodejs","cli","template","express","typescript","clean-architecture","boilerplate"],"author":{"name":"Dakson C","email":"daksonmendes@outlook.com"},"license":"MIT","_id":"@10565/quicknode-cli@1.1.0","maintainers":[{"name":"10565","email":"daksonc@gmail.com"}],"homepage":"https://github.com/DaksonC/QuickNode#readme","bugs":{"url":"https://github.com/DaksonC/QuickNode/issues"},"bin":{"qn":"dist/cli.js"},"dist":{"shasum":"481b7aaa02988fe65f711c17a0b490fe93e791d7","tarball":"https://registry.npmjs.org/@10565/quicknode-cli/-/quicknode-cli-1.1.0.tgz","fileCount":135,"integrity":"sha512-ytu5RPscVZatFAAxoOb1OkorZTovB0ReZUuKykyN2ZOpOzmqY4OEhnhHjMIrL3u8xcksQMs7p3fXEAP3ynUkFw==","signatures":[{"sig":"MEQCIFqR3WdNeVTk7jROltN+wcgJgagVF0XgbzHal6IMwUzUAiAUF4zgzdEpJ2qO192Ya6Y42DbsA4IH1l1sI4C9KW2Jxg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1633490},"main":"dist/index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"ce15ced72c44d756bcd551ab2ec0f5c6c4c6ed21","scripts":{"dev":"ts-node-dev --esm src/cli.ts","lint":"eslint src/**/*.ts","test":"jest","build":"tsc && cp -r templates dist/","start":"node dist/cli.js","format":"prettier --write src/**/*.ts","prepare":"husky install","lint:fix":"eslint src/**/*.ts --fix","test:watch":"jest --watch","release:major":"./scripts/release.sh major","release:minor":"./scripts/release.sh minor","release:patch":"./scripts/release.sh patch","test:coverage":"jest --coverage","prepublishOnly":"npm run build","release:prerelease":"./scripts/release.sh prerelease"},"_npmUser":{"name":"10565","email":"daksonc@gmail.com"},"repository":{"url":"git+https://github.com/DaksonC/QuickNode.git","type":"git"},"_npmVersion":"10.8.2","description":"A CLI tool to quickly bootstrap Node.js projects with pre-configured dependencies and clean architecture","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ora":"^7.0.1","chalk":"^5.3.0","figlet":"^1.9.3","fs-extra":"^11.1.1","inquirer":"^9.2.12","commander":"^11.1.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","ts-jest":"^29.1.1","prettier":"^3.1.0","typescript":"^5.2.2","@types/jest":"^29.5.8","@types/node":"^20.9.0","ts-node-dev":"^2.0.0","@types/figlet":"^1.7.0","@types/fs-extra":"^11.0.4","@types/inquirer":"^9.0.7","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^8.44.0","@typescript-eslint/eslint-plugin":"^8.44.0"},"_npmOperationalInternal":{"tmp":"tmp/quicknode-cli_1.1.0_1759079877091_0.45076421739271666","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@10565/quicknode-cli","version":"1.1.1","description":"A CLI tool to quickly bootstrap Node.js projects with pre-configured dependencies and clean architecture","main":"dist/index.js","type":"module","bin":{"qn":"dist/cli.js"},"scripts":{"build":"tsc && cp -r templates dist/","dev":"ts-node-dev --esm src/cli.ts","start":"node dist/cli.js","test":"jest","test:watch":"jest --watch","test:coverage":"jest --coverage","lint":"eslint src/**/*.ts","lint:fix":"eslint src/**/*.ts --fix","format":"prettier --write src/**/*.ts","prepare":"husky install","prepublishOnly":"npm run build","release:patch":"./scripts/release.sh patch","release:minor":"./scripts/release.sh minor","release:major":"./scripts/release.sh major","release:prerelease":"./scripts/release.sh prerelease"},"keywords":["nodejs","cli","template","express","typescript","clean-architecture","boilerplate"],"author":{"name":"Dakson C","email":"daksonmendes@outlook.com"},"license":"MIT","funding":[{"type":"paypal","url":"https://www.paypal.com/donate/?hosted_button_id=EA36NAFVH6LDY"}],"homepage":"https://github.com/DaksonC/QuickNode#readme","repository":{"type":"git","url":"git+https://github.com/DaksonC/QuickNode.git"},"bugs":{"url":"https://github.com/DaksonC/QuickNode/issues"},"dependencies":{"chalk":"^5.3.0","commander":"^11.1.0","figlet":"^1.9.3","fs-extra":"^11.1.1","inquirer":"^9.2.12","ora":"^7.0.1"},"devDependencies":{"@types/figlet":"^1.7.0","@types/fs-extra":"^11.0.4","@types/inquirer":"^9.0.7","@types/jest":"^29.5.8","@types/node":"^20.9.0","@typescript-eslint/eslint-plugin":"^8.44.0","@typescript-eslint/parser":"^8.44.0","eslint":"^8.54.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","husky":"^8.0.3","jest":"^29.7.0","prettier":"^3.1.0","ts-jest":"^29.1.1","ts-node-dev":"^2.0.0","typescript":"^5.2.2"},"engines":{"node":">=18.0.0"},"_id":"@10565/quicknode-cli@1.1.1","gitHead":"eff4bf0a1e63f9cc8c1edd9da63363392ac82ac8","_nodeVersion":"20.19.5","_npmVersion":"10.8.2","dist":{"integrity":"sha512-GfAJAhuQQ8uQSdYmX1FP9SPdS0v8N4CB+yeUZF3sV2PG4JrX/2oZROubiNCtp7BkYcBF7qH5PTn1SkbHz6x2aw==","shasum":"4d7ce8e6d34eff4a30fed366a46552e2b754f150","tarball":"https://registry.npmjs.org/@10565/quicknode-cli/-/quicknode-cli-1.1.1.tgz","fileCount":139,"unpackedSize":1636087,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDokcq4gI1gxjx/b254ZzTRAHX/wP7RzWQkPNsDeYAdIQIgZ/Fq0nGOcwZRlf/rxP5l+8ExCIfwfQKawxN3NIVHGbs="}]},"_npmUser":{"name":"10565","email":"daksonc@gmail.com"},"directories":{},"maintainers":[{"name":"10565","email":"daksonc@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/quicknode-cli_1.1.1_1759096079775_0.6587796526918088"},"_hasShrinkwrap":false}},"time":{"created":"2025-09-18T23:48:36.645Z","modified":"2025-09-28T21:48:00.176Z","1.0.0":"2025-09-18T23:48:36.917Z","1.0.1":"2025-09-21T19:01:33.142Z","1.1.0":"2025-09-28T17:17:57.366Z","1.1.1":"2025-09-28T21:47:59.991Z"},"bugs":{"url":"https://github.com/DaksonC/QuickNode/issues"},"author":{"name":"Dakson C","email":"daksonmendes@outlook.com"},"license":"MIT","homepage":"https://github.com/DaksonC/QuickNode#readme","keywords":["nodejs","cli","template","express","typescript","clean-architecture","boilerplate"],"repository":{"type":"git","url":"git+https://github.com/DaksonC/QuickNode.git"},"description":"A CLI tool to quickly bootstrap Node.js projects with pre-configured dependencies and clean architecture","maintainers":[{"name":"10565","email":"daksonc@gmail.com"}],"readme":"# QuickNode CLI\n\n[![NPM version](https://img.shields.io/npm/v/@10565/quicknode-cli.svg)]()\n[![npm](https://img.shields.io/npm/dt/@10565/quicknode-cli.svg)]()\n[![GitHub stars](https://img.shields.io/github/stars/DaksonC/QuickNode.svg?style=social&label=Star)](https://github.com/DaksonC/QuickNode)\n\n🚀 A powerful CLI tool to quickly bootstrap Node.js projects with clean architecture and pre-configured dependencies.\n\n## ✨ Features\n\n- **TypeScript & JavaScript Support**: Choose between TypeScript or JavaScript templates\n- **Clean Architecture**: Domain-driven design with clear separation of concerns\n- **Pre-configured Dependencies**: All essential tools ready to use\n- **Multiple Database Support**: PostgreSQL (TypeORM) and MongoDB (Mongoose)\n- **API Documentation**: Swagger/OpenAPI 3.0 integration\n- **Security & Validation**: Helmet, express-validator, and class-validator\n- **Testing Setup**: Jest with extended matchers and coverage\n- **Code Quality**: ESLint, Prettier, and Husky pre-commit hooks\n- **Development Tools**: Hot reload with ts-node-dev/nodemon\n- **Logging**: Structured logging with Pino\n\n## 📦 Installation\n\nInstall the CLI globally:\n\n```bash\nnpm install -g @10565/quicknode-cli\n```\n\nAlternatively, you can run it without a global installation using `npx`:\n\n```bash\nnpx @10565/quicknode-cli create my-awesome-app\n```\n\n## 🎯 Usage\n\n### Create a new project\n\nIf you have installed the CLI globally, you can use the `qn` command directly.\n\n```bash\n# Create a new project in a new directory\nqn create my-awesome-app\n\n# Create a project in the current directory\nqn create .\n\n# Interactive mode (will prompt for options)\nqn create\n```\n\n### Command Options\n\n```bash\n# Use TypeScript template (default)\nqn create my-app --typescript\n\n# Use JavaScript template\nqn create my-app --javascript\n```\n\n## 🏗️ What's Included\n\n### Dependencies\n\n- **Express.js**: Web framework\n- **Helmet**: Security middleware\n- **Dotenv**: Environment variable management\n- **Express-validator**: Request validation\n- **Pino**: Structured logging\n- **Swagger**: API documentation\n- **TypeORM**: PostgreSQL ORM (TypeScript template)\n- **Mongoose**: MongoDB ODM\n- **Class-transformer & Class-validator**: DTO validation (TypeScript)\n\n### Development Dependencies\n\n- **TypeScript**: Type checking (TypeScript template)\n- **ts-node-dev**: Development server with hot reload (TypeScript)\n- **Nodemon**: Development server with hot reload (JavaScript)\n- **Jest**: Testing framework\n- **Jest-extended**: Additional Jest matchers\n- **ESLint**: Code linting\n- **Prettier**: Code formatting\n- **Husky**: Git hooks\n- **Commitlint**: Conventional commits\n\n### Pre-configured Scripts\n\n```json\n{\n  \"dev\": \"Start development server\",\n  \"build\": \"Build TypeScript to JavaScript (TypeScript only)\",\n  \"start\": \"Start production server\",\n  \"test\": \"Run tests\",\n  \"test:watch\": \"Run tests in watch mode\",\n  \"test:coverage\": \"Run tests with coverage\",\n  \"lint\": \"Lint code\",\n  \"lint:fix\": \"Lint and fix code\",\n  \"format\": \"Format code with Prettier\"\n}\n```\n\n## 🏛️ Clean Architecture Structure\n\n```\nsrc/\n├── domain/                 # Domain layer (business logic)\n│   ├── entities/          # Domain entities\n│   ├── repositories/      # Repository interfaces\n│   └── use-cases/         # Application use cases\n├── infrastructure/        # Infrastructure layer\n│   ├── controllers/       # HTTP controllers\n│   ├── database/          # Database configuration\n│   │   ├── entities/      # TypeORM entities (TypeScript)\n│   │   ├── models/        # Mongoose models\n│   │   └── repositories/  # Repository implementations\n│   ├── docs/             # API documentation setup\n│   ├── logging/          # Logging configuration\n│   ├── middleware/       # Express middleware\n│   └── routes/           # Route definitions\n└── server.ts/js          # Application entry point\n```\n\n## 🚀 Quick Start\n\nAfter creating your project:\n\n1. **Navigate to your project**:\n   ```bash\n   cd my-awesome-app\n   ```\n\n2. **Install dependencies**:\n   ```bash\n   npm install\n   ```\n\n3. **Copy environment variables**:\n   ```bash\n   cp .env.example .env\n   ```\n\n4. **Update environment variables** in `.env`:\n   ```env\n   DATABASE_URL=postgresql://username:password@localhost:5432/your_db\n   MONGO_URL=mongodb://localhost:27017/your_db\n   PORT=3000\n   JWT_SECRET=your-secret-key\n   ```\n\n5. **Start development server**:\n   ```bash\n   npm run dev\n   ```\n\n6. **Visit your API**:\n   - API: http://localhost:3000\n   - Documentation: http://localhost:3000/api-docs\n   - Health Check: http://localhost:3000/health\n\n## 📊 Database Setup\n\n### PostgreSQL (TypeScript template)\n\n1. Install PostgreSQL\n2. Create a database\n3. Update `DATABASE_URL` in `.env`\n4. Run migrations: `npm run db:migrate` (TypeScript only)\n\n### MongoDB\n\n1. Install MongoDB\n2. Update `MONGO_URL` in `.env`\n3. Connection is automatic\n\n## 🧪 Testing\n\nThe template includes a complete testing setup:\n\n- **Unit tests** for use cases and entities\n- **Integration tests** for API endpoints\n- **Coverage reports** with detailed metrics\n- **Jest extended** for additional matchers\n\nRun tests:\n```bash\nnpm test              # Run all tests\nnpm run test:watch    # Watch mode\nnpm run test:coverage # With coverage\n```\n\n## 🔧 Code Quality\n\n### ESLint & Prettier\n\nCode quality is ensured with ESLint and Prettier:\n\n```bash\nnpm run lint          # Check for issues\nnpm run lint:fix      # Fix issues automatically\nnpm run format        # Format code\n```\n\n### Git Hooks\n\nPre-commit hooks automatically:\n- Lint and fix code\n- Format code\n- Validate commit messages (conventional commits)\n\n### Conventional Commits\n\nCommit format: `type(scope): description`\n\nTypes: `feat`, `fix`, `docs`, `style`, `refactor`, `test`, `chore`\n\nExamples:\n- `feat: add user authentication`\n- `fix: resolve database connection issue`\n- `docs: update API documentation`\n\n## 🌟 Example API\n\nThe template includes a complete User API with:\n\n- Create user (POST /api/v1/users)\n- Get all users (GET /api/v1/users)\n- Get user by ID (GET /api/v1/users/:id)\n- Update user (PUT /api/v1/users/:id)\n- Delete user (DELETE /api/v1/users/:id)\n\nAll endpoints include:\n- Input validation\n- Error handling\n- Swagger documentation\n- Clean architecture implementation\n\n## 🤝 Contributing\n\n1. Fork the repository\n2. Create a feature branch: `git checkout -b feature/amazing-feature`\n3. Commit changes: `git commit -m '''feat: add amazing feature'''`\n4. Push to branch: `git push origin feature/amazing-feature`\n5. Open a Pull Request\n\n## 📄 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## 🙏 Acknowledgments\n\n- Built with modern Node.js best practices\n- Inspired by clean architecture principles\n- Designed for developer productivity\n\n## 📞 Support\n\nIf you have any questions or issues:\n\n1. Check the [GitHub Issues](https://github.com/DaksonC/QuickNode/issues)\n2. Create a new issue if needed\n3. Contribute to make it better!\n\n### ☕ Buy us a Coffee\n\n- **PayPal**: [Dakson Chaves Cruz](https://www.paypal.com/donate/?hosted_button_id=EA36NAFVH6LDY)\n---\n\n**Happy coding! 🎉**\n","readmeFilename":"README.md"}