gforth Forth interpreter/compiler + stack-based dev tools, optimized for Forth development
1.2K
Cost savings: use the tweakcc reduced system prompt + specialized Forth 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 Forth source files into a container and ask Claude to compile, debug, profile, cross-compile embedded C, and ship them. This image combines Claude Code (abliterated) with the gforth interpreter/compiler, gdb debugger, valgrind profiler, and all build tools — a complete Forth development workstation for disconnected enterprise environments.
This container is a focused Forth development environment. Mount whatever Forth projects, real-time control scripts, or embedded systems code you want to work on, start the container, and Claude automatically gets:
No configuration, no setup. Give it Forth source files (.fs) and ask Claude to compile, lint, debug, and ship.
Building stack-based applications typically means installing gforth interpreter/compiler, setting up GDB for debugging, configuring make/cmake build systems, and installing valgrind for memory analysis. This container bundles it all and makes it accessible to Claude via a single prompt.
| Without this container | With forth-claude-abliterated |
|---|---|
| Install gforth, gdb, make separately | docker run — everything is ready |
| Compile Forth with correct stack semantics | Claude knows gforth's stack-based execution model automatically |
| Run interactive Forth REPL sessions | Ask Claude — it interprets and compiles .fs files correctly |
| One tool per terminal session | gforth, gdb, valgrind all available simultaneously |
| Manual embedded systems configuration | Pre-configured for spacecraft control, robotics, real-time applications |
The container works with any Forth project under /workdir:
.fs files with gforth's stack-based execution model-e flag| Component | Source | Description |
|---|---|---|
| gforth | gforth.org | GNU FreeForth interpreter/compiler with stack-based execution model and native code generation |
| gdb | rockylinux.dev | Full-screen TUI debugger with native Forth expression evaluation and stack inspection |
| valgrind | valgrind.org | Memory leak detection, profiling (memcheck, cachegrind) for compiled binaries |
| Component | Source | Description |
|---|---|---|
| make | rockylinux.dev | Build automation for Makefile-based Forth projects |
| cmake | cmake.org | Multi-language CMake builds for complex Forth/C/Fortran projects |
| libgfortran | gcc.gnu.org | Fortran runtime library for Forth-Fortran interop |
Prompt Claude to use standard Forth linting practices. You can say "use the forth skill to compile myscript.fs with gforth, debug it with gdb, and run valgrind" and Claude will apply Forth-specific compilation rules, break tasks down properly, and verify each segment works.
Directed skills improve code quality and resilience. With abliterated Claude and directed skills:
Say "use the forth skill to..." to directly task Claude with Forth-specific skills — gforth interpretation, GDB debugging, valgrind profiling, and make/cmake build automation.
# First, navigate to your project directory.
# cd $HOME/git/my-project
# Compile and run Forth with Claude and gforth working together
docker run -u $(id -u):$(id -g) -e ANTHROPIC_API_KEY=sk-... \
-v "$PWD:/workdir:rw" \
t2fn/forth-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/forth-claude-abliterated:latest
# Then send a prompt:
# "compile myscript.fs with gforth, debug it, and run the result"
# Run in privileged mode (for full device access):
docker run --privileged -u $(id -u):$(id -g) -e ANTHROPIC_API_KEY=sk-... \
-v "$PWD:/workdir:rw" \
t2fn/forth-claude-abliterated:latest
# Or with podman (no --privileged needed, use --device):
podman run -u $(id -u):$(id -g) --userns=keep-id \
--device=/dev/pts:/dev/pts \
-e ANTHROPIC_API_KEY=sk-... \
-v "$PWD:/workdir:rw" \
t2fn/forth-claude-abliterated:latest
# With Ollama for local LLM integration
docker run -u $(id -u):$(id -g) -e ANTHROPIC_API_KEY=sk-... \
-v "$PWD:/workdir:rw" \
t2fn/forth-claude-abliterated:latest
# Claude-tools development shell — start an interactive /bin/bash session with claude-tools available on $PATH
docker run -u $(id -u):$(id -g) -e ANTHROPIC_API_KEY=sk-... \
-v "$PWD:/workdir:rw" \
t2fn/forth-claude-abliterated:latest /bin/bash
# Then send a prompt:
# "compile and run myscript.fs, then debug it with gdb"
Claude connects to the gforth interpreter, calls gforth myscript.fs, traces stack operations, runs valgrind for memory checks, and returns a natural-language report — all from one prompt.
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 Forth 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 "forth-claude-abliterated" is a third-party project name where:
The project uses both "Forth" 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.
| Container | Purpose | Hub |
|---|---|---|
| asm-claude-abliterated | Cross-architecture assembly dev stack | Hub |
| gcc-claude-abliterated | C/C++ development with GCC + valgrind | Hub |
| golang-claude-abliterated | Go development with gopls + golangci-lint | Hub |
| python-claude-abliterated | Python linting with ruff + mypy | Hub |
| rust-claude-abliterated | Rust dev with clippy + cargo | Hub |
| java-claude-abliterated | Java/Spring Boot with Maven + Gradle | Hub |
| typescript-claude-abliterated | TypeScript dev with biome + eslint | Hub |
| ada-claude-abliterated | Ada development (GNAT via alr, AUnit testing) | Hub |
| cobol-claude-abliterated | COBOL compilation for mainframe modernization | Hub |
| fortran-claude-abliterated | Fortran HPC with BLAS/LAPACK math libs | Hub |
| julia-claude-abliterated | Julia scientific computing and IJulia notebooks | Hub |
| apache-claude-abliterated | Apache Spark + Pig big data processing | Hub |
| hdl-claude-abliterated | FPGA/ASIC HDL dev (iverilog, ghdl, verilator) | Hub |
| pascal-claude-abliterated | Pascal compilation with Free Pascal Compiler + gdb + valgrind | Hub |
| pli-claude-abliterated | PL/I mainframe compilation with xPL/C → gcc pipeline + gdb + valgrind | Hub |
| forth-claude-abliterated | Forth stack-based computing (gforth interpreter/compiler, gdb, valgrind) | This image |
Source code and suggestions/issues/pull requests can be made at:
Content type
Image
Digest
sha256:c8e1808a1…
Size
464.8 MB
Last updated
about 1 month ago
docker pull t2fn/forth-claude-abliterated