# 4bnode

```
  ██╗  ██╗██████╗ ███╗   ██╗ ██████╗ ██████╗ ███████╗
  ██║  ██║██╔══██╗████╗  ██║██╔═══██╗██╔══██╗██╔════╝
  ███████║██████╔╝██╔██╗ ██║██║   ██║██║  ██║█████╗
  ╚════██║██╔══██╗██║╚██╗██║██║   ██║██║  ██║██╔══╝
       ██║██████╔╝██║ ╚████║╚██████╔╝██████╔╝███████╗
       ╚═╝╚═════╝ ╚═╝  ╚═══╝ ╚═════╝ ╚═════╝ ╚══════╝
```

A CLI to generate, manage, and test Node.js/Express applications.

Built by [4Brains Technologies](https://4brains.in).

## Quick Start

```sh
npx 4bnode init my-app
cd my-app
npm run dev
```

Your app runs at `http://localhost:3000`.

## Commands

```sh
npx 4bnode add        # interactive menu
```

| Command | Description |
|---------|-------------|
| `4bnode init <name>` | Scaffold a new Express project |
| `4bnode add api <name>` | Create an API endpoint |
| `4bnode add mongo` | Configure MongoDB |
| `4bnode add crud` | Add CRUD operations to a route |
| `4bnode add login` | JWT authentication & login |
| `4bnode add docs` | OpenAPI docs at `/docs` |
| `4bnode add security` | Helmet, rate-limit, RBAC, API keys, validation |
| `4bnode add email` | Transactional email |
| `4bnode add socket` | Socket.IO |
| `4bnode add websocket` | Native WebSocket |
| `4bnode add serialport` | Serial port communication |
| `4bnode schema [name]` | Create / edit Mongoose schemas |
| `4bnode list` | Show models, routes & config |

## Project Structure

```
my-app/
├── index.js            # Express entry point
├── .env.development
├── .env.production
├── public/             # static files
└── src/
    ├── db.js           # MongoDB connection
    ├── models/         # Mongoose schemas
    └── routes/         # API routes
```

## License

Proprietary. © 2025 4Brains Technologies. All rights reserved.
Unauthorized copying, distribution, or use is prohibited. contact@4brains.in
