tools/console#
A single place to run every command in the atradio.fm monorepo, two ways:
- Interactive REPL — a Clojure + rebel-readline console where each command is a function.
- Babashka tasks — the same commands as fast
bbtasks for scripting/CI.
Setup#
The toolchain (Java, Clojure, Babashka) is pinned in the root mise.toml:
mise install # installs java, clojure, babashka (+ node, bun)
Interactive console (rebel REPL)#
From the repo root:
./console # launches the rebel REPL with all commands preloaded
Then call commands as functions:
(help) ; list everything
(dev) ; run every app in dev
(api-consumer) ; run only the Jetstream consumer
(migrate) ; apply Drizzle migrations
(gen-lexicons) ; regenerate lexicon JSON from Pkl
(gen-icons) ; regenerate PWA icons
Babashka tasks#
From tools/console/:
bb tasks # list tasks
bb dev # turbo dev
bb db:migrate # apply migrations
bb lexicons:gen # pkl -> lexicon JSON
bb repl # launch the rebel REPL
Both frontends shell out to the underlying bun / turbo / drizzle-kit /
pkl commands from the repo root, so they stay in sync with the workspace
scripts — nothing is duplicated.