PJUllrich

PJUllrich

Author of Building Table Views with Phoenix LiveView

A Devcontainer for Elixir

I built a devcontainer that makes it safe(-er) to run Claude Code in YOLO mode (--dangerously-skip-permissions) on Elixir&Phoenix projects and it comes with Tidewave built-in. It’s based on Anthropic’s reference but made safer and tailored to Elixir.

The container makes it safe(-er) to run Claude with --dangerously-skip-permissions by:

  • Restricting all outbound traffic to a domain allowlist via a strict network firewall using the battle-tested Squid proxy
  • Hiding sensitive files (e.g. .env) from Claude using file permissions, with Claude deny rules as a secondary safeguard.
    • These files and folders are simply empty in your devcontainer. No more uploading .env files to Claude by accident!
  • Isolating Claude state in a per-project .claude folder, separate from your host’s ~/.claude

It has a few quality-of-life features as well, like:

  • a Makefile with extensive commands to control the devcontainer (e.g. make dc.up|down|rebuild) and to start services in it (e.g. make dc.tidewave|server|claude)
  • Git and Git Worktree support, so you can run multiple Claude Code instances in parallel in the same container
  • Oh-my-Zsh with git status, tab completion, and fancy colors

Try it out here:

https://github.com/PJUllrich/devcontainer

Where Next?

Popular in Dev Env & Tools Top

zmzlois
I was looking for an open router sdk in elixir but i didn’t find anything so here you go openrouter_sdk | Hex
New
bwlang
I want to buld this docker image but it fails with a timeout at RUN mix local.hex --force Maybe it’s just a maintenance window, but the...
New
Cervajz
Code at the speed of thought Zed is a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter. It’s also open...
New
ariandanim
Dear all, Does anyone has tried using ARM Laptop Snapdragon? I am planning to buy new one for my daily coding, but still need some sugg...
New
AstonJ
macOS had always used your Account Name as your Username (Case-Preserving) but from around Catalina onwards it started downcasing usernam...
New
AstonJ
Following on from this post in Do you use LittleSnitch or the equivalent on your OS? I think it might be worth us creating this thread so...
New
AstonJ
Welcome to our thread for Mac users :smiley: Windows users please use this thread Linux users please use this thread For those who dis...
New
AstonJ
What are you using for software dev? Can you share what you like/dislike about it? Would you recommend it to others? Related thread: Ho...
New
AstonJ
If you use a VPN or are interested in any please vote in the poll - you can select as many options as you want :icon_biggrin: I’ve added...
New
AstonJ
If you have any macOS tips or tricks, or a favourite way of using it, please share :icon_biggrin: For general chat about Macs, please us...
New

Other popular topics Top

chrismccord
As promised, the first release candidate of Phoenix 1.3.0 is out! This release focuses on code generators with improved project structure...
New
jay1
Why is it that the mnesia database isn’t the most preferred database for use in Elixir/Phoenix?
New
pmjoe
I have a relationship of love and hate with Elixir. Lots of things are just absolutely right, but there are some things that are kind of ...
New
ashish173
I am using Ecto timestamps with postgres, I can see the timestamps() use the :naive_dateime but for my use case I wanted to store the ti...
New
saif
Hello everyone, Long time lurker first time poster here. I’ve recently begun working on Elixir full-time again! :raised_hands: It’s been...
New
nsuchy
Hi. I’ve noticed that Windows Powershell has it’s own IEX command and you cannot access Elixir’s IEX due to the conflict. This isn’t a cr...
New
klo
Got a question about when to concat vs. prepending items to list then reversing to achieve appending. So i know lists boil down to [1 | ...
New
Brian
What is the proper way to load a module from a file in to IEX? In the python world, doing something like this pretty standard: from ....
New
joaquinalcerro
Hi there, I am working with Ecto-Postgresql and I need to call all of the records from a specific table but the table has 40,000 records...
New
openscript
Hello! Sorry for this astonishing simple question, but I’m really stuck. I try to set up the intellij-elixir plugin, but I don’t know ho...
New

We're in Beta

About us Mission Statement