Elixir Phoenix плагин
oliver-kriska/claude-elixir-phoenixClaude Code плагин для Elixir/Phoenix/LiveView: 20 специализированных агентов, 22 железных закона, интеграция с Tidewave MCP. Параллельное планирование, автоматическая верификация, 4-агентный аудит кода и накопление знаний.
Установка
claude mcp add ccrider -- npx @neilberkman/ccriderREADME
Elixir Phoenix плагин для Claude Code
Claude Code — отличный инструмент. Но он не знает, что assign_new молча пропускает выполнение при переподключении, что :float испортит ваши денежные поля, или что ваш Oban-джоб не идемпотентен.
Этот плагин знает. Он координирует 20 специализированных агентов, которые планируют, реализуют, ревьюят и верифицируют ваш Elixir/Phoenix-код параллельно — каждый с экспертизой в своей области, свежим контекстом и соблюдением Железных законов, которые ловят баги, которые ваши тесты не поймают.
# Вы описываете фичу. Плагин разбирается с остальным.
/phx:plan Add real-time comment notifications
# 4 исследовательских агента анализируют кодовую базу параллельно.
# Структурированный план сохраняется в .claude/plans/comment-notifications/plan.md
# Затем:
/phx:work .claude/plans/comment-notifications/plan.md
# Реализует задачу за задачей. Компилирует после каждого изменения.
# Останавливается, если код нарушает Железный закон.
/phx:review
# 4 специализированных агента проводят аудит параллельно:
# идиомы, безопасность, тесты, компиляция.
# Дедуплицирует находки. Отдельно помечает уже существующие проблемы.Никакого prompt-инжиниринга. Никаких «пожалуйста, проверь N+1 запросы». Плагин автоматически загружает нужные знания о предметной области на основе редактируемых файлов и применяет правила, предотвращающие ошибки, которые Elixir-разработчики реально допускают в продакшне.
┌─────────────────────────────────────────────────────────────────────┐
│ ⚗ Elixir/Phoenix Plugin for Claude Code │
│ │
│ ┌──────────┬──────────┬──────────┬──────────┬──────────┐ │
│ │ 20 │ 40 │ 96 │ 18 │ 22 │ │
│ │ Agents │ Skills │ Refs │ Hooks │Iron Laws │ │
│ └──────────┴──────────┴──────────┴──────────┴──────────┘ │
│ │
│ AGENTS COMMANDS │
│ ───────────────────── ────────────────────────── │
│ Orchestrators (opus) Workflow │
│ workflow-orchestrator /phx:plan /phx:work │
│ planning-orchestrator /phx:review /phx:full │
│ parallel-reviewer /phx:compound /phx:quick │
│ context-supervisor /phx:brief /phx:triage │
│ │
│ Reviewers (sonnet) Investigation & Debug │
│ elixir-reviewer /phx:investigate /phx:trace │
│ testing-reviewer /ecto:n1-check /phx:perf │
│ security-analyzer /ecto:constraint-debug │
│ iron-law-judge /lv:assigns │
│ │
│ Architecture (sonnet) Analysis & Review │
│ liveview-architect /phx:audit /phx:verify │
│ ecto-schema-designer /phx:techdebt /phx:boundaries │
│ phoenix-patterns-analyst /phx:pr-review /phx:challenge │
│ otp-advisor /phx:research /phx:document │
│ │
│ Investigation (sonnet/haiku) Knowledge (auto-loaded) │
│ deep-bug-investigator liveview-patterns ecto-patterns │
│ call-tracer elixir-idioms security │
│ xref-analyzer phoenix-contexts oban │
│ verification-runner testing deploy tidewave │
│ │
│ Domain (sonnet) Hooks │
│ oban-specialist auto-format · auto-compile │
│ deployment-validator iron-law-verify · security-scan │
│ hex-library-researcher debug-stmt-detect · error-critic │
│ web-researcher progress-tracking · block-danger │
│ │
│ ─────────────────────────────────────────────────────────── │
│ 22 Iron Laws · Tidewave MCP · plan→work→verify→review→compound │
│ github.com/oliver-kriska/claude-elixir-phoenix │
└─────────────────────────────────────────────────────────────────────┘
v2.8.0 — 41 скилл, 20 агентов, 8-мерная оценка качества, цикл самосовершенствования через автоисследование. Обратная связь приветствуется через issues.
Установка
Из GitHub (рекомендуется)
# В Claude Code добавьте маркетплейс
/plugin marketplace add oliver-kriska/claude-elixir-phoenix
# Установите плагин
/plugin install elixir-phoenixИз локального пути (для разработки)
git clone https://github.com/oliver-kriska/claude-elixir-phoenix.git
# Вариант A: Добавить как локальный маркетплейс
/plugin marketplace add ./claude-elixir-phoenix
/plugin install elixir-phoenix
# Вариант B: Тестировать плагин напрямую
claude --plugin-dir ./claude-elixir-phoenix/plugins/elixir-phoenixНачало работы
Впервые используете плагин? Запустите интерактивный туториал:
/phx:intro
Он проведёт по рабочему процессу, командам и возможностям в 6 коротких разделах (~5 мин). Перейдите к любому разделу с помощью /phx:intro --section N.
Быстрые примеры
# Просто опишите, что нужно — плагин определит сложность и предложит подходящий подход
> Fix the N+1 query in the user dashboard
# Спланируйте фичу с параллельными исследовательскими агентами, затем выполните
/phx:plan Add email notifications for new comments
/phx:work .claude/plans/email-notifications/plan.md
# Полностью автономный режим — планирование, реализация, ревью, сохранение знаний
/phx:full Add user profile avatars with S3 upload
# 4-агентный параллельный ревью кода (идиомы, безопасность, тесты, компиляция)
/phx:review
# Быстрый ревью текущих изменений
/phx:quick
# Исследование проблемы с трассировкой вызовов
/phx:investigate Users report intermittent 500 errors on checkout
/phx:trace UserController.create
# Проверка N+1 запросов в Ecto
/ecto:n1-check
# Анализ технического долга
/phx:techdebtЖелезные законы: обязательные правила
Железные законы — это правила, нарушение которых плагин не допускает. Они применяются автоматически через хуки и агента iron-law-judge.
Деньги и числа
- НИКОГДА не используй
:floatдля денег — используйDecimalили целые числа в центах - НИКОГДА не используй
Float.round/2для финансовых расчётов
LiveView
- НИКОГДА не используй
assign_new/3для данных, которые должны обновляться при переподключении - ВСЕГДА обрабатывай
handle_params/3в LiveView сphx-update - НИКОГДА не храни большие структуры данных в сокете LiveView
Ecto и базы данных
- НИКОГДА не используй
Repo.all/1без пагинации на пользовательских эндпоинтах - ВСЕГДА добавляй индексы для внешних ключей
- НИКОГДА не используй
on_delete: :nothingдля критически важных связей - ВСЕГДА используй
Ecto.Multiдля транзакций с несколькими операциями
Oban
- ВСЕГДА делай Oban-джобы идемпотентными
- НИКОГДА не передавай большие структуры данных в аргументах Oban-джоба
- ВСЕГДА обрабатывай ошибки в Oban-джобах явно
Безопасность
- НИКОГДА не логируй пароли, токены или PII
- ВСЕГДА используй параметризованные запросы (Ecto делает это по умолчанию)
- НИКОГДА не доверяй пользовательскому вводу в динамических атомах
OTP и конкурентность
- НИКОГДА не используй
Process.sleep/1в продакшн-коде - ВСЕГДА обрабатывай сообщения
{:EXIT, ...}в процессах, которые trap exit - НИКОГДА не игнорируй возвращаемые значения
{:error, reason}
Тестирование
- НИКОГДА не используй
Moxбез явногоverify_on_exit! - ВСЕГДА используй
async: trueдля тестов без разделяемого состояния
Общее
- НИКОГДА не коммить отладочные операторы (
IO.inspect,dbg,require IEx; IEx.pry) - ВСЕГДА запускай компилятор после изменений — предупреждения компилятора — это баги
Команды
Рабочий процесс
| Команда | Описание |
|---|---|
/phx:plan <feature> | Планирует фичу с 4 параллельными исследовательскими агентами |
/phx:work <plan.md> | Реализует план задача за задачей с верификацией |
/phx:full <feature> | Полный цикл: план → реализация → ревью → знания |
/phx:compound <feature> | Составной рабочий процесс с промежуточными чекпоинтами |
/phx:quick | Быстрый ревью текущих изменений |
/phx:brief | Краткое резюме текущего состояния кода |
/phx:triage | Сортировка и приоритизация проблем |
Исследование и отладка
| Команда | Описание |
|---|---|
/phx:investigate <issue> | Глубокое исследование проблемы |
/phx:trace <module.function> | Трассировка пути вызовов |
/ecto:n1-check | Обнаружение N+1 запросов |
/phx:perf | Анализ производительности |
/ecto:constraint-debug | Отладка ошибок ограничений Ecto |
/lv:assigns | Аудит assigns в LiveView |
Анализ и ревью
| Команда | Описание |
|---|---|
/phx:audit | Полный аудит кодовой базы |
/phx:verify | Верификация реализации по плану |
/phx:review | 4-агентный параллельный ревью кода |
/phx:techdebt | Анализ технического долга |
/phx:boundaries | Проверка границ контекстов |
/phx:pr-review | Ревью pull request |
/phx:challenge | Критический анализ решений |
/phx:research <topic> | Исследование темы с веб-поиском |
/phx:document | Генерация документации |
Интеграция с Tidewave MCP
Плагин интегрируется с Tidewave для прямого доступа к базе данных и интроспекции приложения во время разработки.
Когда Tidewave доступен, агенты могут:
- Выполнять запросы к базе данных для проверки данных
- Интроспектировать состояние приложения
- Проверять схемы и миграции в реальном времени
- Запускать Elixir-код в контексте приложения
Tidewave определяется автоматически — дополнительная настройка не требуется.
Автозагрузка знаний
Плагин автоматически загружает релевантные знания на основе файлов, с которыми вы работаете:
*_live.ex,*_component.ex→ знания о LiveView-паттернах*_schema.ex, миграции → знания о паттернах Ecto*_job.ex→ знания об Oban*_controller.ex,*_router.ex→ знания о Phoenix-контекстах*_test.ex→ знания о тестированииmix.exs,config/→ знания о деплое
Структура плагина
plugins/elixir-phoenix/
├── agents/ # 20 специализированных агентов
├── skills/ # 41 скилл (знания предметной области)
├── hooks/ # 18 хуков (автоформат, компиляция, проверки)
├── commands/ # Все /phx:* команды
└── refs/ # 96 справочных документов
Требования
- Claude Code последней версии
- Проект на Elixir/Phoenix (плагин определяет структуру автоматически)
- Опционально: Tidewave для интеграции с базой данных
Участие в разработке
Обратная связь и вклад приветствуются через GitHub Issues.
При обнаружении бага или предложении нового Железного закона — создайте issue с примером кода и описанием проблемы в продакшне.