Chapel parallel programming compiler + gdb + valgrind + OpenMPI, tweakcc optimized for HPC
490
Cost savings: use the tweakcc reduced system prompt + specialized Chapel tools for the best results. A default Claude Code prompt injects 30K+ characters per turn -- that's $90/MTurn on Sonnet and $150 on Opus for tokens you never read. The tweakcc thinkingVerbs and ablated prompts trim this to ~10K, saving up to 90% on cached reads and ~$4.50/hour in input for a coding session at 100 requests/hour.
Drop a Chapel project into a container and ask Claude to compile, parallelize, debug, and ship it. This image combines Claude Code (abliterated) with Chapel 2.9.0, gdb, valgrind, cmake, make, LLD linker, and full HPC tooling -- a complete Chapel development workstation for parallel computing.
This container is a focused Chapel development environment. Mount whatever Chapel projects, parallel applications, or scientific computing code you want to work on, start the container, and Claude automatically gets:
No configuration, no setup. Give it a Chapel project and ask Claude to build, parallelize, debug, and ship.
# First, navigate to your project directory.
# cd $HOME/git/my-chapel-project
# Build a Chapel project with Claude working together
docker run -u $(id -u):$(id -g) -e ANTHROPIC_API_KEY=sk-... \
-v "$PWD:/workdir:rw" \
t2fn/chapel-claude-abliterated:latest
# Or with podman:
podman run -u $(id -u):$(id -g) --userns=keep-id \
-e ANTHROPIC_API_KEY=sk-... \
-v "$PWD:/workdir:rw" \
t2fn/chapel-claude-abliterated:latest
# Then send a prompt:
# "chpl my code.chpl, run it with 4 locales, and profile with valgrind"
# Or with a local Ollama model:
docker run -u $(id -u):$(id -g) -e OLLAMA_MODEL=gemma4:31b \
-e OLLAMA_HOST=10.12.2.4 \
-e ANTHROPIC_API_KEY=sk-... \
-v "$PWD:/workdir:rw" \
t2fn/chapel-claude-abliterated:latest
# Or with podman:
podman run -u $(id -u):$(id -g) --userns=keep-id \
-e OLLAMA_MODEL=gemma4:31b \
-e OLLAMA_HOST=10.12.2.4 \
-e ANTHROPIC_API_KEY=sk-... \
-v "$PWD:/workdir:rw" \
t2fn/chapel-claude-abliterated:latest
# Claude-tools shell -- invoke a shell with claude-shell capabilities
docker run -u $(id -u):$(id -g) -e ANTHROPIC_API_KEY=sk-... \
-v "$PWD:/workdir:rw" \
t2fn/chapel-claude-abliterated:latest /bin/bash
# Or with podman:
podman run -u $(id -u):$(id -g) --userns=keep-id \
-e ANTHROPIC_API_KEY=sk-... \
-v "$PWD:/workdir:rw" \
t2fn/chapel-claude-abliterated:latest /bin/bash
Claude traces the compilation pipeline, calls chpl, gdb, valgrind, and cmake, and returns a natural-language report -- all from one prompt.
With the /bin/bash argument, the container starts an interactive shell where claude-tools are available on $PATH and Claude Code is configured for development. From the shell you can:
claude-fix to analyze errors and propose fixesclaude-bash for bash sessions with smarter timeoutsclaude-agent to launch Claude as a persistent agent/fix, /ask, /plan) directly to Claudeclaude-fix --comment to post inline PR comments or --fix to apply findings directlyFor claude-tools examples and full reference, see mijuny/claude-tools.
Building Chapel applications typically means installing the Chapel toolchain, configuring parallelism backends (locales, threads, MPI), and setting up debugging/profiling tools. This container bundles it all and makes it accessible to Claude via a single -p prompt.
| Without this container | With chapel-claude-abliterated |
|---|---|
| Install Chapel from source with correct dependencies | docker run -- everything is ready |
| Compile Chapel code with -nl, -ll=openmp, or MPI flags | Claude knows the parallelism model flags automatically |
| Debug Chapel programs with gdb and valgrind | Pre-configured debugger chain ready to go |
| One tool per terminal session | chpl, gdb, valgrind, cmake all available |
| Manual parallelism configuration (locales, threads) | Ask Claude -- it knows Chapel's locale/thread model |
The container works with any Chapel project under /workdir:
forall, cobegin, coparallel constructs compiled and profiled| Component | Source | Description |
|---|---|---|
| Chapel | chapel-lang/chapel | High-productivity parallel programming language (v2.9.0) |
| chpl | chapel-lang/chapel | Chapel compiler with -nl/-ll-openmp/-ll=omp flags |
| Claude Code | claude-abliterated/ | Abliterated CLI with tweakcc, 200+ skills, rules |
| gdb | rockylinux.dev | Full-screen TUI debugger with Chapel expression support |
| valgrind | rockylinux.dev | Memory leak detection and profiling (memcheck, cachegrind) |
| LLD | llvm.org | High-performance LLVM linker for fast chpl builds |
| cmake | rockylinux.dev | Multi-language CMake builds for Chapel/C/Fortran projects |
| make | rockylinux.dev | Build automation for Makefile-based Chapel projects |
Chapel supports three levels of parallelism -- Claude knows how to compile and debug each:
| Model | Flag | Description |
|---|---|---|
| -nl (Network Level) | chpl -nl N code.chpl | Multi-locale execution across networked nodes |
| -ll=openmp | chpl -ll=openmp code.chpl | OpenMP thread-level parallelism via LLVM |
| -ll=omp | chpl -ll=omp code.chpl | OpenMP via GCC's libgomp backend |
| Category | Libraries |
|---|---|
| Core runtime | chapel-runtime, libc, libstdc++, libpthread |
| Parallelism | libomp (OpenMP), libdl, librt |
| Math / numeric | libm, libblacs, libscalapack (via system packages) |
| I/O | zlib, libbz2, liblz4, libzstd, libpng |
| Debugging | gdb, valgrind, libasan, libtsan |
Prompt Claude to use standard Chapel parallelism patterns. You can say "use the chapel skill to compile my code with 4 locales and profile it" and Claude will apply Chapel-specific compilation rules, set locale counts correctly, and verify each segment works.
Directed skills improve code quality and resilience. With abliterated Claude and directed skills:
Say "use the chapel skill to..." to directly task Claude with Chapel-specific skills -- chpl compilation with parallelism flags, gdb debugging of multi-locale code, valgrind profiling, and cmake-based builds.
Extends Claude Code with specialized command-line tools. Available scripts are automatically in $PATH and activate via slash commands or Claude's built-in tool use:
claude-fix # Fix code issues with context-aware edits
claude-ask # Ask questions, get answers without side effects
claude-bash # Run bash with smarter timeouts and session persistence
claude-agent # Launch Claude as a persistent agent
To invoke the claude-tools development shell, add /bin/bash to your docker run or podman run command. This starts an interactive shell where claude-tools are available on $PATH and Claude Code is configured for development:
# claude-tools development shell with Docker
docker run -u $(id -u):$(id -g) -e ANTHROPIC_API_KEY=sk-... \
-v "$PWD:/workdir:rw" \
t2fn/chapel-claude-abliterated:latest /bin/bash
# Or with podman:
podman run -u $(id -u):$(id -g) --userns=keep-id \
-e ANTHROPIC_API_KEY=sk-... \
-v "$PWD:/workdir:rw" \
t2fn/chapel-claude-abliterated:latest /bin/bash
From the shell you can run claude-fix, claude-ask, claude-bash, claude-agent, and send slash commands (/fix, /ask, /plan) directly to Claude. Use claude-fix --comment to post inline PR comments or --fix to apply findings directly.
More examples: mijuny/claude-tools/tree/main/README.md
This container runs on claude-abliterated:rocky10, which uses the tweakcc (tweakcc-fixed) reduced system prompt to cut ~67% off daily-flow prompts -- from ~30K to ~10K characters. For Chapel development, this means:
"Claude" and "Claude Code" are registered trademarks of Anthropic, PBC. This project uses the name "Claude" in a nominative (descriptive) sense -- it identifies the Anthropic product (Claude Code) that this project is built to work with, consistent with the nominative fair use doctrine. The use is necessary: a third-party project cannot refer to "Claude Code" without using the mark itself.
This project is not affiliated with, endorsed by, or sponsored by Anthropic, PBC. The name "chapel-claude-abliterated" is a third-party project name where:
The project uses both "Chapel" and "Claude" to describe what it works with, not who it is from.
All other trademarks belong to their respective owners. No implication of endorsement is made by the use of these marks.
Each language-specific container adds a focused toolchain and domain skills on top of claude-abliterated. They are all interchangeable -- use the one that matches your project, or combine them in the same workspace.
Source code and suggestions/issues/pull requests can be made at:
Content type
Image
Digest
sha256:308cf0cba…
Size
972.6 MB
Last updated
22 days ago
docker pull t2fn/chapel-claude-abliterated