# setting-up-terraform

Помогает агенту развернуть каркас Terraform для облака: провайдер, переменные, ресурсы, remote state и CI. Пригодится, когда проект только заходит в IaC.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 355 установок · ★ 866
- Автор: spencerpauly
- Лицензия: CC0-1.0 · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/spencerpauly/awesome-cursor-skills/tree/HEAD/resources/setting-up-terraform/SKILL.md
- Обновлён: 2026-08-02
- HTML: https://affpapa.org/nevibecode/skills/setting-up-terraform

## Что делает

Скилл включается, когда вы просите настроить Terraform или инфраструктуру как код. Агент раскладывает каталог `infra/` с `main.tf`, `variables.tf`, `outputs.tf`, `providers.tf` и папкой `modules/`, а `terraform.tfvars` держит вне git.

Дальше он прописывает `providers.tf` с `required_version` не ниже `1.5`, провайдером `hashicorp/aws ~> 5.0` и S3-бэкендом для состояния. Облако подставляется по вашему запросу. Переменные получают тип, описание и умолчания, ресурсы (VPC, RDS, S3, Lambda) идут в `main.tf`, повторяемые куски выносятся в модули. Блок состояния настраивается на S3 с блокировкой через DynamoDB, в `.gitignore` попадают `*.tfstate` и `*.tfvars`.

В конце агент готовит workflow GitHub Actions: `terraform fmt -check`, `terraform validate` и `terraform plan` на пулл-реквестах, `apply` после слияния в main с шагом подтверждения. Версии провайдеров он фиксирует, потому что мажорные обновления ломают конфиги. Состояние в git не кладёт никогда: там секреты и адреса ресурсов.

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

## Установка

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

1. **Через Skills CLI (Vercel)**
```bash
npx skills add spencerpauly/awesome-cursor-skills --skill setting-up-terraform -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/setting-up-terraform/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/setting-up-terraform/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add spencerpauly/awesome-cursor-skills --skill setting-up-terraform -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/setting-up-terraform/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add spencerpauly/awesome-cursor-skills --skill setting-up-terraform -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/setting-up-terraform/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install spencerpauly/awesome-cursor-skills setting-up-terraform
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/setting-up-terraform/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add spencerpauly/awesome-cursor-skills --skill setting-up-terraform -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/spencerpauly/awesome-cursor-skills --path resources/setting-up-terraform
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/setting-up-terraform/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add spencerpauly/awesome-cursor-skills --skill setting-up-terraform -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/spencerpauly/awesome-cursor-skills/tree/HEAD/resources/setting-up-terraform/SKILL.md

## Когда брать
- разложить каталог `infra/` с файлами Terraform по местам
- прописать провайдера и версию без сюрпризов при обновлении
- вынести состояние в S3 и включить блокировку через DynamoDB
- закрыть `.tfstate` и `.tfvars` от попадания в репозиторий
- добавить проверку плана на пулл-реквестах в GitHub Actions

## Примеры запросов агенту
- Настрой Terraform для AWS: S3-бэкенд, переменные и модули в `infra/`
- Сделай CI-пайплайн с `terraform plan` на PR и `apply` после мержа
- Разнеси окружения dev/staging/prod по отдельным state-файлам

## Похожие
- [wizard](https://affpapa.org/nevibecode/skills/wizard.md) — скилл · 553369 установок
- [hyperframes-cli](https://affpapa.org/nevibecode/skills/heygen-com-hyperframes-cli.md) — скилл · 1300000 установок
- [setup-pre-commit](https://affpapa.org/nevibecode/skills/setup-pre-commit.md) — скилл · 489289 установок
- [using-git-worktrees](https://affpapa.org/nevibecode/skills/using-git-worktrees.md) — скилл · 217153 установки
- [finishing-a-development-branch](https://affpapa.org/nevibecode/skills/finishing-a-development-branch.md) — скилл · 214439 установок
- [orca-cli](https://affpapa.org/nevibecode/skills/orca-cli.md) — скилл · 353600 установок

Из того же набора: [spencerpauly/awesome-cursor-skills](https://affpapa.org/nevibecode/by/spencerpauly/awesome-cursor-skills.md) — 64 карточки

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

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