{
  "markdown": "# Layero for Claude Code\n\n**[English](#english)** · Русский\n\n> **Layero** — российская платформа хостинга и деплоя фронтенд-приложений.\n> Деплой одной командой `npx layero deploy`, серверы и CDN внутри России,\n> поддержка Next.js / Vite / Astro / SvelteKit / Nuxt и деплой прямо из\n> AI-агентов (Cursor, Claude Code).\n\n🌐 Сайт: <https://layero.ru> · 📚 Документация: <https://docs.layero.ru> · 📦 npm: <https://www.npmjs.com/package/layero>\n\nОфициальный маркетплейс плагина `@layero` для [Claude Code](https://claude.com/claude-code).\n\n## Установка\n\n```\n/plugin marketplace add LayeroInfra/layero-agents\n/plugin install layero@layero-claude\n```\n\nПосле установки в чате доступен `@layero`.\n\n### Подключение аккаунта\n\nСобрать лендинг можно сразу — подбор структуры и дизайн-системы работает без\nавторизации. Публикация требует токен: выпустите его на\n[app.layero.ru/settings/cli](https://app.layero.ru/settings/cli) и положите в\nпеременную окружения — плагин подставит её в заголовок сам.\n\n```bash\nexport LAYERO_TOKEN=\"<ваш токен>\"\n```\n\nПеременную удобно держать в профиле оболочки (`~/.zshrc`, `~/.bashrc`), чтобы\nона была и в следующих сессиях. Если её не задать, публикация ответит, что\nтокен не принят, и укажет ту же страницу.\n\n## Что делает `@layero`\n\nПлагин подключает [MCP](https://modelcontextprotocol.io/)-сервер Layero и позволяет\nсобрать готовый лендинг прямо в чате IDE — без редактора и терминала:\n\n```\n@layero хочу лендинг для воркшопа по гончарке, тёплый винтажный стиль\n```\n\n- **5 дизайн-систем** — minimal, editorial, terminal, warm, bold\n- **6 структур** — masterclass, portfolio-dev, portfolio-designer, portfolio-mentor, event, saas\n- **Квизы прямо в IDE** — плагин уточняет мотивацию, стиль и интеграцию через нативные формы\n- **Деплой встроен** — после генерации файлов страница публикуется на Layero\n\nВ отличие от [CLI](https://docs.layero.ru/cli/install), который деплоит **существующий**\nпроект, `@layero` создаёт лендинг **с нуля** по короткому брифу.\n\nПодробнее — [что такое @layero](https://docs.layero.ru/plugin/intro),\n[каталог дизайнов и структур](https://docs.layero.ru/plugin/catalogue),\n[интеграции форм](https://docs.layero.ru/plugin/integrations).\n\n## Другие IDE\n\n| IDE | Установка |\n|---|---|\n| **Cursor** | Плагин: **Customize → Plugins → Add** и репозиторий `LayeroInfra/layero-agents` |\n| **Claude Code** | Две команды выше |\n| **Codex** | `codex mcp add layero --url https://mcp.layero.ru/mcp --bearer-token-env-var LAYERO_TOKEN` |\n\n⚠️ **Кнопка «Add to Cursor» (диплинк `cursor://…/mcp/install`) на новых сборках\nCursor не работает** — и не по нашей вине. Диплинк ничего не ставит сам: он\nкладёт «предложение» в память и открывает старую панель настроек, где есть\nкнопка Install. После миграции Cursor на редактор Customize эта панель больше\nне открывается, предложение показать некому. Рабочий путь — плагин.\n\nПолная инструкция — [docs.layero.ru/plugin/install](https://docs.layero.ru/plugin/install).\n\n## Как плагин себя ведёт\n\nПравила поведения `@layero` — тон, что он решает сам, чего не делает никогда —\nзафиксированы в [SOUL.md](./SOUL.md). Этот файл загружается в каждый диалог\nкак контекст высшего приоритета, так что он же и есть описание того, чего\nждать от плагина.\n\n## Что внутри репозитория\n\n```\n.claude-plugin/marketplace.json   — описание маркетплейса Claude Code\n.cursor-plugin/marketplace.json   — описание маркетплейса Cursor\nserver.json                       — запись в официальном MCP-реестре\nSOUL.md                           — правила поведения плагина\n.mcp.json                         — подключение MCP-сервера из корня\nrules/layero-deployment.mdc       — правило для Cursor: деплой через CLI\nskills/deploy-to-layero/SKILL.md  — Agent Skill с тем же сценарием\ncheck-cursor-plugin.py            — сверка плагина Cursor с оригиналами и сервером\nplugins/layero/                   — плагин для Claude Code\n  ├── .claude-plugin/plugin.json  — манифест плагина\n  └── .mcp.json                   — MCP-сервер с токеном из ${LAYERO_TOKEN}\nplugins/layero-cursor/            — плагин для Cursor\n  ├── .cursor-plugin/plugin.json  — манифест плагина\n  ├── mcp.json                    — MCP-сервер без заголовка авторизации\n  ├── rules/, skills/             — копии корневых правила и навыка\n  └── assets/logo.svg             — логотип для карточки в маркетплейсе\n```\n\nКорневые `.mcp.json`, `rules/` и `skills/` лежат по стандарту\n[Open Plugins](https://open-plugins.com) — по ним репозиторий находят сканеры\nкаталогов. Для самого плагина Claude Code источник правды — `plugins/layero/`.\n\n**Почему у Cursor отдельная папка.** Cursor и Claude Code читают из папки\nплагина один и тот же файл (`.mcp.json`, затем `mcp.json`), а подстановки в нём\nпонимают по-разному: Claude Code раскроет `${LAYERO_TOKEN}`, Cursor — только\n`${env:LAYERO_TOKEN}`. Нераскрытая строка уходит на сервер как есть, и человек\nполучает «Токен не принят: Invalid token» вместо честного «токена нет».\nПоэтому у Cursor конфиг без заголовка `Authorization`: без токена работает\nсборка лендинга, а для публикации сервер сам подскажет выпустить токен на\n[app.layero.ru/settings/cli](https://app.layero.ru/settings/cli).\n\nКопии правила и навыка внутри `plugins/layero-cursor/` разъезжаются молча —\nза этим следит `python3 check-cursor-plugin.py` (заодно сверяет адрес сервера,\nзапрещает подстановки не в форме `${env:…}` и сличает подписи инструментов с\nживым `tools/list`).\n\nПлагин не содержит кода: вся логика живёт в remote MCP-сервере\n`https://mcp.layero.ru/mcp` (Streamable HTTP).\n\n---\n\n## English\n\n**Layero** is a frontend hosting and deployment platform whose build servers\nand CDN sit inside Russia — which is the point: sites load fast for Russian\nvisitors without a VPN, and deploys do not cross the border. It ships a local\ndirectory in one command (`npx layero deploy`), with framework detection for\nNext.js, Vite, Astro, SvelteKit and Nuxt.\n\nThis repository is the official Claude Code marketplace for the `@layero`\nplugin, and the source of record for Layero's remote MCP server.\n\n### Install\n\n```\n/plugin marketplace add LayeroInfra/layero-agents\n/plugin install layero@layero-claude\n```\n\n| IDE | How |\n|---|---|\n| **Claude Code** | the two commands above |\n| **Cursor** | as a plugin: **Customize → Plugins → Add**, repository `LayeroInfra/layero-agents` |\n| **Codex** | `codex mcp add layero --url https://mcp.layero.ru/mcp --bearer-token-env-var LAYERO_TOKEN` |\n\n⚠️ The **Add to Cursor** one-click link (`cursor://…/mcp/install`) installs\nnothing on recent Cursor builds. The deeplink only stages a *proposed* server\nin memory; the confirm button lives on the legacy settings pane, which no\nlonger opens once Cursor has migrated to the Customize editor. Use the plugin.\n\nThe server is remote (Streamable HTTP at `https://mcp.layero.ru/mcp`), so\nthere is nothing to install locally and no Node process on your side.\n\nIt is also listed in the [official MCP registry](https://registry.modelcontextprotocol.io)\nas `ru.layero/layero` and on [Smithery](https://smithery.ai/servers/borisowvalia/layero),\nif your client installs servers from a catalogue.\n\n### Connecting your account\n\nBuilding a landing page works right away — picking a structure and a design\nsystem needs no authentication. Publishing needs a token: issue one at\n[app.layero.ru/settings/cli](https://app.layero.ru/settings/cli) and put it in\nan environment variable; the plugin substitutes it into the header itself.\n\n```bash\nexport LAYERO_TOKEN=\"<your token>\"\n```\n\nKeep it in your shell profile (`~/.zshrc`, `~/.bashrc`) so later sessions pick\nit up. Without it, publishing replies that the token was not accepted and\npoints at the same page.\n\n### What it does\n\nIt is not only a page generator. The endpoint currently exposes **27 tools**\ncovering the whole life of a site:\n\n- **build** — `list_design_systems`, `list_structures`, `compose_landing`,\n  `compose_landing_submit`\n- **ship** — `publish_landing`, `add_integration`\n- **operate** — `site_status`, `list_deploys`, `deploy_logs`, `diagnose_deploy`,\n  `retry_deploy`, `cancel_deploy`, `rollback`, `check_performance`\n- **inspect and edit** — `read_site`, `site_screenshot`, `site_issues`,\n  `refactor_site`, `check_copy`\n- **setup** — `env_vars`, `connect_domain`, `check_domain`, `list_domains`\n- **analytics** — `connect_analytics`, `site_analytics`\n- **account** — `whoami`, `my_projects`\n\nAsk it for a landing page and it runs two or three short quizzes as native\nIDE forms (through MCP elicitation), writes the files, and publishes them.\nLater you can ask why a build failed, attach a custom domain, or compare page\nspeed against the previous deploy — in the same conversation.\n\nThe plugin ships no code of its own: all logic lives in the remote server.\nHow it behaves — what it decides on its own, what it never does — is written\ndown in [SOUL.md](./SOUL.md), which is loaded into every conversation as\ntop-priority context.\n\n### Also in this repository\n\n- [`rules/layero-deployment.mdc`](./rules/layero-deployment.mdc) — a Cursor\n  rule for deploying an **existing** project through the CLI\n- [`skills/deploy-to-layero/SKILL.md`](./skills/deploy-to-layero/SKILL.md) —\n  the same procedure as a standalone Agent Skill\n- [`plugins/layero-cursor/`](./plugins/layero-cursor) — the same plugin packaged\n  for Cursor (`.cursor-plugin/plugin.json`, `mcp.json`, a copy of the rule and\n  the skill, a logo); listed in [`.cursor-plugin/marketplace.json`](./.cursor-plugin/marketplace.json)\n- [`check-cursor-plugin.py`](./check-cursor-plugin.py) — validates that plugin:\n  manifests, logo, copies matching the originals byte for byte, the canonical\n  server URL, no `${VAR}` outside Cursor's `${env:VAR}` form, and tool titles\n  checked against the live `tools/list`\n- [`server.json`](./server.json) — the record published to the official\n  [MCP registry](https://registry.modelcontextprotocol.io) as `ru.layero/layero`\n\nDocs: <https://docs.layero.ru/en/plugin/intro/> · Website: <https://layero.ru> ·\nnpm: <https://www.npmjs.com/package/layero>\n\n> Not to be confused with Layer0 / Edgio, or with layero.com — unrelated products.\n\n## Лицензия\n\n[MIT](./LICENSE)\n",
  "bytes": 10111,
  "sha": "8f179b95f92b53335bd68beb47b603fdb8c70f32e50dbcdea947cd8152fdc245",
  "repo_slug": "layeroinfra/layero-claude",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_ru_layero_layero_c72e4955/readme"
}