# vtex-io-rootpath

Скилл для VTEX IO-приложений в мультибиблиотечных магазинах: подсказывает, как строить URL с учётом префикса привязки. Пригодится при отладке 404 и битых ссылок.

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

## Что делает

Скилл описывает работу с `rootPath` в магазинах VTEX IO, где несколько привязок делят один домен через префиксы пути (`store.com/us/`, `store.com/br/`). Он покрывает извлечение `rootPath` из заголовка `x-vtex-root-path`, хук `useRuntime().rootPath` в React, построение URL в бэкенде, генерацию ссылок и пути к ассетам.

Внутри — правила решений и жёсткие ограничения. Для бэкенда на Node нужен ранний middleware (обычно `prepare`), который читает заголовок, нормализует значение и кладёт его в `ctx.state.rootPath`; он же выставляет `Vary: x-vtex-root-path`, чтобы CDN кэшировал ответы по привязке. Для React — хук из `vtex.render-runtime`. Отдельное требование: санитизировать `rootPath`, потому что при значении `"/"` конкатенация даёт двойной слэш (`//product/shoes`), а это ломает канонические URL и приводит к циклам редиректов.

Скилл не для магазинов с одним доменом на локаль и не для общих паттернов бэкенда IO. Если префикс пути захардкожен как `/us/`, код сломается на других привязках — это и есть главный сценарий, который скилл закрывает.

## Установка

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

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

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

### Codex

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

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

### Cursor

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

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

### GitHub Copilot

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

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

### Gemini CLI

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

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

### Windsurf (Devin Desktop)

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

### OpenCode

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

### Claude.ai

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

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

## Когда брать
- собрать канонические URL с префиксом привязки
- починить 404 и битые ссылки в мультибиблиотечном магазине
- настроить middleware `prepare` для чтения `x-vtex-root-path`
- убрать двойные слэши при `rootPath === "/"`
- сгенерировать записи sitemap для каждой привязки

## Примеры запросов агенту
- Покажи, как в middleware `prepare` прочитать `x-vtex-root-path` и положить в `ctx.state.rootPath`.
- Собери канонический URL товара с учётом `rootPath` для бэкенда VTEX IO.
- Как получить `rootPath` в React-компоненте через `useRuntime()`?

## Похожие
- [mcp-vtex](https://affpapa.org/nevibecode/mcp/mcp-vtex.md) — MCP-сервер · ★ 274
- [remix](https://affpapa.org/nevibecode/skills/remix.md) — скилл · 686 установок
- [start-core](https://affpapa.org/nevibecode/skills/start-core.md) — скилл · 447 установок
- [expressjs-development](https://affpapa.org/nevibecode/skills/expressjs-development.md) — скилл · 555 установок
- [tanstack-router-best-practices](https://affpapa.org/nevibecode/skills/tanstack-router-best-practices.md) — скилл · 7100 установок
- [tanstack-router](https://affpapa.org/nevibecode/skills/tanstack-router.md) — скилл · 5000 установок

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

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