bradley

bradley

I’ve been working with Claude Code extensively and absolutely love it. However, I’ve come across the challenge of managing configuration across multiple projects. For example, some projects I want hooks, other projects I don’t. There are a few projects I want to share hooks. And I just found that reusing hooks in general was something that was messy.

Additionally, I see a lot more potential for managing Claude from the Elixir side and deeply integrating it into the Elixir ecosystem. For example, imagine being able to pull in Usage Rules, which is an awesome library by Zach Daniel and all other configuration that is necessary for Claude to work effectively. Or libraries can define their own sub-agents. Or libraries can even define their own hooks that should be hooked into Claude Code. All of this, I think, can be done with this library, though the support still needs to be added.

How It Works

You use Claude as the library name by adding it to your deps and then running mix claude.install as a mix task, and it will automatically add all of the hooks that are needed for Claude to operate effectively and within bounds. There are only a few hooks right now, but I want to add a lot more, in addition to sub-agents being able to extend hooks with your own custom hooks and more.

Vision

The goal is to create a seamless integration between Claude Code and the Elixir ecosystem, allowing:

  • Project-specific configuration management - Different hook configurations per project
  • Shared hook libraries - Reusable hooks across multiple projects
  • Deep ecosystem integration - Libraries can define their own Claude-specific rules and behaviors
  • Extensible sub-agent system - Libraries can register their own specialized agents
  • Automatic setup - One command to configure Claude Code optimally for your Elixir project

Current Status

This is early-stage development with basic hook management implemented. Much more functionality is planned, including better integration with existing tools like Usage Rules and expanded sub-agent capabilities.

Let me know what you think. I’d love to hear your feedback!

https://github.com/bradleygolden/claude

Showing Posts 1 to 10

bradley

bradley OP

I just released v0.2.0. With this new update, I’ve added:

  • Subagent configuration w/ automatic usage rules integration
  • An extensible hook system so you can write your own hooks, in elixir!
  • A new meta subagent following best practices to make it easier to create claude code subagents
  • Automatically pull in usage docs into your CLAUDE.md file following best practices
  • A new mix claude.install igniter task

You can get started with mix igniter.install claude. There’s still so much more to add to scale up claude code’s capabilities and I’m excited to explore that more. See this link below for a full list of features/capabilities.

https://github.com/bradleygolden/claude

automatizai420

automatizai420

beauty, im programer fulltime with claude code, and for elixir is very weird see something like that, appreciate it! im searching for prp`s for elixir , what do you think about that?

BryanJBryce

BryanJBryce

Yes! I hope enough of us can get behind this to make Elixir the best language to build with using AI.

siraj-samsudeen

siraj-samsudeen

I want to enable tidewave and in the notices, it was mentioned that I have just to uncomment that line. But then I questioned claude code and also ran claude mcp list and did not find tidewave - then googling, I found that I need to install tidewave first - i am a newcomer to this, so you might want to consider installing tidewave if it is not there already or at least the steps to install first before enabling it in the claude.exs. Or have I gotten it wrong?

siraj-samsudeen

siraj-samsudeen

Hi Bradely, Siraj from India - I am fairly new to Elixir/Phoenix and just started using Claude Code last week - So, I was quite excited to see your CC integration. I installed the package and ran it, but for some reason the hooks are not getting invoked - the user_service file is not formatted and the preferenses replacement does not give me a compiler warning. I have checked the things mentioned in troubleshooting - when I ran mix claude.install, it does not change anything. What am I missing?

Claude hooks not running?

Run claude --version to verify Claude Code CLI is installed
Check .claude/settings.json exists
Try mix claude.install to reinstall hooks
ivanminutillo

ivanminutillo

oh great! this is exactly what i was looking for, amazing work…
I wonder if there are some directories that list both elixir libs that use usage_rules, as well as a directory of sub agents specific for elixir / phoenix / liveview development as a community effort, that would be really great to have

bradley

bradley OP

You’ve gotten it right! I think there’s a bug in the tidewave setup where I’m not triggering mix igniter.install tidewave as I should. It’s a great suggestion and apologies for the bugginess!

bradley

bradley OP

Please upgrade to 0.2.4! Thank you again for reporting and please LMK if you have anymore issues.

bradley

bradley OP

Yes, I completely agree!

I can see us moving in this direction where we have more opinionated agents and even workflows. I’ve been brain dumping ideas in the issues. They’re not too descriptive but those would be worth checking out.

See Specific agent patterns · Issue #77 · bradleygolden/claude-marketplace-elixir · GitHub specifically which is somewhat related.

I really think we could go one step further and build entire workflows around agents using anthropic’s guide for building effective agents.

siraj-samsudeen

siraj-samsudeen

thank you so much for the quick response. Let me try it out and get back to you.

But one question that is on my mind - if I am complete beginner and want to use Ash + Liveview, then what should I be configuring? I have seen tidalwave MCP, but it does not have phoenix1.8.rc4, then I saw Ash AI with its own MCP, and I have used context7 which seems to have the latest version of most phoenix libraries - I also saw that someones suggested to use Serena MCP which acts as the language server for Claude Code - I am just confused as to what should be the minimal/default configuration that I should adopt? I also want to use PhoenixTest (that is why I have looked at context7 as it has the latest version there). Any guidance on this would be really helpful for people like me.

Where Next? Top

Trending in Announcing Top

wojtekmach
Hey everyone! Req is an HTTP client for Elixir that I’ve been working on for quite some time. There is already a lot of HTTP clients out...
New
handnot2
Samly can be used to enable SAML 2.0 Single Sign On in a Plug/Phoenix application. This library uses Erlang esaml to provide plug enabl...
New
woylie
Flop is an Elixir library that applies filtering, ordering and pagination parameters to your Ecto queries. offset-based pagination with...
New
restlessronin
The repo is at GitHub - cyberchitta/openai_ex: Community maintained Elixir library for OpenAI API · GitHub. Docs are at OpenaiEx User Gu...
152 11030 135
New
garrison
Hobbes is a low-level distributed database for the Elixir programming language. Hobbes provides a simple, safe, and scalable storage lay...
New
fuelen
Hi all! I want to present a small library which provides a mix task for generating an Entity-Relationship Diagram for Ecto schemas. You...
New
woylie
Phoenix components for pagination, sortable tables and filter forms with Flop and (optionally) Ecto. pagination cursor pagination sorta...
New

Other Trending Topics Top

mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
mudasobwa
I am seeing a lot of aplications of Argumentum ad Vericundiam in software discussions. They do link some piece of writing and point us to...
New
bartblast
Hey folks, I just published a post about Hologram’s funding and where the project goes next - the short version: Curiosum as Main Spons...
New
sorenone
Today we’re releasing Oban for Python. Not an Oban client in Python. Not a pythonx wrapper embedded in Elixir. Nope, it’s a fully operati...
New
Herve37
We’re evaluating API mocking tools for OpenAPI-based projects and would love to hear what other teams are using. We’re particularly inte...
New
sergio
It’s not that it’s vocabulary is too advanced. It’s something worse. I get lost trying to follow even a paragraph written by Claude. It’...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews