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

create-nest-ddd-starter

v0.1.3

Published

Scaffold a NestJS starter project

Downloads

21

Readme

nest-ddd-starter

Scaffold a NestJS starter project from a template using npm create.

This repository contains:

  • The CLI (repo root): the publishable create-nest-ddd-starter package
  • A preserved starter project: the NestJS starter lives in template/ (a maintained copy of the starter; the CLI downloads a GitHub template by default)

Requirements

  • Node.js >= 20
  • npm >= 10

Quick start

Create a new project:

npm create nest-ddd-starter@latest my-app

Or run via npx:

npx --package create-nest-ddd-starter@latest create-nest-ddd-starter my-app

After generation:

cd my-app
npm run start:dev

How the CLI works

  • Downloads the template (via degit, no git history) into the target folder
  • Customizes a few files based on your choices (database, Docker)
  • Runs npm install unless you opt out

If the target directory already exists and is not empty, the CLI will exit with an error.

Usage

create-nest-ddd-starter [projectName] [options]

When using npm create, pass CLI flags after --:

npm create nest-ddd-starter@latest my-app -- --db postgres --docker

Interactive mode

Any missing values will be prompted for:

  • Project name (if omitted or invalid)
  • Database (postgres or mysql)
  • Include Docker files? (default: yes)

Example:

npm create nest-ddd-starter@latest

Options

  • --db <postgres|mysql>: Database to configure
  • --docker: Include Docker files (Dockerfile, compose.yaml)
  • --skip-install: Skip running npm install

Notes:

  • To run completely non-interactive, provide projectName, --db ..., and --docker (otherwise you’ll be prompted).
  • There is currently no --no-docker flag. If you want no Docker files, run interactively and answer “no” to the Docker prompt.

Examples

# Postgres + Docker + install deps
npm create nest-ddd-starter@latest my-app -- --db postgres --docker

# MySQL + Docker + skip install
npm create nest-ddd-starter@latest my-app -- --db mysql --docker --skip-install

Template source

By default, the CLI downloads this template:

  • jeffpham2906/nestjs-starter-template/template

Override the template repo via env var (format: owner/repo/subdir):

export CREATE_NEST_STARTER_TEMPLATE_REPO="<owner>/<repo>/template"

Example:

export CREATE_NEST_STARTER_TEMPLATE_REPO="jeffpham/nest-ddd-starter/template"
npm create nest-ddd-starter@latest my-app

Important:

  • The template repository must be public (otherwise degit will fail to download).

What gets customized

After download, the CLI updates the generated project:

  • Sets package.json name to your project name
  • Writes .env and .env.example for the chosen database
  • If Docker is not included, removes Dockerfile and compose.yaml

If you choose MySQL, it also makes a few MySQL-specific adjustments (when the files exist in the template):

  • Switches Prisma provider in prisma/schema.prisma from Postgres to MySQL
  • Rewrites src/cross-cutting/db/prisma.module.ts to a minimal Prisma module
  • Replaces compose.yaml with a MySQL service definition

Local development (for contributors)

Install dependencies:

npm install

Run the CLI in dev mode (TypeScript via tsx):

npm run dev -- my-app --db postgres --docker

Build:

npm run build

Smoke test the built CLI:

node dist/index.js --help

Publishing

To make this available as:

npm create nest-ddd-starter@latest my-app

publish this package to npm under the name create-nest-ddd-starter:

npm login
npm version patch
npm publish --access public

Verify:

npm view create-nest-ddd-starter version

License

MIT