На прошлых уровнях ты собрал свою настройку: правила разрешений, хуки, навыки, субагентов. Теперь её нужно отдать команде — так, чтобы каждый получил то же самое, а твои личные настройки остались твоими.
Что коммитить, а что нет
| Коммитится — для всех | Остаётся у тебя |
|---|---|
.claude/settings.json | .claude/settings.local.json |
CLAUDE.md и .claude/rules/ | CLAUDE.local.md |
навыки, агенты, .mcp.json |
Локальный файл настроек главнее общего: коллега может переопределить для себя командную настройку без коммита. Исключение — списки вроде правил разрешений: они не заменяются, а объединяются.
Оба личных файла добавь в .gitignore проекта сам. Правило, которое Claude Code пишет для settings.local.json, попадает в твой глобальный список исключений git — у коллег его нет. А CLAUDE.local.md создаётся руками, и следить за ним тоже тебе.
Маркетплейс в репозитории
упаковывает навыки, агентов и хуки в одну единицу. — это папка, где файл .claude-plugin/marketplace.json перечисляет плагины. Его можно положить прямо в репозиторий:
team-marketplace/
.claude-plugin/marketplace.json ← маркетплейс team-tools
plugins/team-kit/
.claude-plugin/plugin.json ← плагин team-kit
skills/onboard/SKILL.md
agents/config-reviewer.md
В marketplace.json плагин указан относительным путём:
{
"name": "team-tools",
"owner": { "name": "Команда" },
"plugins": [
{ "name": "team-kit", "source": "./plugins/team-kit" }
]
}
Имя записи (team-kit) должно совпадать с name в plugin.json плагина.
Проверка перед коммитом
claude plugin validate ./team-marketplace
claude plugin validate ./team-marketplace/plugins/team-kit --strict
Нужны оба запуска. Проверка маркетплейса смотрит его файл и записи, но не открывает навыки и агентов внутри плагинов. Вторая проверка открывает их, а --strict превращает предупреждения в ошибки. Успех заканчивается строкой Validation passed.
Два ключа в настройках
В .claude/settings.json:
{
"extraKnownMarketplaces": {
"team-tools": {
"source": { "source": "directory", "path": "./team-marketplace" }
}
},
"enabledPlugins": {
"team-kit@team-tools": true
}
}
- ключ внутри
extraKnownMarketplaces— этоnameмаркетплейса; - идентификатор плагина —
имя-записи@имя-маркетплейса; - значение —
true, а не строка"true"; - относительный путь считается от основной копии репозитория, поэтому сессия в возьмёт тот же
team-marketplace/.
Закоммить team-marketplace/ и .claude/settings.json. Коллега клонирует репозиторий, запускает claude, принимает диалог доверия — и плагин загружается без команды установки. Навык вызывается как /team-kit:onboard, субагент — как team-kit:config-reviewer.
Плагин из папки на диске загружается на месте: правка в team-marketplace/ подхватывается при следующем запуске или после /reload-plugins, номер версии менять не нужно.
Для себя
Выключить общий плагин только у себя. В .claude/settings.local.json:
{ "enabledPlugins": { "team-kit@team-tools": false } }
Потом /reload-plugins. У остальных плагин по-прежнему включён.
Попробовать без подключения. claude --plugin-dir ./team-marketplace/plugins/team-kit загружает плагин на одну сессию и ничего не пишет в настройки.
Подводные камни
- Доверие. Маркетплейс из репозитория молча ждёт, пока человек примет диалог доверия к папке.
claude -pподключит его только в папке, которой уже доверяли в интерактивной сессии. Облачная сессия диалога не показывает — там такой маркетплейс не подключится никогда. Общие правила разрешений ждут того же диалога. - Дубли. Компонент, оставленный и в
.claude/, и в плагине, загрузится дважды: заработают и/tdd, и/team-kit:tdd, а хук будет срабатывать два раза. - Имя навсегда. Плагин включают по
имя@маркетплейс. Переименованный плагин для всех, у кого он был включён, — это другой плагин. Нужна новая подпись — меняйdisplayName, а неname.
Мини-проверка
Ты переименовал плагин team-kit в dev-kit в plugin.json и в marketplace.json. Что увидят коллеги?
Осторожно
Каждый, кто доверил репозиторий, запускает содержимое team-kit со своими правами. Хуки и MCP-серверы плагина работают вне песочницы, и правила разрешений не распространяются на код, который они запускают. Изменения в team-marketplace ревьюй так же внимательно, как код.
Практика в терминале
Попробуй на настоящем маркетплейсе