# vtex-io-service-runtime

Помогает собрать рантайм бэкенд-приложения VTEX IO: точку входа Service, типизированный контекст и настройки service.json.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 1100 установок · ★ 46
- Автор: vtex
- Лицензия: не указана · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/vtex/skills/tree/HEAD/skills/vtex-io-service-runtime/SKILL.md
- Обновлён: 2026-10-14
- HTML: https://affpapa.org/nevibecode/skills/vtex-io-service-runtime

## Что делает

Скилл включается, когда основная задача — как приложение работает внутри билдера `node`: структура точки входа `Service`, регистрация роутов, событий и GraphQL-обработчиков, объявление параметров исполнения. `node/index.ts` здесь считается корнем сборки рантайма, а не местом для бизнес-логики. Если в этом файле появляются вызовы внешних API, ветвления и преобразование данных, скилл советует вынести их в отдельные модули.

Настройки исполнения — `timeout`, `memory`, `workers`, `minReplicas`, `maxReplicas`, `ttl`, `rateLimitPerReplica` — живут в `service.json`, а не в коде обработчиков. Роуты по умолчанию приватные, поэтому для внешне доступных нужно явно ставить `public: true`. `smartcache: true` скилл разрешает только на идемпотентных роутах: на персонализированных, авторизованных и пишущих эндпоинтах кэш вернёт чужой ответ. `ttl` измеряется в минутах и не заменяет `timeout`.

Типы `Context`, `State` и параметров задаются так, чтобы ими пользовались и middleware, и обработчики — без сползания в `any`. Авторизационные поля вроде `routes.access` и `routes.policies` остаются за пределами этого скилла. Схему GraphQL и резолверы он тоже не проектирует, только регистрирует обработчики на уровне рантайма.

## Установка

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

1. **Через Skills CLI (Vercel)**
```bash
npx skills add vtex/skills --skill vtex-io-service-runtime -a claude-code
```

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

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add vtex/skills --skill vtex-io-service-runtime -a codex
```

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

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add vtex/skills --skill vtex-io-service-runtime -a cursor
```

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

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install vtex/skills vtex-io-service-runtime
```

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

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add vtex/skills --skill vtex-io-service-runtime -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/vtex/skills --path skills/vtex-io-service-runtime
```

### Windsurf (Devin Desktop)

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

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add vtex/skills --skill vtex-io-service-runtime -a opencode
```

### Claude.ai

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

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/vtex/skills/tree/HEAD/skills/vtex-io-service-runtime/SKILL.md

## Когда брать
- собрать точку входа `node/index.ts` как корень рантайма
- описать типизированные `Context`, `State` и параметры для обработчиков
- вынести таймауты, память и реплики в `service.json`
- открыть наружу нужный роут через `public: true`
- развести регистрацию роутов, событий и GraphQL по слоям

## Примеры запросов агенту
- Собери рантайм нового бэкенд-приложения VTEX IO в `node/index.ts`
- Разложи `timeout`, `memory` и `minReplicas` по `service.json` для этого сервиса
- Проверь, можно ли ставить `smartcache: true` на этот роут

## Похожие
- [mcp-builder](https://affpapa.org/nevibecode/skills/mcp-builder.md) — скилл · 130949 установок
- [claude-api](https://affpapa.org/nevibecode/skills/claude-api.md) — скилл · 74198 установок
- [lark-im](https://affpapa.org/nevibecode/skills/lark-im.md) — скилл · 472900 установок
- [lark-event](https://affpapa.org/nevibecode/skills/lark-event.md) — скилл · 466800 установок
- [caveman-discover](https://affpapa.org/nevibecode/skills/caveman-discover.md) — скилл · 104400 установок
- [migration](https://affpapa.org/nevibecode/skills/migration.md) — скилл · 103900 установок

Из того же набора: [vtex/skills](https://affpapa.org/nevibecode/by/vtex/skills.md) — 38 карточек

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