create-node-appone command · any stack
TemplatesExtensionsDocs
Get started
No results found.
Navigation
Home
Docs
Templates
Extensions
Docs
Docs — Introduction
Docs — Installation
Docs — AGENTS.md
Docs — Templates
Docs — Template Customization
Docs — Extensions
Docs — Contributing
Docs — Advanced Usage
System
Enable Performance Mode
Press Esc to close
Ctrl+K
10 templates·51 extensions·12 categories·MIT licensed·TypeScript-first
create-node-app

One command. Any stack. Compose templates and extensions into production-ready Node.js apps.

© 2026 Create Awesome Node App.

Resources

TemplatesExtensionsDocumentationContributing GuideChangelog

Community

Discord CommunityGitHub Organizationnpm PackageReport an issueRequest a feature

Ecosystem

Node.jslivePythonbetaV languagelive

Documentation

Back to home

Getting Started

IntroductionInstallationAGENTS.mdNEW

Templates

OverviewCustomization

Extensions

Overview

Contributing & Reference

ContributingAdvanced Usage
View on GitHub
  1. Docs
  2. Templates

Templates

Project templates are the starting point for every create-awesome-node-app project. Each template is a complete, production-ready project skeleton for a specific technology stack.

What is a template?

A template provides the initial directory structure, configuration files, and tooling for a new project. When you run create-awesome-node-app, you pick a template and optionally layer extensions on top of it to add functionality like state management, testing, or UI libraries.

npx create-awesome-node-app my-app --template react-vite-boilerplate

Each template ships with an AGENTS.md file that scopes how AI coding assistants interact with the generated repository. Learn more about AGENTS.md →

Available templates

The following templates are maintained in the cna-templates repository. There are currently 10 templates available.

NestJS Boilerplate
Modular NestJS API with TypeScript, ESLint, and Prettier. Reach for it when you want controllers, providers, and clear module boundaries from day one.

type: nestjs-backend

View template
NextJS Starter
Next.js App Router starter with TypeScript and a feature-based layout. Use it for full-stack React apps that need server components, routes, and optional auth examples.

type: nextjs

View template
Turborepo Boilerplate
Turborepo workspace with TypeScript, Changesets, and shared packages. Best when multiple apps share UI or config and you want pipeline caching.

type: monorepo

View template
React Vite Boilerplate
React SPA on Vite with React Router and TypeScript. Choose it for client-only apps where instant HMR and a lean build matter more than SSR.

type: react

View template
Web Extension React Boilerplate
React + Vite WebExtension with HMR and polyfills. Use it for Chrome/Firefox/Edge extensions that share a React UI across popup and pages.

type: webextension-react

View template
WebdriverIO Boilerplate
WebdriverIO + TypeScript harness with Selenoid-friendly setup. Scaffold this when the project is an acceptance-test suite, not the app under test.

type: webdriverio

View template
NextJS SaaS AI Starter
Multi-tenant Next.js SaaS with AI providers, Auth.js v5, Drizzle + PostgreSQL, Tailwind v4, shadcn/ui, RBAC, audit logs, webhooks, and i18n. The flagship product showcase — not a minimal starter.

type: nextjs-saas-ai

View template
Remix / React Router v7 Starter
React Router v7 with file-based routes, loaders/actions, and TypeScript. Pick it when you want SSR and nested data routes without the Next.js App Router model.

type: remix

View template
Astro Starter
Astro static site with TypeScript and island-friendly structure. Ideal for docs, marketing, and content sites that ship HTML first and hydrate only where needed.

type: astro

View template
Hono Starter
Minimal Hono API in TypeScript. Use it for edge, serverless, or small HTTP services where NestJS would be heavier than you need.

type: hono

View template
Browse all templates

Using templates

Interactive mode

Run without arguments and the CLI will prompt you to pick a template and extensions:

npx create-awesome-node-app my-app --interactive

Non-interactive mode

Pass --template (and optionally --addons) to skip prompts:

npx create-awesome-node-app my-app --template react-vite-boilerplate --addons react-zustand react-testing-library-with-vitest

List all templates

npx create-awesome-node-app --list-templates

Template structure

Every template lives in the templates/ directory of the cna-templates repository and follows this layout:

templates/
└── your-template-name/
    ├── src/              # Source code
    ├── public/           # Static assets (frontend templates)
    ├── .gitignore
    ├── package.json
    ├── README.md
    ├── AGENTS.md         # AI assistant contract
    └── tsconfig.json

Template files can use EJS-style template tags (<%= variable %>) to inject values collected during project creation (e.g. project name, src directory).

Back to DocumentationTemplate Customization