| name | babashka |
| description | Babashka scripting conventions for the Epupp project. Use when: writing or modifying bb.edn tasks, scripts in scripts/, build or test automation, choosing between bb and npx/npm/shell/Python, using babashka.fs, babashka.process, or babashka.http-client, or running any bb command in this repo. Prefer bb tasks over direct npm/npx; keep bb.edn minimal and put code in scripts/tasks.clj. IMPORTANT: Also load when planning automation or build pipeline changes. |
Using Babashka in This Project
This project uses Babashka, a fast-starting Clojure interpreter for scripting and automation.
bb Tasks
Don't put anything but the minimum code snippets in bb.edn. Use scripts/tasks.clj for code and call them from bb tasks.
Babashka utilities
Prefer Babashka built-in utilities over Python, shell scripts, or other external tools when functionality overlaps. The project uses Babashka extensively and has dependencies loaded.
Common replacements:
- HTTP server: Use
bb test:server or babashka.http-server instead of python -m http.server
- File operations: Use
babashka.fs instead of shell commands (cp, mv, rm, find, etc.)
- Process execution: Use
babashka.process instead of raw shell scripts
- HTTP requests: Use
babashka.http-client instead of curl or wget
Check bb.edn dependencies and existing tasks before reaching for external tools.