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

alisinabh
Hey everyone i’ve developed a library for Jalaali calendar for elixir which supports converting Gregorian dates to Jalaali and vice vers...
New
OvermindDL1
I created a new library (rather I pulled out a couple files from my big project), it manages an operating system PID file for the BEAM. ...
New
dominicletz
Hi, I thought I had posted my library before but seems I hadn’t. The project is still in early stages but it’s growing and so I think it...
New
benlime
LiveMotion enables high performance animations declared on the server and run on the client. As a follow up to my previous thread A libr...
New
zachdaniel
Ash Framework What is Ash? Ash Framework is a declarative, resource-oriented application development framework for Elixir. A resource can...
New
zoltanszogyenyi
Hey everyone :waving_hand: Excited to join this forum - I am one of the founders and current project maintainers of a popular and open-s...
New
markmark206
simple_feature_flags is a tiny package that lets you turn features on or off based on which environment (e.g. localhost, staging, product...
New

Other popular topics Top

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
Qqwy
Original source of discussion: This topic on the Pragmatic Programmers’ Functional Web Development with Elixir, OTP, and Phoenix forum. ...
New
AstonJ
Seen any cool LiveView demos, sample apps or examples? Please post them here! :003:
New
dblack
I’ve got an issue with an app and I’ve no idea of how to troubleshoot it. I’m hoping someone here might have seen something similar. I p...
New
JorisKok
I have a server on AWS, and was running a load test using artillery. When looking at the Phoenix dashboard I see the Ports going to 100% ...
New
sergio
Kind of like when jquery came out, it was super necessary. Existing drag and drop libraries have a bunch of baggage to support old browse...
New

We're in Beta

About us Mission Statement