# solidity-hardhat-cursorrules-prompt-file

Правило для Cursor, которое настраивает ИИ-ассистента на разработку смарт-контрактов на Solidity с проверками безопасности и работой через Hardhat.

- правило · `type=rule` · Cursor · ★ 41011
- Автор: PatrickJS
- Лицензия: CC0-1.0 · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/PatrickJS/awesome-cursorrules/tree/HEAD/rules/solidity-hardhat-cursorrules-prompt-file.mdc
- Обновлён: 2026-05-30
- HTML: https://affpapa.org/nevibecode/rules/solidity-hardhat-cursorrules-prompt-file

## Что делает

Файл задаёт ассистенту роль эксперта по Solidity и безопасности контрактов. Внутри — набор требований к коду: явные модификаторы видимости функций, NatSpec-комментарии, паттерн Checks-Effects-Interactions против реентрантности, пользовательские ошибки вместо строк в `revert`, неизменяемые переменные для значений, заданных при деплое. Отдельный блок посвящён библиотекам OpenZeppelin: `AccessControl` для прав, `SafeERC20` для токенов, `ReentrancyGuard`, `Pausable`, `TimelockController`, `ERC20Votes` и `ERC20Permit`.

Есть разделы про тестирование, оптимизацию газа и рабочий процесс. Ассистент должен опираться на средства отладки Hardhat, статический анализ через Slither и Mythril, покрытие тестами критичных путей. Про стиль общения сказано прямо: коротко, без воды, сначала ответ, объяснения потом, код показывать минимальным контекстом вокруг правок.

Правило не привязано к конкретной версии Solidity — в тексте фигурирует 0.8.0+ ради встроенной защиты от переполнений. Для случайности предлагается Chainlink VRF, для финансовых расчётов — fixed-point библиотеки. Учтите: это набор инструкций для модели, а не линтер. Он не поймает ошибку сам, если ассистент её не заметит, поэтому статический анализ и аудит всё равно остаются на вас.

## Установка

### Cursor (родная платформа)

**Вручную: положить файлы**
- Файл: `.cursor/rules/solidity-hardhat-cursorrules-prompt-file.mdc` — Во frontmatter: description, globs, alwaysApply

### Claude Code

**Вручную: положить файлы**
- Файл: `.claude/rules/solidity-hardhat-cursorrules-prompt-file.md` — Поле paths во frontmatter ограничивает файлы: globs из источника → paths

### Codex

**AGENTS.md**
- Codex читает AGENTS.md: вставьте текст правила туда

### GitHub Copilot

**Вручную: положить файлы**
- Файл: `.github/instructions/solidity-hardhat-cursorrules-prompt-file.instructions.md` — Поле applyTo задаёт, к каким файлам применять: globs из источника → applyTo

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/rules/solidity-hardhat-cursorrules-prompt-file.md`

### Cline

**Вручную: положить файлы**
- Файл: `.clinerules/solidity-hardhat-cursorrules-prompt-file.md`

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/PatrickJS/awesome-cursorrules/tree/HEAD/rules/solidity-hardhat-cursorrules-prompt-file.mdc

## Когда брать
- писать контракты с защитой от реентрантности по паттерну Checks-Effects-Interactions
- подключать OpenZeppelin для прав доступа, пауз и таймлоков
- сокращать расход газа на хранение и выполнение
- настраивать тесты и статический анализ в пайплайне деплоя
- добавлять NatSpec и события для изменений состояния

## Примеры запросов агенту
- напиши контракт ERC20 с AccessControl и Pausable, добавь NatSpec ко всем внешним функциям
- проверь этот контракт на реентрантность и предложи правки по паттерну Checks-Effects-Interactions
- оптимизируй газ в этой функции, покажи минимальный контекст изменений

## Похожие
- [ethereum](https://affpapa.org/nevibecode/skills/ethereum.md) — скилл · 737 установок
- [upgrade-solidity-contracts](https://affpapa.org/nevibecode/skills/upgrade-solidity-contracts.md) — скилл · 472 установки
- [solidity-security](https://affpapa.org/nevibecode/skills/solidity-security.md) — скилл · 15382 установки
- [solidity](https://affpapa.org/nevibecode/skills/solidity.md) — скилл · 721 установка
- [hardhat](https://affpapa.org/nevibecode/rules/hardhat.md) — правило · ★ 3579
- [develop-secure-contracts](https://affpapa.org/nevibecode/skills/develop-secure-contracts.md) — скилл · 545 установок

Из того же набора: [patrickjs/awesome-cursorrules](https://affpapa.org/nevibecode/by/patrickjs/awesome-cursorrules.md) — 68 карточек

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
