# vtex-io-app-settings

Скилл помогает описать настройки VTEX IO приложения через settingsSchema и безопасно читать их в коде. Пригодится, когда мерчант должен менять поведение приложения сам.

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

## Что делает

Скилл подсказывает агенту, куда класть конфигурацию VTEX IO приложения. Значения, общие для приложения или аккаунта, идут в `settingsSchema` и правятся в VTEX Admin. Всё, что меняется от страницы или блока, относится к `store/contentSchemas.json`. Схема должна быть настоящей: со `properties`, `required`, `default`, `enum` и `format`, а не голым `type: object`.

На бэкенде настройки читаются через `ctx.clients.apps.getAppSettings` с идентификатором самого приложения, а нормализацию и значения по умолчанию лучше держать в одном хелпере. Секреты вроде API-ключей остаются на сервере, в ответы и логи не попадают. Подсказка `format: password` помогает некоторым потребителям маскировать поле, но защитой её скилл не считает. Фронтенд видит только поля с `access: public` через `publicSettingsForApp`.

Если чтение собственных настроек даёт 403, добавлять `read-workspace-apps` в манифест неверно. Для конфигурации, общей для нескольких приложений, скилл предлагает отдельное приложение на builder `configuration`. Про `service.json`, сущности Master Data и авторизацию маршрутов он не говорит.

## Установка

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

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

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

### Codex

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

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

### Cursor

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

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

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install vtex/skills vtex-io-app-settings
```

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

### Gemini CLI

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

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

### Windsurf (Devin Desktop)

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

### OpenCode

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

### Claude.ai

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

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

## Когда брать
- описать схему настроек с `required`, `default` и `enum`
- спрятать API-ключ внешнего сервиса от фронтенда
- решить, что идёт в `settingsSchema`, а что в `contentSchemas.json`
- открыть фронтенду безопасные поля через `publicSettingsForApp`
- собрать чтение настроек в один хелпер с запасными значениями

## Примеры запросов агенту
- Опиши `settingsSchema` для моего VTEX IO приложения: переключатель модерации, режим sandbox/production и API-ключ
- Проверь, не отдаёт ли какой-нибудь маршрут настройки приложения вместе с ключом
- Это значение лучше положить в `settingsSchema` или в `contentSchemas.json`?

## Похожие
- [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
