Nodon

Nodon Guide

šŸš€ v1.0

The fastest way to bootstrap modern Node.js applications with production-ready templates, minimal configuration, and built-in best practices.

Overview

Nodon (pronounced "no-don", like "node-on") is a build tool that aims to provide a faster and leaner development experience for modern Node.js projects. It consists of two major parts:

  • A CLI tool that provides instant project scaffolding with battle-tested templates
  • A development server with hot reload, pre-configured to work with modern Node.js features

Quick Start in Seconds

Install the CLI globally (optional)

$npm install -g nodon

Create a new project

$npm create-nodon@latest my-app

Start development

$cd my-app
$npm run dev

Pick from templates like:

Basic Node.js App
REST API with Express
GraphQL Server Setup
Microservices Starter

Why Nodon?

Modern Node.js development often involves repetitive setup, boilerplate, and configuration headaches. Nodon solves this by offering:

Battle-tested templates

For every use case

Zero-configuration

Project scaffolding

Best practices by default

ESLint, Prettier, TypeScript, Testing

Scalable structures

For monorepos & microservices

Lightning-fast

Project bootstrapping

Project Philosophy

Simplicity First

We believe setting up projects should be instant. Nodon abstracts the complexity so you can focus on building.

Best Practices by Default

Security, code quality, and developer experience are baked in, following the latest community standards.

Flexibility & Scalability

From basic scripts to complex monorepos and microservices — Nodon adapts to your project size.

Familiar Tech Stack

Powered by Node.js, TypeScript, and modern tooling you're already familiar with.

Features Overview

TypeScript-ready Templates
Pre-configured ESLint & Prettier
Hot Reload for Development
Out-of-the-box Testing (Jest)
Optional Authentication & API setup
Monorepo & Microservice Architecture
CI/CD Ready Structures

Available Templates

TemplateDescription
Basic Node.js App
Minimal Node project with essential tooling
REST API with Express
RESTful API with Express, TypeScript, Auth
GraphQL Server Setup
Apollo GraphQL Server with Type Safety
Microservices Starter
Scalable microservices with independent services

Project Examples

🟢 Basic Project Example

$npx create-nodon@latest my-app --template basic-node

Navigate and start:

my-app/
ā”œā”€ā”€ index.js            # Entry point of the application
ā”œā”€ā”€ package.json        # Project metadata and dependencies
ā”œā”€ā”€ .gitignore          # Files to exclude from git

šŸ”µ Basic Node.js + TypeScript (basic-ts)

$npx create-nodon@latest my-app --template basic-ts

Navigate and start:

my-app/
ā”œā”€ā”€ src/
│   └── index.ts        # Entry point (TypeScript)
ā”œā”€ā”€ tsconfig.json       # TypeScript configuration
ā”œā”€ā”€ package.json        # Project metadata and dependencies
ā”œā”€ā”€ .gitignore          # Files to exclude from git

🟠 Advanced REST API (Node + Express)

$npx create-nodon@latest my-app --template express-rest-api

Navigate and start:

my-app/
ā”œā”€ā”€ src/
│   ā”œā”€ā”€ config/         # Configuration files
│   ā”œā”€ā”€ controllers/    # Request handlers
│   ā”œā”€ā”€ db/             # Database connection logic
│   ā”œā”€ā”€ middlewares/    # Express middlewares
│   ā”œā”€ā”€ models/         # Database models
│   ā”œā”€ā”€ routes/         # API routes
│   ā”œā”€ā”€ services/       # Business logic
│   ā”œā”€ā”€ utils/          # Utility functions
│   └── app.js          # Express app setup
ā”œā”€ā”€ .env.example        # Example environment variables
ā”œā”€ā”€ .gitignore          # Files to exclude from git
ā”œā”€ā”€ package.json        # Project metadata and dependencies

šŸ”µ Advanced REST API (Express + TypeScript)

$npx create-nodon@latest my-app --template express-rest-ts

Navigate and start:

my-app/
ā”œā”€ā”€ src/
│   ā”œā”€ā”€ config/         # Configuration files
│   ā”œā”€ā”€ controllers/    # Request handlers
│   ā”œā”€ā”€ db/             # Database connection logic
│   ā”œā”€ā”€ middlewares/    # Express middlewares
│   ā”œā”€ā”€ models/         # Database models
│   ā”œā”€ā”€ routes/         # API routes
│   ā”œā”€ā”€ services/       # Business logic
│   ā”œā”€ā”€ utils/          # Utility functions
│   └── app.ts          # Express app setup (TypeScript)
ā”œā”€ā”€ .env.example        # Example environment variables
ā”œā”€ā”€ .gitignore          # Files to exclude from git
ā”œā”€ā”€ package.json        # Project metadata and dependencies
ā”œā”€ā”€ tsconfig.json       # TypeScript configuration

šŸ”“ GraphQL API Server (Express + TypeScript)

$npx create-nodon@latest my-app --template graphql-api-ts

Navigate and start:

my-app/
ā”œā”€ā”€ src/
│   ā”œā”€ā”€ config/         # Configuration files
│   ā”œā”€ā”€ db/             # Database connection logic
│   ā”œā”€ā”€ graphql/        # GraphQL schema and resolvers
│   ā”œā”€ā”€ middlewares/    # Express middlewares
│   ā”œā”€ā”€ utils/          # Utility functions
│   └── server.ts       # Express & Apollo Server setup
ā”œā”€ā”€ .env.example        # Example environment variables
ā”œā”€ā”€ .gitignore          # Files to exclude from git
ā”œā”€ā”€ package.json        # Project metadata and dependencies
ā”œā”€ā”€ tsconfig.json       # TypeScript configuration

🟠 Microservices Example

$npx create-nodon@latest my-app --template microservices

Bootstraps independent services with shared utilities:

my-app/
ā”œā”€ā”€ auth-service/       # Authentication microservice
ā”œā”€ā”€ gateway/            # API Gateway or entry point
ā”œā”€ā”€ shared/             # Shared libraries and utilities
ā”œā”€ā”€ user-service/       # User management microservice
ā”œā”€ā”€ .gitignore          # Files to exclude from git
ā”œā”€ā”€ docker-compose.yml  # Multi-container Docker setup
ā”œā”€ā”€ cli.ts              # CLI setup to run services

Navigate and start:

$cd my-app
$npm run dev

Contributing

We love contributions! Help improve templates or suggest new ones:

Community

Need help or want to showcase your project? Join the Nodon community:

Discord Server

Join our community for help and discussions

Follow on Twitter

Stay updated with the latest news

FAQ

Q: Can I customize templates?

Yes! Templates are designed to be modified to fit your needs.

Q: Does Nodon support CI/CD?

Microservice & Monorepo templates are CI/CD ready. More integrations coming soon.

Q: How fast is Nodon?

Bootstrapping takes seconds — forget about hours of manual setup.

Ready to Build?

Kickstart your next Node.js project today:

$npm create-nodon@latest my-app