Claude Info
Бэкенд

Elixir Phoenix плагин

oliver-kriska/claude-elixir-phoenix

Claude Code плагин для Elixir/Phoenix/LiveView: 20 специализированных агентов, 22 железных закона, интеграция с Tidewave MCP. Параллельное планирование, автоматическая верификация, 4-агентный аудит кода и накопление знаний.

Установка

terminal
bash
claude mcp add ccrider -- npx @neilberkman/ccrider

README

Elixir Phoenix плагин для Claude Code

Claude Code — отличный инструмент. Но он не знает, что assign_new молча пропускает выполнение при переподключении, что :float испортит ваши денежные поля, или что ваш Oban-джоб не идемпотентен.

Этот плагин знает. Он координирует 20 специализированных агентов, которые планируют, реализуют, ревьюят и верифицируют ваш Elixir/Phoenix-код параллельно — каждый с экспертизой в своей области, свежим контекстом и соблюдением Железных законов, которые ловят баги, которые ваши тесты не поймают.

bash
# Вы описываете фичу. Плагин разбирается с остальным.
/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 (рекомендуется)

bash
# В Claude Code добавьте маркетплейс
/plugin marketplace add oliver-kriska/claude-elixir-phoenix

# Установите плагин
/plugin install elixir-phoenix

Из локального пути (для разработки)

bash
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.

Быстрые примеры

bash
# Просто опишите, что нужно — плагин определит сложность и предложит подходящий подход
> 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:review4-агентный параллельный ревью кода
/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 с примером кода и описанием проблемы в продакшне.

Похожие скиллы