Дайджесты новостей
Архитектурный изометрический разрез модульной системы плагинов редактора кода с парящими блоками манифеста plugin.json и MCP.

Cursor Plugins: архитектура официальных плагинов и управление контекстом агента

Любой разработчик, активно использующий редактор Cursor в командной разработке, рано или поздно упирается в «проклятие файла .cursorrules». Поначалу этот конфигурационный файл кажется идеальным решением: ты записываешь туда пару правил по стилю кода, указываешь версию Node.js, просишь агента использовать стрелочные функции — и всё работает. Но проходит пара месяцев, проект обрастает микросервисами, в репозиторий приходят коллеги, и конфигурация превращается в гигантское неструктурированное полотно на полторы тысячи строк. В итоге агент начинает путаться в собственных правилах, контекстное окно забивается мусором, а модель галлюцинирует взаимоисключающими инструкциями.

Чтобы навести порядок в этой экосистеме, команда Anysphere представила официальный открытый репозиторий и спецификацию расширений cursor/plugins. Это принципиальный шаг вперед: вместо монолитных текстовых инструкций редактор переходит на модульную архитектуру плагинов с декларативными манифестами, изолированными серверами инструментов и гранулярным управлением памятью агента.

Анатомия плагина: от текстовой простыни к модульному манифесту

Давай разберем, как устроен плагин Cursor под капотом. В основе каждого модуля лежит открытый стандарт манифестов plugin.json, согласованный со спецификацией сообщества Agent Plugins (agent-plugins.org). Плагин больше не пытается решить все задачи мира в одном файле. Это четко структурированный каталог, где отдельно описаны навыки (skills/), специализированные правила для файлов (rules/), сервера протокола Model Context Protocol (mcp.json), системные хуки (hooks.json) и интерактивные команды (commands/).

В корне репозитория маркетплейса расположен каталог .cursor-plugin/marketplace.json, регистрирующий доступные модули. Когда пользователь или проект подключает плагин, Cursor считывает его персональный манифест .cursor-plugin/plugin.json.

{
  "$schema": "https://cursor.com/schemas/cursor-plugin/plugin.json",
  "name": "team-code-guard",
  "displayName": "Team Code Guard",
  "version": "1.0.0",
  "description": "Корпоративные правила код-ревью, проверка архитектурных слоев и запуск песочницы",
  "author": {
    "name": "Platform Team",
    "email": "platform@example.com"
  },
  "repository": "https://github.com/my-org/team-code-guard",
  "license": "MIT",
  "category": "Developer Tools",
  "keywords": ["audit", "architecture", "security", "review"],
  "skills": ["skills/**/SKILL.md"],
  "rules": ["rules/**/*.mdc"],
  "mcp": "./mcp.json",
  "minClientVersions": {
    "cursor": "0.45.0"
  }
}

Обрати внимание на поле minClientVersions и декларативные пути к правилам rules/**/*.mdc. Формат MDC (Markdown for Cursor) позволяет привязывать конкретные инструкции к маскам файлов: например, правила валидации GraphQL-схем будут активироваться в контексте агента только тогда, когда в редакторе открыт или модифицируется файл с расширением .graphql.

Системные плагины: от термоядерного аудита до непрерывного обучения

Каталог cursor/plugins уже включает более 80 готовых плагинов, разделенных на утилиты разработки, офисную продуктивность и интеграции со сторонними SaaS-платформами. Меня особенно зацепили несколько ключевых инженерных модулей, наглядно демонстрирующих зрелость архитектуры:

  1. Плагин thermos: Настоящий комбайн для глубокого аудита веток перед мерджем. Модуль запускает параллельных саб-агентов, которые с пристрастием анализируют безопасность зависимостей, ищут утечки памяти, прогоняют линтеры и формируют готовый к слиянию Pull Request с исчерпывающим описанием каждого изменения.
  2. Плагин continual-learning (автор Eric Zakariasson): Решает вечную проблему амнезии агента между сессиями. Плагин анализирует транскрипт диалога после решения сложной инженерной задачи, вычленяет неочевидные грабли проекта и лаконично дополняет долгосрочную память в файле AGENTS.md, отсекая лишний шум.
  3. Плагины визуализации pr-review-canvas и docs-canvas: Превращают скучный текстовый вывод терминала в интерактивные масштабируемые холсты прямо внутри IDE, позволяя визуально исследовать архитектурные связи и сложные диффы.
  4. Инженерные стеки pstack и dyl-stack: Навязывают модели методологию поиска первопричин сбоя (Root Cause Analysis). Агенту категорически запрещается накладывать поверхностные заплатки (monkey-patching) — он обязан локализовать дефект в архитектурном ядре.

Если ты помнишь наше практическое руководство по Cursor для бизнеса: автоматизация разработки, там мы подробно говорили о важности стабильного окружения, и новая система плагинов выводит эту стабильность на уровень корпоративного стандарта.

Интеграция с Model Context Protocol через mcp.json

Спецификация плагинов делает следующий логический шаг: она нативно встраивает в архитектуру протокол MCP (Model Context Protocol). Если плагину требуются внешние инструменты — запуск браузера для сквозного тестирования через Playwright, выполнение аналитических запросов к ClickHouse или изолированная база данных в Docker, — они объявляются в конфигурации mcp.json.

{
  "mcpServers": {
    "internal-linter": {
      "command": "node",
      "args": ["./dist/mcp-linter-server.js"],
      "env": {
        "NODE_ENV": "production"
      }
    },
    "db-sandbox": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "-p", "5432:5432", "postgres:16-alpine"]
    }
  }
}

Когда проект открывается в Cursor, среда автоматически инициализирует указанные серверы инструментов. Агент получает к ним типизированный доступ через вызовы функций (function calling), но при этом изолирован внутри заданных границ.

Подводные камни и безопасность управления секретами

При всей мощи архитектуры плагинов важно трезво оценивать границы применимости и риски безопасности.

Главный подводный камень здесь связан с передачей конфиденциальных данных. Плагины, интегрирующиеся со сторонними сервисами (GitHub, Slack, Databricks, Brex), требуют токенов доступа. Категорически запрещено жестко прописывать секреты внутри манифестов или сопутствующих скриптов плагина. Спецификация Cursor предписывает использовать секцию переменных окружения variables, запрашивая значения у пользователя через защищенный интерфейс настроек редактора.

Второй нюанс — кросс-платформенная совместимость. Хотя базовый манифест plugin.json опирается на открытый стандарт agent-plugins.org, специфические возможности вроде встроенных холстов (canvas) или проприетарных хуков среды пока поддерживаются только внутри Cursor.

Тем не менее переход к модульным плагинам знаменует взросление всей отрасли: агент разработки окончательно перестает быть игрушкой для генерации шаблонного кода и превращается в масштабируемый корпоративный инструмент.