# NestJS CLI से सेटअप — NestJS: Scalable Node.js APIs बनाना

Source: https://www.skillbyai.com/hi/nestjs/nestjs-setup-cli

> Nest CLI से NestJS project scaffold करें और main.ts, root module तथा sample controller व service देखें।

## प्रोजेक्ट बनाएँ

`@nestjs/cli` पैकेज सब कुछ generate करता है—package.json, tsconfig, और starter फ़ाइलें।

```bash
npm install -g @nestjs/cli
nest new my-app
cd my-app
npm run start:dev
```

## Generated फ़ाइलें

आपको `src/` फ़ोल्डर मिलता है `main.ts` (bootstrap), `app.module.ts` (root module), और `app.controller.ts` + `app.service.ts` (controller/service pair)।

## पूरा CRUD resource generate करें

`nest g resource users` एक बार में module, controller, service, DTOs और entity बना देता है।

- `g` का मतलब `generate` है।
- `--no-spec` test files नहीं बनाता।
- CLI `UsersModule` को `AppModule` में खुद register भी कर देता है।

```bash
nest g resource users --no-spec
```

## पहले --dry-run चलाएँ

किसी भी `nest g` command में `--dry-run` जोड़ें, तो पता चल जाता है कि कौन सी files बनेंगी या बदलेंगी। disk पर कुछ नहीं लिखा जाता, इसलिए प्रयोग करना सुरक्षित है।

त्वरित जाँच

**Quiz:** `nest g resource users` वह क्या करता है जो `nest g controller users` नहीं करता?

- [ ] यह सिर्फ़ service file बनाता है
- [x] यह module, controller, service और DTOs एक साथ बनाता है
- [ ] यह server को watch mode में चलाता है

*Answer:* यह module, controller, service और DTOs एक साथ बनाता है. `resource` पूरा feature slice बनाता है, जबकि `controller` सिर्फ़ controller बनाता है।
