← Проекты

claude-shim

Автоматический менеджер профилей Claude Code

claude-shim

claude-shim - менеджер профилей Claude Code для каждого проекта. Он переключает CLAUDE_CONFIG_DIR в зависимости от директории, в которой вы находитесь, и показывает активный профиль прямо в промпте оболочки.

Зачем

Claude Code хранит авторизацию, историю и настройки в единой директории ~/.claude. Держать больше одной - личную и рабочую или отдельные аккаунты - значит вручную экспортировать CLAUDE_CONFIG_DIR и держать в голове, какая из них активна. claude-shim берёт профиль из директории проекта и показывает его в промпте, так что нужная конфигурация всегда активна и всегда на виду.

Возможности

  • Профили на проект - автоматически переключает CLAUDE_CONFIG_DIR по директории проекта, без ручных экспортов.
  • Уровень усилий (effort) - закрепляет уровень за профилем или проектом, даже max, который settings.json молча отбрасывает.
  • Индикатор в промпте - показывает активный профиль прямо в промпте оболочки.
  • Индикатор в statusLine - показывает активный профиль в статус-⁠баре Claude Code во время сессии.

Установка

Поставьте готовый бинарник через mise:

mise use -g github:petr-korobeinikov/claude-shim@latest

Или соберите из исходников:

cargo build --release

Подключите хук оболочки - добавьте в ~/.zshrc и перечитайте его или перезапустите командную оболочку:

eval "$(claude-shim init zsh)"

Использование

Создайте профили и привяжите проект к одному из них:

claude-shim profile new personal --default  # создать профиль и сделать его дефолтным
claude-shim profile new work                # создать ещё один
cd ~/Workspace/acme
claude-shim profile use work                # эта директория теперь работает под `work`
claude-shim current                         # напечатать активный профиль

Стек

  • Rust (edition 2024), CLI на clap
  • Готовые бинарники на каждый тег и опубликованный крейт на crates.io
  • Установка через mise или cargo, ветвление по Gitflow, релизы по CalVer
  • CI на GitHub Actions с покрытием codecov

Ссылки

  • GitHub - исходники, релизы, задачи
  • crates.io - опубликованный крейт
  • Документация - быстрый старт, руководства, справочник