hboon 3 days ago

Not the OP, but I have this fish alias. I just run `claude-docker` in my project root (where I would otherwise run `claude`). There's nothing to it. You can tweak it:

    alias claude-docker='docker run --mount type=bind,source=/Users/hboon/.claude,target=/home/node/.claude --mount type=bind,source=/Users/hboon/.claude.json,target=/home/node/.claude.json --mount type=bind,source=.,target=/workspace/project --workdir /workspace/project -it cc /usr/bin/fish'
sothatsit 3 days ago

I'm afraid it is not that shareable as it contains a lot of dependency management and setup that is specific to my setup and projects. But it's not too complicated. You could probably re-create your own version fairly quickly.

It's just a Dockerfile that installs dependencies, an entrypoint that invokes claude, and some wrapper scripts that handle creating the container, passing through the prompt, and managing the results (e.g., output markdown to a directory, or open a PR). For input/output from the container I mount directories within the Docker container to local directories under ~/.call_claude/. I create a directory under there, clone the source code to it, output the prompt to a text file, and then grab results from that directory after Claude Code has finished running.

  • rob 3 days ago

    Just have Claude make a version of your script that's shareable for others, no?

    • sothatsit 3 days ago

      It's just not that simple. If your scripts contain 20 things hard-coded to your setup and projects, it is not quick nor easy to remove all of those and make something configurable and easily adaptable to other people's setups and projects.

      Adapting the scripts to your specific setup is pretty much the entirety of the work in setting this up.