# Node.js ## Признаки платформы - `package.json` (без react/react-native) - `tsconfig.json` - `node_modules/` - `*.js`, `*.ts`, `*.mjs`, `*.cjs` entry файлов ## Признаки многомодульного проекта - `pnpm-workspace.yaml`, `lerna.json` - `nx.json`, `turbo.json` - Несколько `package.json` в подкаталогах - `packages/`, `apps/` каталоги ## Источники перед созданием навыка - `package.json` (зависимости и команды) - `tsconfig.json` (пути и параметры компилятора) - `.env.example` (переменные окружения) - `docker-compose.yml` (сервисы) ## Что искать в кодовой базе ### Корневые каталоги исходников - `src/`, `lib/`, `app/` ### Типовые слои и каталоги: зафиксируй найденные `controllers/`, `services/`, `models/`, `routes/`, `middleware/`, `utils/`, `config/`, `types/`, `repositories/` ### Признаки шаблонов | Шаблон | Критерии обнаружения | Имя навыка | |---------|-------------------|------------| | Express Route | `app.get(`, `app.post(`, `Router()` | express-route | | Express Middleware | `(req, res, next)`, `app.use(` | express-middleware | | NestJS Controller | `@Controller`, `@Get`, `@Post` | nestjs-controller | | NestJS Service | `@Injectable`, `@Service` | nestjs-service | | NestJS Module | `@Module`, `imports:`, `providers:` | nestjs-module | | Fastify Route | `fastify.get(`, `fastify.post(` | fastify-route | | GraphQL Resolver | `@Resolver`, `@Query`, `@Mutation` | graphql-resolver | | TypeORM Entity | `@Entity`, `@Column`, `@PrimaryGeneratedColumn` | typeorm-entity | | Prisma Model | `prisma.*.create`, `prisma.*.findMany` | prisma-usage | | Mongoose Model | `mongoose.Schema`, `mongoose.model(` | mongoose-model | | Sequelize Model | `Model.init`, `DataTypes` | sequelize-model | | Queue Worker | `Bull`, `BullMQ`, `process(` | queue-worker | | Cron Job | `@Cron`, `node-cron`, `cron.schedule` | cron-job | | WebSocket | `ws`, `socket.io`, `io.on(` | websocket-handler | | Unit Test | `describe(`, `it(`, `expect(`, `jest` | jest-test | | E2E Test | `supertest`, `request(app)` | e2e-test | ## Обязательные разделы результата Добавь, если найдено: - **Маршруты/контроллеры**: конечные точки API - **Сервисный слой**: бизнес-логика - **База данных**: использование ORM/ODM (TypeORM, Prisma, Mongoose) - **Промежуточные обработчики**: аутентификация, валидация и обработка ошибок - **Фоновые задания**: очереди и задания cron - **Обработчики WebSocket**: возможности реального времени ## Откуда брать команды - `package.json` раздел команд - README и документация - Сценарии CI - Обычные команды: `npm run dev`, `npm run build`, `npm test` - Добавляй только команды, которые есть в репозитории ## Основные пути - `src/`, `lib/` - `src/routes/`, `src/controllers/` - `src/services/`, `src/models/` - `prisma/`, `migrations/`