# gcp

Правило для Cursor задаёт, как писать, разворачивать и сопровождать приложения на Google Cloud: IaC, идемпотентность, права сервисных аккаунтов.

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

## Что делает

Файл `gcp.mdc` подключается к Cursor и действует на все файлы проекта — в нём прописан glob `**/*`. Внутри набор требований к коду и инфраструктуре: следовать официальным стайлгайдам Google для выбранного языка, описывать ресурсы через Terraform, а не собирать их руками в консоли или командами `gcloud`. Отдельно разобраны типовые ошибки с примерами «плохо» и «хорошо». Среди них неидемпотентные функции, HTTP-обработчики Cloud Functions без ответа, ключи сервисных аккаунтов прямо в коде.

Есть блок про производительность. Для Cloud Run и Cloud Functions правило советует выносить тяжёлую инициализацию в глобальную область, чтобы она выполнялась один раз на холодный старт, а не на каждый запрос. Если сервис в Cloud Run доделывает что-то после ответа клиенту, нужна оплата по инстансам, иначе доступ к CPU будет урезан. Для Firestore — автоматические ID или UUID вместо последовательных, иначе записи упираются в hotspotting, и выборочное индексирование только тех полей, по которым идут запросы.

В разделе про подводные камни — временные файлы в `/tmp`: они занимают память и переживают вызовы, поэтому их надо удалять сразу. Пагинация через `offset` в Firestore читает пропущенные документы и тарифицирует эти чтения. Текст правила обрезан, так что часть материала за пределами перечисленного не показана. Ставить стоит, если проект живёт на GCP и вы хотите, чтобы агент не предлагал ручную настройку консоли.

## Требования
- Работает с: Terraform

## Установка

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

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

### Claude Code

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

### Codex

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

### GitHub Copilot

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

### Windsurf (Devin Desktop)

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

### Cline

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

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

## Когда брать
- описать инфраструктуру GCP в Terraform вместо ручной настройки консоли
- сделать функцию идемпотентной, чтобы повторы не портили данные
- выдать сервисному аккаунту минимальные права и убрать ключи из кода
- ускорить холодный старт Cloud Run и Cloud Functions
- выбрать ID документов Firestore без hotspotting

## Примеры запросов агенту
- Проверь мой `main.tf` на соответствие правилам gcp
- Перепиши эту функцию так, чтобы она была идемпотентной
- Почему мои записи в Firestore тормозят? Посмотри правило gcp

## Похожие
- [gcp-development](https://affpapa.org/nevibecode/skills/gcp-development.md) — скилл · 937 установок
- [gcp-cloud-functions](https://affpapa.org/nevibecode/skills/gcp-cloud-functions.md) — скилл · 319 установок
- [gcp-to-aws](https://affpapa.org/nevibecode/skills/gcp-to-aws.md) — скилл · 647 установок
- [terraform-gcp](https://affpapa.org/nevibecode/skills/terraform-gcp.md) — скилл · 389 установок
- [google-cloud-solution-n-tier-serverless-web-app](https://affpapa.org/nevibecode/skills/google-cloud-solution-n-tier-serverless-web-app.md) — скилл · 5000 установок
- [cloud-run-alert-configuration](https://affpapa.org/nevibecode/skills/cloud-run-alert-configuration.md) — скилл · 2300 установок

Из того же набора: [sanjeed5/awesome-cursor-rules-mdc](https://affpapa.org/nevibecode/by/sanjeed5/awesome-cursor-rules-mdc.md) — 69 карточек

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

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