curl -fsSL https://get.wagoe.org | bash
Standalone CLI tool for bootstrapping new Wagoe projects and adding optional modules. Installed via bbin — does not require the monorepo. Generated projects are fully self-contained.
Published to Clojars as com.wagoe/wagoe-cli, in lockstep with the rest of
the suite. As a CLI you normally install it with bbin rather than declaring it as
a dependency.
|
curl -fsSL https://get.wagoe.org | bash
The installer handles all prerequisites: JVM, Clojure CLI, Babashka, bbin, and the wagoe command itself.
Supports macOS, Debian/Ubuntu, Arch Linux, and WSL2.
Fallback if get.wagoe.org is unavailable:
curl -fsSL https://raw.githubusercontent.com/wagoebv/wagoe/main/scripts/install.sh | bash
wagoe new my-app # Scaffold a new project
wagoe new my-app --force # Overwrite existing directory
wagoe new my-app --no-user # Leave out the user module
Generates a complete project with four core modules pre-wired: core, observability, platform, and user. The project is immediately runnable after clojure -M:migrate up.
--no-userThe user module brings authentication, sessions, MFA and an audit trail, and
the four tables behind them: users, auth_users, user_sessions and
user_audit_log. Most applications want it, so it is on by default.
An application with no accounts does not, and --no-user leaves it out.
Measured on two projects generated side by side:
| default | --no-user | |
|---|---|---|
| 200 | 200 |
| 200 | 404 |
Tables created |
| none |
| yes | no |
The choice is a plain user? literal near the top of the generated
src/wagoe/config.clj — turning the module back on later is editing one word,
not regenerating the project. A database is still configured either way; if the
application needs no persistence at all, remove :wagoe/sqlite from
resources/conf/dev/config.edn as well.
wagoe add payments # PSP abstraction (Stripe / Mollie / Mock)
wagoe add cache # Redis / in-memory caching
wagoe add search # Full-text search (Meilisearch)
wagoe add jobs # Background job processing
Wires the module into deps.edn, system.clj, and migration files.
wagoe list modules # Human-readable table
wagoe list modules --json # Machine-readable JSON
wagoe version
my-app/
├── deps.edn # Clojure deps with :migrate, :repl, :test aliases
├── bb.edn # Babashka tasks (scaffold, check, doctor, deploy, ...)
├── dev-config.edn # Development environment config
├── test-config.edn # Test environment config
├── src/
│ └── my_app/
│ └── system.clj # Component system wiring
└── AGENTS.md # AI agent context file
If you prefer to manage your own bbin installation:
bbin install https://github.com/wagoebv/wagoe \
--tag v1.0.1-alpha-15 \
--git/root libs/wagoe-cli \
--main-opts '["-m" "wagoe.cli.main"]' \
--as wagoe
The installer also installs clj-nrepl-eval and clj-paren-repair from clojure-mcp-light for REPL-over-MCP workflows:
clj-nrepl-eval --discover-ports # Connect AI agent to running REPL
Can you improve this documentation? These fine people already did:
Thijs Creemers & thijscreemersEdit on GitHub
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |