| Плохо (дорого и неточно) | Хорошо (дёшево и точно) |
|---|---|
| «Сделай авторизацию» | «JWT-авторизация: /api/auth/login, middleware, библиотека jose» |
| «Исправь баг» | «В @cart.ts calculateTotal не учитывает скидку. Добавь discount перед return» |
| Сообщение на 3 экрана | 3–4 коротких итерации по одной задаче |
| «Объясни весь проект» + @Codebase | «Как работает auth?» + @middleware/auth.ts |
| Повторять контекст в каждом msg | Всё в первый промпт, дальше ссылаться |
Чётко назовите действие: добавь, исправь, перепиши, удали, перенеси.
Указывайте файлы через @:
@src/app/auth/login/page.tsx
@src/lib/auth.ts
Используй zod для валидации. Паттерн: Server Action + useActionState.
Не изменяй существующие тесты. Используй только shadcn/ui компоненты.
Верни только изменённый код, без объяснений.
Добавь пагинацию в @src/app/blog/page.tsx.
- 10 постов на страницу
- Используй searchParams для номера страницы
- Компонент пагинации из shadcn/ui
- Серверный запрос к Supabase с .range()
В @src/lib/openrouter.ts функция createKey возвращает
undefined при ошибке сети вместо throw.
Оберни fetch в try/catch, пробрось ошибку с понятным сообщением.
Вынеси логику валидации из @src/app/admin/blog/actions.ts
в отдельный файл @src/lib/validators/blog.ts.
Используй zod. Экспортируй схемы и функцию validate.
Чем точнее промпт, тем дешевле и качественнее результат. Потратьте 30 секунд на формулировку — сэкономите минуты на итерациях.