4cms-env
Настройка .env для работы с 4cms (витрина клиента на 4partners) — ключ FOURCMS_API_KEY (токен X-Auth-Token для api.4partners.io), из которого домен сайта (FOURCMS_DOMAIN) выводится автоматически через /info. Используй на первом обращении к 4cms, когда нужно «настроить 4cms», «подключить магазин», «добавить ключ 4cms/4partners», при ошибках 401/403 от api.4partners.io, или когда скрипт 4cms-* падает с «FOURCMS_DOMAIN not set» / «FOURCMS_API_KEY not set». Вызывай через тул `Skill(4cms-env)`, не через `Read .../SKILL.md`.
How do I install this agent skill?
npx skills add https://page-craft.4partners.io --skill 4cms-envIs this agent skill safe to install?
No partner audit is available yet. Read the source before installing.
What does this agent skill do?
⚡ Этот скилл — для вызова через тул
Skill(4cms-env), не черезRead .../SKILL.md.
4cms Env Setup
Узкий скилл: переменные .env в корне проекта клиента для работы с его магазином на платформе 4partners (4cms). Скиллы 4cms-* используют их, чтобы резолвить реальные сущности витрины (рубрики, бренды, товары) и подставлять их идентификаторы в страницы PageCraft.
Переменные
| Переменная | Что | Откуда берётся |
|---|---|---|
FOURCMS_API_KEY | Токен X-Auth-Token для api.4partners.io | главная переменная — её вводит пользователь. Нужна для деталей каталога, фильтра товаров, статей (эти методы требуют соответствующих прав у ключа; у части ключей они закрыты — /info доступен всегда) |
FOURCMS_DOMAIN | Домен витрины, напр. bjjd.ru | выводится автоматически из GET /info по ключу и кэшируется в .env. Вручную — только если ключа пока нет, или ключ видит несколько сайтов |
FOURCMS_API_URL | Базовый URL центрального API | дефолт https://api.4partners.io — обычно не трогаем |
Идея: пользователь настраивает только ключ. Домен
4cms-envдостаёт из/infoсам и пишет в.env. Дальше4cms-resolveчитает закэшированный домен и работает по публичным ручкам сайта без ключа и без лишних запросов.Граница: публичные site-ручки (поиск по имени, резолв URL) живут на домене сайта и ключа не требуют — но им нужно значение домена. Ключ нужен только для
api.4partners.io.
Когда триггерится
- Первое обращение к 4cms в проекте — настроить ключ.
- Скрипт любого
4cms-*вышел сFOURCMS_DOMAIN not set/FOURCMS_API_KEY not set— отправь пользователя сюда. 401/403отapi.4partners.io— ключ невалиден / истёк.- Прямой запрос: «настрой 4cms», «подключи магазин 4partners», «обнови ключ 4cms».
Алгоритм
- Прочитать
.envв корне проекта (нет файла — создать пустой). FOURCMS_API_KEY— есть → пропуск. Пусто → карточка-вопрос поreferences/setup.md(раздел «Ключ»).- Особый случай: пользователь хочет только резолв по имени и ключа пока нет — можно отложить ключ и задать домен вручную (раздел «Домен» в
setup.md). Предупреди, что детали/фильтры/статьи будут недоступны.
- Особый случай: пользователь хочет только резолв по имени и ключа пока нет — можно отложить ключ и задать домен вручную (раздел «Домен» в
- Запустить
node .claude/skills/4cms-env/scripts/check-env.js. Скрипт:- пингует
/info, валидирует ключ, печатает сайты и их вариации; - если сайт один — сам пишет
FOURCMS_DOMAINв.env; - если сайтов несколько — печатает список; покажи его пользователю и спроси, с каким работаем, затем впиши выбранный
FOURCMS_DOMAIN.
- пингует
Вопросы задавай в формате блока-цитаты с эмодзи, по одному. Не смешивай вопрос к пользователю с техническим выводом в одном сообщении.
Файлы
scripts/check-env.js— валидирует ключ через/info, выводит и кэширует домен в.env.references/setup.md— карточки-вопросы (где взять токен; ручной домен для keyless-режима).
Что не делает этот скилл
- Не резолвит сущности — это
4cms-resolve. - Не настраивает PageCraft-переменные (
PAGECRAFT_*) — этоpagecraft-env.
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/page-craft.4partners.io/4cms-env">View 4cms-env on skillZs</a>