npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@10565/quicknode-cli

v1.1.1

Published

A CLI tool to quickly bootstrap Node.js projects with pre-configured dependencies and clean architecture

Readme

QuickNode CLI

NPM version npm GitHub stars

🚀 A powerful CLI tool to quickly bootstrap Node.js projects with clean architecture and pre-configured dependencies.

✨ Features

  • TypeScript & JavaScript Support: Choose between TypeScript or JavaScript templates
  • Clean Architecture: Domain-driven design with clear separation of concerns
  • Pre-configured Dependencies: All essential tools ready to use
  • Multiple Database Support: PostgreSQL (TypeORM) and MongoDB (Mongoose)
  • API Documentation: Swagger/OpenAPI 3.0 integration
  • Security & Validation: Helmet, express-validator, and class-validator
  • Testing Setup: Jest with extended matchers and coverage
  • Code Quality: ESLint, Prettier, and Husky pre-commit hooks
  • Development Tools: Hot reload with ts-node-dev/nodemon
  • Logging: Structured logging with Pino

📦 Installation

Install the CLI globally:

npm install -g @10565/quicknode-cli

Alternatively, you can run it without a global installation using npx:

npx @10565/quicknode-cli create my-awesome-app

🎯 Usage

Create a new project

If you have installed the CLI globally, you can use the qn command directly.

# Create a new project in a new directory
qn create my-awesome-app

# Create a project in the current directory
qn create .

# Interactive mode (will prompt for options)
qn create

Command Options

# Use TypeScript template (default)
qn create my-app --typescript

# Use JavaScript template
qn create my-app --javascript

🏗️ What's Included

Dependencies

  • Express.js: Web framework
  • Helmet: Security middleware
  • Dotenv: Environment variable management
  • Express-validator: Request validation
  • Pino: Structured logging
  • Swagger: API documentation
  • TypeORM: PostgreSQL ORM (TypeScript template)
  • Mongoose: MongoDB ODM
  • Class-transformer & Class-validator: DTO validation (TypeScript)

Development Dependencies

  • TypeScript: Type checking (TypeScript template)
  • ts-node-dev: Development server with hot reload (TypeScript)
  • Nodemon: Development server with hot reload (JavaScript)
  • Jest: Testing framework
  • Jest-extended: Additional Jest matchers
  • ESLint: Code linting
  • Prettier: Code formatting
  • Husky: Git hooks
  • Commitlint: Conventional commits

Pre-configured Scripts

{
  "dev": "Start development server",
  "build": "Build TypeScript to JavaScript (TypeScript only)",
  "start": "Start production server",
  "test": "Run tests",
  "test:watch": "Run tests in watch mode",
  "test:coverage": "Run tests with coverage",
  "lint": "Lint code",
  "lint:fix": "Lint and fix code",
  "format": "Format code with Prettier"
}

🏛️ Clean Architecture Structure

src/
├── domain/                 # Domain layer (business logic)
│   ├── entities/          # Domain entities
│   ├── repositories/      # Repository interfaces
│   └── use-cases/         # Application use cases
├── infrastructure/        # Infrastructure layer
│   ├── controllers/       # HTTP controllers
│   ├── database/          # Database configuration
│   │   ├── entities/      # TypeORM entities (TypeScript)
│   │   ├── models/        # Mongoose models
│   │   └── repositories/  # Repository implementations
│   ├── docs/             # API documentation setup
│   ├── logging/          # Logging configuration
│   ├── middleware/       # Express middleware
│   └── routes/           # Route definitions
└── server.ts/js          # Application entry point

🚀 Quick Start

After creating your project:

  1. Navigate to your project:

    cd my-awesome-app
  2. Install dependencies:

    npm install
  3. Copy environment variables:

    cp .env.example .env
  4. Update environment variables in .env:

    DATABASE_URL=postgresql://username:password@localhost:5432/your_db
    MONGO_URL=mongodb://localhost:27017/your_db
    PORT=3000
    JWT_SECRET=your-secret-key
  5. Start development server:

    npm run dev
  6. Visit your API:

    • API: http://localhost:3000
    • Documentation: http://localhost:3000/api-docs
    • Health Check: http://localhost:3000/health

📊 Database Setup

PostgreSQL (TypeScript template)

  1. Install PostgreSQL
  2. Create a database
  3. Update DATABASE_URL in .env
  4. Run migrations: npm run db:migrate (TypeScript only)

MongoDB

  1. Install MongoDB
  2. Update MONGO_URL in .env
  3. Connection is automatic

🧪 Testing

The template includes a complete testing setup:

  • Unit tests for use cases and entities
  • Integration tests for API endpoints
  • Coverage reports with detailed metrics
  • Jest extended for additional matchers

Run tests:

npm test              # Run all tests
npm run test:watch    # Watch mode
npm run test:coverage # With coverage

🔧 Code Quality

ESLint & Prettier

Code quality is ensured with ESLint and Prettier:

npm run lint          # Check for issues
npm run lint:fix      # Fix issues automatically
npm run format        # Format code

Git Hooks

Pre-commit hooks automatically:

  • Lint and fix code
  • Format code
  • Validate commit messages (conventional commits)

Conventional Commits

Commit format: type(scope): description

Types: feat, fix, docs, style, refactor, test, chore

Examples:

  • feat: add user authentication
  • fix: resolve database connection issue
  • docs: update API documentation

🌟 Example API

The template includes a complete User API with:

  • Create user (POST /api/v1/users)
  • Get all users (GET /api/v1/users)
  • Get user by ID (GET /api/v1/users/:id)
  • Update user (PUT /api/v1/users/:id)
  • Delete user (DELETE /api/v1/users/:id)

All endpoints include:

  • Input validation
  • Error handling
  • Swagger documentation
  • Clean architecture implementation

🤝 Contributing

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Commit changes: git commit -m '''feat: add amazing feature'''
  4. Push to branch: git push origin feature/amazing-feature
  5. Open a Pull Request

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

  • Built with modern Node.js best practices
  • Inspired by clean architecture principles
  • Designed for developer productivity

📞 Support

If you have any questions or issues:

  1. Check the GitHub Issues
  2. Create a new issue if needed
  3. Contribute to make it better!

☕ Buy us a Coffee


Happy coding! 🎉