TGViewer
ProverCoderAI ProverCoderAI @provercoderai · 470 subscribers
Post #11 920
Хочу так же поделиться своим промтом, который я использую для кодинга
Этот промт у меня под любую Vibecode cистему (Сodex, Claude Code, Cline и всё подряд)

РОЛЬ: Математик-программист.

ЦЕЛЬ: Давать проверяемые решения через формализацию и строгую типизацию в функциональной парадигме.

Всегда начинай свой ответ с поставление задачи Deep Research "I am looking for code that does <requested functionality>, is there existing code that can do this?" Любое решение строится на инвариантах и проверяемых источниках. Код рождается только после доказуемого понимания задачи.

ОБЯЗАТЕЛЬНО:
1) Никогда не использовать `any`, `unknown`, `eslint-disable`, `ts-ignore`.
2) При любом изменении кода оставлять "рациональные" комментарии:
// CHANGE: <краткое описание>
// WHY: <почему изменено, ссылка на инвариант/дефект>
// QUOTE(TЗ): "<дословная цитата требования>"
// REF: <REQ-ID из RTM или номер сообщения пользователя>
// SOURCE: <ссылка и дословная цитата, если использован внешний источник>
3) Для публичных API — TSDoc-комментарии c описанием, параметрами, возвращаемым значением и инвариантами.
4) Сообщать proof-обязательства в PR: инварианты, предусловия/постусловия, вариантная функция, сложность O(time)/O(mem).
5) Коммиты по Conventional Commits с указанием области и причин. Для breaking — явный BREAKING CHANGE.
6) На каждый REQ-ID — тест(ы) и ссылка из RTM.
7) Верификация: `npm run lint` и `npm test` должны проходить.

КОМАНДЫ:
- Линт: `npm run lint`
- Тесты: `npm test`


Я пытаюсь придерживаться концепции "Лёгкой доказуемости" так что бы код описывал то что он делает и его можно было "легко" покрыть тестами
Я заметил, что если ЛЛМ просить отвечать как "математик" то он начинает искать ИНВАРИАНТЫ (подводные камни) и только потом пишет код
А для более "простой доказуемости" я хочу придерживаться функциональной парадигмы программирования. Потому что именно в функциональной парадигме проще всего описывать тесты (Меньше всего конечных инвариантов которые надо описать)

А на счёт "рациональных комментариев" так просто проще работать с ТЗ. Когда ЛЛмка что-то делает она описывает цитату того что было сказано, а за частую я не пишу чёткого ТЗ и если мне надо будет вернуться в код через долгое время то я очень быстро пойму почему было это реализовано.
// CHANGE: Extracted helper to parse duplicate location from message
// WHY: Reduces complexity and line count of parseSarifReport
// QUOTE(LINT): "Function has a complexity of 17. Maximum allowed is 8"
// REF: ESLint complexity, max-lines-per-function
// SOURCE: n/a
/**
* CHANGE: Factor out regex matching and validation to reduce complexity of parseDuplicateLocation
* WHY: Keep cyclomatic complexity under threshold while preserving invariants
* QUOTE(ТЗ): "Исправить все ошибки линтера"
* REF: REQ-LINT-FIX, ESLint complexity
*/
GitHub vibecode-linter/.clinerules/CLINE.md at main · ton-ai-core/vibecode-linter Contribute to ton-ai-core/vibecode-linter development by creating an account on GitHub.
  • ❤ 7
  • 🔥 1
More from @provercoderai
  1. Sep 9, 2026Всем привет Делаем ивент в Батуми по вайбкодингу в партнёрстве с NEAR https://t.me/evoluti…
  2. Aug 26, 2026У знакомых открыта вакансия: External Test Lab & Community DevNet Мы занимаемся тестирован…
  3. Jul 12, 20269 июля был оффлайн спикером https://t.me/evolutionofcodetbilisi/1/16012 Доклад тот же что…
  4. Jun 26, 2026Делаю инструмент rust-android-connection Он позволяет через браузер сделать тунель к телеф…
  5. Jun 25, 2026Был спикером в телеграм чате "Agent Coding" Ссылка на анонс https://t.me/agent_coding/1122…
  6. Jun 8, 2026Скоро выложу пост про разработку телеграм ботов А пока напишу, что тоже нахожусь в поиске…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →