Pascal Compiler (fpc) + Object Pascal support, optimized for Pascal development token efficiency
838
Cost savings: use the tweakcc reduced system prompt + specialized Pascal 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 Pascal source files into a container and ask Claude to compile, debug, lint, cross-compile, and ship them. This image combines Claude Code (abliterated) with the Free Pascal Compiler, gdb debugger, valgrind profiler, and all build tools — a complete Pascal development workstation for disconnected enterprise environments.
This container is a focused Pascal development environment. Mount whatever Pascal projects, academic exercises, or embedded systems code you want to work on, start the container, and Claude automatically gets:
No configuration, no setup. Give it Pascal source files (.pas) and ask Claude to compile, lint, debug, and ship.
Building Object Pascal applications typically means installing Free Pascal Compiler (fpc), 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 pascal-claude-abliterated |
|---|---|
| Install fpc, gdb, make, cmake separately | docker run — everything is ready |
| Compile Pascal with correct unit search paths | Claude knows Free Pascal's module system automatically |
| Run Object Pascal class hierarchies and interfaces | Ask Claude — it compiles and links multi-file projects correctly |
| One tool per terminal session | fpc, gdb, valgrind, make all available simultaneously |
| Manual cross-compilation configuration | Pre-configured for standard x86_64, ARM, MIPS targets |
The container works with any Pascal project under /workdir:
.pas files with fpc's Object Pascal modeuses clauses automatically linked-Fu unit paths| Component | Source | Description |
|---|---|---|
| fpc (Free Pascal Compiler) | freepascal.org | ANSI/ISO standard Pascal compiler with Object Pascal and Delphi compatibility modes |
| ppuasm | bundled with fpc | P-code unit assembler for low-level optimization |
| gdb | rockylinux.dev | Full-screen TUI debugger with native Pascal source-level debugging support |
| valgrind | valgrind.org | Memory leak detection, heapcheck, cachegrind profiling |
| Component | Source | Description |
|---|---|---|
| make | rockylinux.dev | Build automation for Makefile-based Pascal projects |
| cmake | cmake.org | Multi-language CMake builds for complex Pascal/C/Fortran projects |
| libgfortran | gcc.gnu.org | Fortran runtime library for Pascal-Fortran interop |
| openssl | openssl.org | TLS/SSL encryption libraries |
| zlib | zlib.net | Compression library for data serialization |
Prompt Claude to use standard Pascal linting practices. You can say "use the pascal skill to compile hello.pas with fpc, debug it with gdb, and run valgrind" and Claude will apply Pascal-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 pascal skill to..." to directly task Claude with Pascal-specific skills — fpc compilation, GDB debugging, valgrind profiling, and make/cmake build automation.
# First, navigate to your project directory.
# cd $HOME/git/my-project
# Compile and run Pascal with Claude and fpc working together
docker run -u $(id -u):$(id -g) -e ANTHROPIC_API_KEY=sk-... \
-v "$PWD:/workdir:rw" \
t2fn/pascal-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/pascal-claude-abliterated:latest
# Then send a prompt:
# "compile hello.pas with fpc, 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/pascal-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/pascal-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/pascal-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/pascal-claude-abliterated:latest /bin/bash
# Then send a prompt:
# "compile and run hello.pas, then debug it with gdb"
Claude connects to the fpc compiler, calls fpc -Fu. hello.pas, traces unit dependencies, 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 Pascal 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 "pascal-claude-abliterated" is a third-party project name where:
The project uses both "Pascal" 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 | This image |
Source code and suggestions/issues/pull requests can be made at:
Content type
Image
Digest
sha256:a2111b4ff…
Size
502.3 MB
Last updated
about 1 month ago
docker pull t2fn/pascal-claude-abliterated