Плагин упаковывает то, что вы уже умеете настраивать поодиночке: правила, навыки, роли, команды, внешние серверы и hooks - в один версионируемый набор. Смысл не в новой возможности, а в переносимости: то, что доказало пользу в одном репозитории, ставится в другие целиком и обновляется как продукт. Манифест в корне обязателен, компоненты лежат в стандартных каталогах или перечисляются явно, а вместе с ними в поставку могут входить готовые холсты.
Наивная альтернатива - копировать удачные настройки между проектами руками. Это работает, пока проектов два. Дальше начинается расхождение: где-то правило поправили, где-то забыли, а понять, какая версия у кого, невозможно. Чинить такое расхождение дороже, чем кажется: приходится сравнивать файлы построчно и угадывать, какая редакция была правильной. Плагин превращает копипаст в поставку с версией и владельцем - и именно это, а не удобство установки, делает его нужным.
Полезно один раз увидеть минимальный манифест. Ниже - имя, описание, версия и автор. Имя обязательно, остальное - гигиена: описание объясняет, зачем набор нужен, версия делает обновления отслеживаемыми, автор отвечает на вопрос, к кому идти. Всё остальное - компоненты, которые лежат рядом и попадают в поставку.
Официальный каталог проверяет каждую публикацию и каждое обновление вручную, требует открытых исходников и не допускает бинарников. Это заметно снижает риск, но не отменяет главного: плагин остаётся сторонним кодом. Документация прямо рекомендует просматривать исходники, и это не формальность - в наборе могут быть hooks и внешние серверы, у которых свои полномочия. Проверка каталога отвечает на вопрос, не вредонос ли это; на вопрос, подходит ли это вашему процессу, отвечаете вы.
Для команд есть свои каталоги с режимами распространения: выключен по умолчанию, включён по умолчанию и обязательный. Разница между ними - это разница между предложением, рекомендацией и политикой. Обязательный набор снимает вопрос единообразия, но и требует более высокой планки качества: то, что нельзя отключить, будет мешать везде, где оно не к месту. В крупной организации доступ дополнительно сужают по группам, и это разумно - процедуры релиза платформенной команды редко нужны всем подряд.
Как это выглядит в жизни команды. Правила про стиль запросов к базе, навык подготовки релиза, роль-ревьюер только для чтения и обработчик, запрещающий менять сгенерированные файлы, живут в одном репозитории и мешают всем остальным их повторять. Их складывают в плагин, ставят на три соседних сервиса и дальше меняют в одном месте. Выгода не в установке, а в следующем шаге: когда процедуру релиза правят, правку получают все, и видно, какая версия у кого стоит. Ровно поэтому у набора должен быть владелец: без него обновление некому выпускать и не с кого спрашивать.
Есть эксплуатационная деталь, которая дороже всего обходится тем, кто её не знал. Удаление плагина из командного каталога может удалить и связанный с ним внешний сервер - вместе с доступом у локальных пользователей и облачных агентов. Поэтому перед такой операцией фиксируют зависимости и читают подтверждение целиком. Это ровно тот случай, когда одно нажатие ломает работу нескольким людям сразу, причём ломает не сразу заметно: локально всё ещё работает по инерции, а автономные запуски начинают падать.
Локальная разработка плагина проста: каталог в пользовательской папке и перезагрузка окна. А для эксплуатации важнее другое - закреплять источник и версию. Автоматическое обновление удобно и одновременно расширяет цепочку поставки: чужое изменение приезжает к вам без вашего решения, а вместе с ним приезжают и его hooks. Разумный компромисс - закреплённая версия плюс осознанное обновление с владельцем и планом отката.
У плагинов есть граница применимости. Один репозиторий с настройками, которые меняются каждую неделю, упаковывать незачем: версия будет обгонять работу, а обновлять придётся чаще, чем пользоваться. Признак, по которому понимают, что с обязательным набором перестарались, тоже понятный - в проектах появляются локальные правила, которые тихо отменяют то, что пришло сверху. Это не саботаж, а сигнал: набор описывает не общий случай, а частный, и его пора либо сузить, либо перевести из политики в рекомендацию.
Типичные провалы предсказуемы. Ставить плагин как безобидную настройку, не читая, что внутри. Сделать набор обязательным до того, как он доказал качество. Удалить плагин из каталога и лишить доступа облачных агентов вместе с ним. И оставить автоматическое обновление там, где нужна воспроизводимость.
// .cursor-plugin/plugin.json - обязательно только имя
{
"name": "team-engineering",
"description": "Общие процедуры обзора и релиза",
"version": "1.0.0",
"author": { "name": "Platform Engineering" }
}