# aws-appsync

Задаёт правила разработки обработчиков AWS AppSync Event API на рантайме APPSYNC_JS. Помогает писать код с учётом строгих ограничений среды без промисов и стандартных блоков ошибок.

- правило · `type=rule` · GitHub Copilot · ★ 40418
- Автор: github · официальный репозиторий GitHub
- Лицензия: MIT · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/github/awesome-copilot/tree/HEAD/instructions/aws-appsync.instructions.md
- Обновлён: 2026-10-23
- HTML: https://affpapa.org/nevibecode/rules/aws-appsync

## Что делает

Правило настраивает GitHub Copilot на работу со средой `APPSYNC_JS` для обработчиков `onPublish` и `onSubscribe`. Рантайм AppSync урезан по сравнению с Node.js: здесь запрещены `async/await`, промисы, `try/catch`, `throw`, циклы `while` и рекурсия. Ассистент генерирует код с учётом этих рамок, выбирая циклы `for-of` и встроенные методы `util.error`.

В инструкции детально описана передача данных между шагами пайплайна: промежуточный результат передаётся через `ctx.prev.result`, а `ctx.stash` резервируется только под небольшие метаданные. Для баз данных Copilot учится импортировать модули `@aws-appsync/utils/dynamodb` и `@aws-appsync/utils/rds`. Код с прямым вызовом сетевых библиотек или несанкционированным `throw` просто сломает выполнение резолвера в облаке.

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

## Установка

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

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

### Claude Code

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

### Codex

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

### Cursor

**Вручную: положить файлы**
- Файл: `.cursor/rules/aws-appsync.mdc` — Во frontmatter: description, globs, alwaysApply. applyTo из источника → globs, иначе правило само не подключится

### Windsurf (Devin Desktop)

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

### Cline

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

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/github/awesome-copilot/tree/HEAD/instructions/aws-appsync.instructions.md

## Когда брать
- писать обработчики onPublish и onSubscribe без запрещённых синтаксических конструкций JavaScript
- настроить безопасную передачу данных между шагами через ctx.prev.result вместо перегрузки ctx.stash
- генерировать запросы к DynamoDB через хелперы @aws-appsync/utils/dynamodb
- формировать вызовы Lambda-функций с операцией Invoke для AppSync Event API

## Примеры запросов агенту
- Напиши обработчик onPublish для валидации входящих событий через APPSYNC_JS.
- Сделай функцию пайплайна с запросом batchPut в DynamoDB через утилиты AppSync.
- Добавь проверку прав в onSubscribe с ранним возвратом через runtime.earlyReturn.

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

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

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