Скилл или MCP-сервер сам по себе мало говорит о том, где и зачем он нужен. Раздел «Проекты» связывает AI-ресурсы с конкретной папкой и показывает окружение, которое получит агент при работе с этим кодом.
Проектом может быть Git-репозиторий или обычная локальная папка. Добавление проекта ничего не устанавливает, не создаёт файлы, не выполняет команды и не отправляет данные наружу. Onplate запоминает путь и строит локальный снимок состояния.
Что становится видно после добавления проекта
Состав проекта определяется по фактам в файлах: языки, фреймворки, сервисы, контейнеры и команды запуска. Рядом с каждым фактом виден источник, файл и строка, на основании которых сделан вывод.
В незнакомом репозитории не приходится угадывать устройство проекта по названию папок: рядом с каждой найденной технологией или командой запуска указан исходный файл.
Найденные команды никто не запускает: их можно изучить и скопировать, а потенциально опасные помечает сканер.
Обычные проекты, монорепозитории и рабочие папки
Не все каталоги устроены одинаково, и форм тут несколько:
- обычный проект с одной папкой и одним профилем;
- монорепозиторий с общей Git-историей и несколькими частями, например
backendиfrontend; - рабочая папка с несколькими независимыми репозиториями;
- каталог, в котором лежит много отдельных проектов.
От типа каталога зависит место установки. Скилл, нужный только бэкенду, не обязательно помещать в корень монорепозитория. У отдельных репозиториев в рабочей папке могут быть свои ветки, профили и наборы AI-ресурсов.
Проектные и глобальные ресурсы
Ресурсы разделены по области действия и происхождению.
Проектный ресурс доступен только в выбранной папке. Глобальный ресурс подключён к конкретному AI-инструменту и может быть доступен во всех проектах. Ресурс также может приехать вместе с кодом и лежать в репозитории, хотя Onplate его не устанавливал.
На странице проекта эти варианты показаны отдельно:
- установлено через Onplate;
- находится в проекте как часть кода;
- доступно глобально через AI-инструмент.
Так можно понять, почему агент видит конкретный скилл, кто управляет его файлами и попадёт ли этот ресурс в общую настройку команды.
Ресурсы, приехавшие вместе с кодом, Onplate находит сам: скиллы и субагентов в каталогах AI-инструментов внутри репозитория, MCP-серверы из .mcp.json в его корне. Они показаны как внешние: агент их получит, хотя Onplate их не устанавливал. Каждый такой ресурс можно прочитать, проверить сканером безопасности и принять в хранилище или оставить как есть.
Сколько контекста получит AI
Для каждого AI-инструмента Onplate рассчитывает контекст именно в выбранной папке. В расчёт входят ресурсы проекта, глобальные ресурсы и файлы правил, которые читает агент.
Постоянный расход показан отдельно от максимума при активации. Если глобальные скиллы занимают слишком много контекста в небольшом проекте, часть из них можно установить только в нужную папку.
Состояние AI-настройки
Проблемы проекта сведены в один статус:
- «Синхронизировано», если локальная настройка согласована;
- «Нужны действия», если есть неприменённые изменения или расхождения;
- «Заблокирован», если папка недоступна, профиль повреждён или найден конфликт.
Вместо общего предупреждения приложение показывает конкретную причину. Например, ресурс есть в командном профиле, но не установлен на этой машине, либо локальная версия отличается от согласованной.
Профиль проекта и командная работа
Профиль проекта хранится в .onplate/profile.json рядом с кодом. В нём записывается, какие скиллы, MCP-серверы и субагенты нужны проекту, какие версии используются и для каких AI-инструментов они предназначены.
Профиль можно проверить в Git diff, обсудить в pull request и применить на другом компьютере. Новый участник команды получает конфигурацию рядом с кодом вместо устного описания и списка ссылок.
Секретные значения в профиль не попадают. Для MCP-серверов сохраняются только названия необходимых секретов, а сами ключи каждый пользователь вводит локально.
Git-коммиты не создаются автоматически, fetch тоже не делается: решение о публикации изменений остаётся за пользователем.
Режимы работы проекта
Настройку агента определяют ресурсы и параметры запуска: модель, усилие на обдумывание, действия без подтверждения, доступные инструменты и каталоги. В одном проекте такие сочетания повторяются: для разбора незнакомого кода, обычной работы с правками или разовой задачи с широкими правами.
Onplate называет такое сочетание режимом. В каждом проекте есть режимы-заготовки из поставки, к ним можно добавить свои. Для выбранного клиента показана точная команда, схема режима (чем он запустится, кто помогает, что попадёт в контекст, какие права инструментов заданы) и таблица «Что доедет до каждого клиента»: где настройка понимается запуском, а где нет.
Запуск открывает сессию и ничего не меняет на диске. Отдельным действием режим можно записать в настройки клиента, если он нужен и при запуске мимо Onplate: до записи видно, какие строки изменятся, а рядом с файлом остаётся копия прежнего.
Рядом с настройкой показано, чем работали на самом деле. Это два факта разного происхождения, и Onplate их не смешивает: сколько раз режим запускал он сам, знает точно, потому что сессию открывал он; какими моделями шла работа, вычитано из журналов самих клиентов, и имя модели там такое, какое записал клиент.
Свои режимы можно выгрузить в .onplate/modes.json рядом с профилем проекта и передать команде обычным pull request. Приехавшие из репозитория режимы сами не применяются: сначала видно, что в них, и только потом их можно принять. На части, расширяющие права (ступень «без вопросов», каталоги за пределами проекта), согласие даётся отдельно, а незнакомые значения отбрасываются всегда.
Командный реестр и роли
Профиль проекта описывает один репозиторий. Когда набор AI-ресурсов общий для всей команды, его источником может быть отдельный реестр в Git-репозитории: в нём перечислены роли и пакеты, которые этим ролям нужны.
Пользователь выбирает роль и режим синхронизации: выключено, только уведомлять или доустанавливать автоматически. Onplate показывает расхождения с профилем (чего не хватает, что устарело, что стоит вне профиля и чего нет в реестре) и применяет их по решению пользователя. Реестров может быть несколько, между ними можно переключаться.
Изменения и локальный Git-контекст
Проект может меняться вне Onplate. Переключение ветки, новый ресурс, правка профиля, изменение структуры монорепозитория или новая AI-сессия отражаются в блоке изменений.
Также видны локальные сведения Git: незакоммиченные файлы, конфликты, отставание или опережение ветки, связанные worktree и история профиля. Например, расхождение настройки может оказаться следствием незавершённого переключения ветки, а не ошибкой Onplate.
Часть изменений видна между сканами. Наблюдение идёт по тем же каталогам и конфигурациям, куда смотрит скан, и сообщает, что данные на экране собраны до этих изменений. Состав проекта при этом пересчитывается сам (он читается из файлов и ничего не меняет), а решение о том, принимать ли приехавший вместе с кодом скилл, остаётся за пользователем. Наблюдение работает только после явного согласия на доступ к локальным каталогам.
Сессии и использование ресурсов
Локальные AI-сессии связываются с проектами по рабочей папке. На странице проекта видно, каким инструментом велась работа, когда была создана сессия, какая модель использовалась и какие ресурсы действительно вызывались.
Если проектный скилл ни разу не сработал, стоит проверить его описание и область установки. Возможно, ресурс этому проекту больше не нужен.
Обзор нескольких проектов
Экран «Все проекты» показывает активные папки, проекты, требующие внимания, архив, группы и локальные теги. Для двух проектов доступно сравнение AI-настройки: инструменты, версии, состояние установок и заметная разница в весе контекста.
На одном экране видно, где настройки разошлись, в каких папках недавно шла работа и какие проекты требуют проверки в первую очередь.
Что это даёт в работе
Раздел «Проекты» отвечает на конкретный вопрос: что получит агент, если запустить его в этой папке. Тот же профиль можно проверить в pull request и применить на другой машине, а отличия между проектами видны без ручного сравнения каталогов.
Onplate: onplate.tsymbal.dev · документация