# cpp-programming-guidelines-cursorrules-prompt-file

Набор стандартов C++ для ИИ в Cursor. Задаёт лимиты на размер функций и классов, правила именования, RAII и структуру каталогов с CMake.

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

## Что делает

Правило настраивает генерацию кода на C++ под строгие гайдлайны. Для функций задан предел до 20 инструкций, а для классов — до 200 инструкций, 10 публичных методов и 10 свойств. ИИ обязуется избегать сырых указателей в пользу `std::unique_ptr` и `std::shared_ptr`, применять RAII и возвращать `std::optional` или `std::expected` при ожидаемых ошибках вместо исключений.

В правиле прописана структура проекта: разделение на каталоги `include/`, `src/`, `test/`, `lib/` и `doc/`, сборка через CMake и разбивка логики по пространствам имён `core` и `utils`. Для именования используется PascalCase в классах, camelCase в методах и snake_case для названий файлов.

Правило запрещает пустые строки внутри тел функций, поэтому сгенерированный код получается плотным.

## Установка

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

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

### Claude Code

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

### Codex

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

### GitHub Copilot

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

### Windsurf (Devin Desktop)

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

### Cline

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

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

## Когда брать
- ограничить размер методов двадцатью инструкциями
- заставить агента использовать умные указатели вместо сырых
- выстроить структуру проекта с папками src/, include/ и test/
- стандартизировать тесты по шаблону Arrange-Act-Assert

## Примеры запросов агенту
- Спроектируй класс сетевого клиента по правилу, используя умные указатели и методы короче 20 строк.
- Напиши юнит-тест для парсера конфигурации по схеме Arrange-Act-Assert.
- Разбей этот модуль на заголовочный файл в include/ и реализацию в src/.

## Похожие
- [winui3](https://affpapa.org/nevibecode/rules/winui3.md) — правило · ★ 40451
- [vue](https://affpapa.org/nevibecode/rules/vue.md) — правило · ★ 40451
- [vsixtoolkit](https://affpapa.org/nevibecode/rules/vsixtoolkit.md) — правило · ★ 40451
- [tanstack-start-shadcn-tailwind](https://affpapa.org/nevibecode/rules/tanstack-start-shadcn-tailwind.md) — правило · ★ 40451
- [swift-mcp-server](https://affpapa.org/nevibecode/rules/swift-mcp-server.md) — правило · ★ 40451
- [svelte](https://affpapa.org/nevibecode/rules/svelte.md) — правило · ★ 40451

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

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

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