bradley

bradley

Claude - Opinionated Claude Code integration for Elixir

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

Most Liked

bradley

bradley

Big update, I’ve completely migrated the repo to the new claude marketplace structure. My previous approach was novel when released but is now irrelevant with plugins. I considered archiving the repo and creating a new one but since the whole point of this repo was to make it easy to do elixir dev with claude code, I felt the migration with the current repo was appropriate.

Contributions are welcome!

https://github.com/bradleygolden/claude-marketplace-elixir

bradley

bradley

Hi everyone,

I just released v0.3 which now lets you use any mix task or generic command as a hook. Check out the full details in the hooks cheatsheet.

This release also includes a few quality-of-life improvements:

  • Tidewave now auto-installs if Phoenix is detected
  • Updated docs with new guides and cheatsheets
  • Hooks are now more robust and reliable

Happy hook building!

https://github.com/bradleygolden/claude

bradley

bradley

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

Where Next?

Popular in Announcing Top

zorbash
I created Kitto a framework for dashboards inspired by Dashing. The distributed characteristics of Elixir and the low memory footprint...
New
Azolo
Hey everyone, I just released WebSockex which is a Elixir WebSocket client. WebSockex strives to work as a OTP special process, be RFC6...
New
bryanjos
Hi, I wanted share a small library we at Revelry Labs made for rendering react components from the server side. There are instructions fo...
New
wfgilman
I’ve cleaned up and open sourced three financial libraries I was using for my company. They are bindings for the APIs of these three comp...
New
josevalim
Hi everyone, We would like to announce that Plataformatec is working on a new MySQL driver called MyXQL. Our goal is to eventually integ...
New
aesmail
Hello guys, I have finally made it. I created an admin interface for a framework. It’s been on my todo list for years and with the curre...
New
mplatts
With HEEX released we decided to start a components library using Tailwind CSS - check it out here: Petal Components. We also have a boi...
New

Other popular topics Top

Qqwy
Update: How to use the Blogs & Podcasts section You can post links to your blog posts or podcasts either in one of the Official Blog...
3271 131117 1222
New
JeremM34
Hello, how can I check the Phoenix version ? Thanks !
New
vertexbuffer
Hello, can anybody help here..? I have a list of players and I what to delete an element, but every for loop the list is reverting to ori...
New
vonH
When I run the Plug and I recompile I wind up having to use Ctrl C to quit iex and start again. Witht the help of rlwrap I can use the cu...
New
Patoshizzle
After calling mix ecto.create I get this error: 17:00:32.162 [error] GenServer #PID<0.412.0> terminating ** (Postgrex.Error) FATAL...
New
TunkShif
This post is an instruction guide to help you setup your Neovim for Elixir development from scratch. It includes general information on h...
274 42716 114
New

We're in Beta

About us Mission Statement