TypeScript-промты, которые реально ускоряют full-stack: Next.js, Prisma и tRPC в одном наборе

Скорость веб-разработки на TypeScript всё чаще зависит не от того, сколько строк ты напишешь руками, а от того, насколько точно ты умеешь ставить задачу генеративному инструменту. За последние месяцы я собрал набор промтов, которые использую в ежедневной работе над full-stack проектами на Next.js. Они не заменяют инженерное мышление, но снимают рутину: типизацию API-слоя, миграции Prisma, тесты и ревью.

Ниже — проверенные формулировки с реальными примерами. Все примеры кода рабочие и опираются на официальную документацию: Next.js App Router, Prisma, tRPC, TypeScript Handbook. Если будешь адаптировать под свой стек — сохраняй структуру промта: роль, контекст, ограничения, формат вывода.

1. Генерация типизированного API-контракта

Промт: «Ты senior TypeScript-инженер. Сгенерируй tRPC-роутер для сущности User с процедурами list, byId, create. Используй Zod для валидации входных данных, Prisma Client для доступа к БД. Верни только код, без объяснений». Пример результата:

import { z } from 'zod';
import { router, publicProcedure } from '@/server/trpc';

export const userRouter = router({
  list: publicProcedure.query(({ ctx }) => ctx.prisma.user.findMany()),
  byId: publicProcedure
    .input(z.object({ id: z.string().cuid() }))
    .query(({ ctx, input }) => ctx.prisma.user.findUniqueOrThrow({ where: { id: input.id } })),
  create: publicProcedure
    .input(z.object({ email: z.string().email(), name: z.string().min(1) }))
    .mutation(({ ctx, input }) => ctx.prisma.user.create({ data: input })),
});

Такой промт экономит 20–30 минут на каждом новом ресурсе и сразу даёт end-to-end типизацию между клиентом и сервером.

2. Prisma-схема из текстового описания

Промт: «Опиши Prisma-схему для блога: User, Post, Comment, Tag. Связи: Post→User many-to-one, Comment→Post one-to-many, Post↔Tag many-to-many. Добавь createdAt/updatedAt, индексы по slug и автору». На выходе — готовая schema.prisma, которую остаётся только прогнать через npx prisma migrate dev. Проверяй сгенерированные связи глазами: модели ИИ путают @relation при self-reference.

3. Server Actions с обработкой ошибок

Промт: «Напиши Next.js Server Action для создания заказа. Валидация через Zod, возвращай discriminated union { ok: true; id: string } | { ok: false; error: string }. Не используй any». Это даёт предсказуемый результат на клиенте и совместимость с useFormState из документации Next.js.

4. Типизация ответов внешнего API

Промт: «По примеру JSON-ответа сгенерируй TypeScript-типы и Zod-схему. Используй z.infer для экспорта типов. Неизвестные поля помечай как unknown». Пример для ответа GitHub REST API из официальной документации:

const RepoSchema = z.object({
  id: z.number(),
  name: z.string(),
  private: z.boolean(),
  owner: z.object({ login: z.string() }),
});
export type Repo = z.infer<typeof RepoSchema>;

5. Ревью PR-диффа

Промт: «Ты ревьюер. Проверь дифф на: 1) нарушения типов, 2) утечки секретов, 3) N+1 в Prisma, 4) отсутствие обработки ошибок. Верни список замечаний в формате Markdown-таблицы: файл, строка, проблема, предложение». Такой промт хорошо работает поверх git diff main...feature — вставляешь вывод в чат и получаешь структурированное ревью.

6. Генерация unit-тестов на Vitest

Промт: «Сгенерируй тесты Vitest для функции calculateDiscount. Покрой граничные случаи: 0, отрицательные значения, скидка больше 100%. Используй describe/it и expect». Проверяемо: Vitest — актуальный раннер, документация на vitest.dev.

7. Миграция с JavaScript на TypeScript

Промт: «Переведи модуль на TypeScript. Включай strict: true, избегай any, для внешних данных используй unknown + narrowing. Сохрани публичный API модуля». Прогоняй результат через tsc --noEmit — это быстрый способ поймать регрессии.

8. Оптимизация React-компонента

Промт: «Проанализируй компонент на предмет лишних ререндеров. Предложи мемоизацию через useMemo/useCallback только там, где это оправдано, и объясни, почему». Важно не слепо применять советы: официальные рекомендации React (react.dev) прямо предупреждают, что мемоизация не бесплатна.

9. Генерация DTO и мапперов

Промт: «Сгенерируй DTO и маппер из Prisma-модели User в API-ответ без passwordHash. Используй Pick/Omit». Быстро и безопасно: не отдаёшь лишние поля наружу.

10. Скрипт миграции данных

Промт: «Напиши идемпотентный скрипт на TypeScript, который переносит поле fullName в firstName/lastName в таблице users. Используй Prisma, обрабатывай пачками по 500, логируй прогресс». Идемпотентность — обязательное требование, иначе повторный запуск испортит данные.

11. Проверка безопасности Server Actions

Промт: «Проверь Server Action на: CSRF-риски, отсутствие авторизации, mass assignment. Предложи исправления с примерами». Это дешёвая страховка перед мержем.

12. Документация API из кода

Промт: «Сгенерируй OpenAPI 3.1 спецификацию по tRPC-роутерам. Опиши входы/выходы и коды ошибок». Спецификация OpenAPI реальна и описана на spec.openapis.org.

13. Оптимизация запросов Prisma

Промт: «Найди N+1 в этом коде и перепиши через include/select. Покажи до/после». Такой промт хорошо ловит проблемы в циклах с запросами внутри.

14. Типизация форм с react-hook-form

Промт: «Сгенерируй форму регистрации на react-hook-form + Zod resolver. Типы — из Zod-схемы, ошибки — по полям». Проверено, работает с актуальной версией библиотек.

15. Генерация e2e-тестов Playwright

Промт: «Напиши Playwright-тест сценария логина: успех, неверный пароль, пустые поля. Используй data-testid». Стабильные селекторы — залог того, что тесты не будут «мигать».

16. Разбор ошибки TypeScript

Промт: «Объясни ошибку TS2322 в этом коде, предложи минимальное исправление без any». Экономит время на неочевидных кейсах с дженериками.

17. Генерация Dockerfile для Next.js

Промт: «Сгенерируй multi-stage Dockerfile для Next.js с standalone-выходом. Node 20, non-root пользователь». Next.js официально поддерживает output: 'standalone' — см. документацию.

18. Чек-лист код-ревью

Промт: «Составь чек-лист код-ревью для TypeScript-проекта на Next.js: типы, безопасность, производительность, тесты». Использую как шаблон в PR-описаниях.

Главный вывод: промт — это не магия, а формализованное ТЗ. Чем точнее ты описываешь ограничения (strict, Zod, отсутствие any), тем меньше правишь за моделью. Начни с трёх промтов из списка, которые закрывают твою самую рутинную задачу, и измерь, сколько времени они экономят за неделю. Если хочешь глубже — посмотри официальные руководства Next.js и Prisma и адаптируй формулировки под свой кодстайл: это даст стабильный результат без лишних итераций.

← Все статьи

Комментарии

Читайте также

Docker и Kubernetes без боли: 12 промтов, которые переводят DevOps с языка документации на человеческий

17 октября 2026

Промты, которые верстают, рефакторят и деплоят: как отдать веб-разработку ИИ, не потеряв контроль

17 октября 2026

Docker, Kubernetes и Terraform под диктовку: 12 промтов, с которых я начинаю любой инфраструктурный проект

17 октября 2026

Красная команда из одного человека: как я превратил LLM в пентестера, который ловит BOLA до продакшена

17 октября 2026

Arduino, ESP32 и IoT без паяльника: 15 промтов, с которыми прошивка, схема и телеметрия собираются за вечер

17 октября 2026

20 промтов для DevSecOps: ищем дыры в Docker-контейнерах и OWASP-топ-10 без команды Red Team

17 октября 2026

Даташит на 600 страниц за 15 минут: промты, с которыми Arduino, ESP32 и STM32 перестают быть чёрными ящиками

17 октября 2026

ChatGPT как DevOps-инженер: 12 промтов, которые убирают ночные дежурства

17 октября 2026

ChatGPT как второй пилот в Figma: 15 промтов для дизайн-системы, UX-текстов и handoff без дизайнера

17 октября 2026