# Introduction

[NodeBootstrap](http://www.nodebootstrap.io) is a project skeleton generator tool, which allows you to start a new Node project with a lot of essential batteries included. Some of the features out of the box include:

1. Comfortable dockerized setup, with code hot-reloading out of the box.
2. Well-structured Express.js installation for writing modularized, clean code
3. Advanced setup for automated tests
4. Database Migrations
5. Input validation and error-handling
6. Multi-core support for high-performance node computing

## Installation

Installing NodeBootstrap is very easy. It is distributed as an NPM package so you need Node installed on your machine (we recommend using [nvm](https://github.com/creationix/nvm)). Once you have Node in place, installing Nodebootstrap is as easy as running;

```
npm install -g nodebootstrap
```

Once you have nodebootstrap in place, you can bootstrap several types of code (Dockerized microservice, just a plain-old express webapp or non-dockerized API). The default mode is a Dockerized microservice (which we highly recommend). To install it, you are going to need a working Docker setup on your machine. It is easy to get Docker installed on your computer. Installers for major systems are available at: <https://www.docker.com/community-edition>

Once you have Docker in place, you can bootstrap a new Dockerized microservice by running:

```
nodebootstrap first-microservice
```

and following instructions of the installer.

To see all of the options of nodebootstrap (including: how to change destination folder), please run:

```
nodebootstrap -h
```

Once the installation completes, you will have a functional version of the new project. Installer will output instructions about where to access the project and how to finish building it.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.nodebootstrap.com/master.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
