.config/eca/skills/brepl/SKILL.md
MANDATORY - Load this skill BEFORE using brepl in any way. Teaches the heredoc pattern for reliable Clojure code evaluation.
npx skillsauth add ericdallo/dotfiles breplInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You MUST load this skill before using brepl. Do NOT attempt to use brepl without loading this skill first, or you will use incorrect syntax.
brepl is a REPL client for evaluating Clojure expressions. This skill teaches the heredoc pattern for reliable code evaluation.
Always load this skill before using brepl. Always use the heredoc pattern for all Clojure code evaluation.
Always use heredoc for brepl evaluation. This eliminates quoting issues, works for all cases, and provides a consistent, reliable pattern.
brepl <<'EOF'
(your clojure code here)
EOF
This is the simplest heredoc syntax - stdin feeds directly to brepl.
For simple one-liners, you can use positional arguments:
brepl '(+ 1 2 3)'
Heredoc is preferred for anything with quotes or multiple lines.
Note: The -e flag is optional - brepl automatically treats stdin and positional arguments as code to evaluate.
Important: Use <<'EOF' (with quotes) not <<EOF to prevent shell variable expansion.
Multi-line expressions:
brepl <<'EOF'
(require '[clojure.string :as str])
(str/join ", " ["a" "b" "c"])
EOF
Code with quotes:
brepl <<'EOF'
(println "String with 'single' and \"double\" quotes")
EOF
Reloading and testing:
brepl <<'EOF'
(require '[myapp.core] :reload)
(myapp.core/some-function "test" 123)
EOF
Complex data structures:
brepl <<'EOF'
(def config
{:database {:host "localhost"
:port 5432
:name "mydb"}
:api {:key "secret-key"
:endpoint "https://api.example.com"}})
(println (:database config))
EOF
Running tests:
brepl <<'EOF'
(require '[clojure.test :refer [run-tests]])
(require '[myapp.core-test] :reload)
(run-tests 'myapp.core-test)
EOF
For very simple expressions, you can use direct positional arguments:
# Simple expression
brepl '(inc 1)'
# Same with heredoc (consistent approach)
brepl <<'EOF'
(inc 1)
EOF
Why prefer heredoc: No mental overhead deciding which pattern to use, no risk of quoting issues, easy to extend.
To load an entire file into the REPL:
brepl -f src/myapp/core.clj
After loading, you can evaluate functions from that namespace using either pattern.
Use brepl balance to fix unbalanced brackets in Clojure files using parmezan:
# Fix file in place (default)
brepl balance src/myapp/core.clj
# Preview fix to stdout
brepl balance src/myapp/core.clj --dry-run
This is useful for recovering files with bracket errors.
brepl <<'EOF'
(require '[myapp.core] :reload-all)
EOF
brepl <<'EOF'
(require '[clojure.repl :refer [doc source]])
(doc map)
(source filter)
EOF
brepl <<'EOF'
*e
(require '[clojure.repl :refer [pst]])
(pst)
EOF
<<'EOF' not <<EOF to prevent shell expansionConsistency over optimization. While simple positional arguments work for basic cases, using heredoc everywhere means:
<<'EOF' and EOF is literalShell quoting with Clojure is error-prone: Clojure uses both single and double quotes, nested quotes require escaping, and reader macros can confuse the shell. Heredoc eliminates all these issues.
brepl documentation: https://github.com/licht1stein/brepl
development
Maintainer-only workflow for handling GitHub Secret Scanning alerts on OpenClaw. Use when Codex needs to triage, redact, clean up, and resolve secret leakage found in issue comments, issue bodies, PR comments, or other GitHub content.
development
Maintainer workflow for OpenClaw releases, prereleases, changelog release notes, and publish validation. Use when Codex needs to prepare or verify stable or beta release steps, align version naming, assemble release notes, check release auth requirements, or validate publish-time commands and artifacts.
development
Run, watch, debug, and extend OpenClaw QA testing with qa-lab and qa-channel. Use when Codex needs to execute the repo-backed QA suite, inspect live QA artifacts, debug failing scenarios, add new QA scenarios, or explain the OpenClaw QA workflow. Prefer the live OpenAI lane with regular openai/gpt-5.4 in fast mode; do not use gpt-5.4-pro or gpt-5.4-mini unless the user explicitly overrides that policy.
development
End-to-end Parallels smoke, upgrade, and rerun workflow for OpenClaw across macOS, Windows, and Linux guests. Use when Codex needs to run, rerun, debug, or interpret VM-based install, onboarding, gateway smoke tests, latest-release-to-main upgrade checks, fresh snapshot retests, or optional Discord roundtrip verification under Parallels.