ワンクリックで
check-versions
// Check and update forj template dependency versions. Use when maintaining forj or when user asks about template versions.
// Check and update forj template dependency versions. Use when maintaining forj or when user asks about template versions.
REPL-driven autonomous development loops for Clojure. Spawns fresh Claude instances per iteration with REPL validation for 10x faster feedback.
Start or connect to a Clojure/ClojureScript/Babashka nREPL. Detects project type and starts appropriate REPL in background. Use when user wants to evaluate code, start REPL, or needs nREPL connection.
Scaffold a new Clojure project with composable modules. Creates hello-world examples only - no assumptions, no custom code.
Experimental: Run Lisa Loop checkpoints via Claude Code Agent Teams. You become team lead, coordinating parallel teammates with REPL-validated gates.
| name | check-versions |
| description | Check and update forj template dependency versions. Use when maintaining forj or when user asks about template versions. |
Check forj template dependencies against latest available versions.
| Command | Action |
|---|---|
/check-versions | Run version check, show outdated packages |
/check-versions update | Suggest updates for outdated packages |
bb check-versions
This checks:
The output shows:
✓ - Version is current⬆️ UPDATE - Newer version available⚠️ (fetch failed) - Could not check (usually transient network issue)(conditional) - Version depends on environment (e.g., Java version)IMPORTANT: Not all updates should be applied:
The single source of truth is:
packages/forj-skill/clj-init/versions.edn
Version Entry Format:
Simple version:
:react {:version "19.2.3"
:notes "Must match react-native peer dep"}
Conditional version (based on environment):
:shadow-cljs {:versions [{:version "^3.3.5"
:when {:java ">= 21"}
:notes "ESM support, smaller bundles"}
{:version "^2.28.23"
:when {:java "< 21"}
:notes "Works with Java 11+"}]
:default "^2.28.23"}
After editing versions.edn, update the actual template files that use these versions:
npm packages - Update package.json files:
packages/forj-skill/clj-init/templates/mobile/package.jsonpackages/forj-skill/clj-init/templates/fullstack-mobile/package.jsonpackages/forj-skill/clj-init/templates/web/package.jsonpackages/forj-skill/clj-init/templates/fullstack/package.jsonClojure deps - Update deps.edn files:
packages/forj-skill/clj-init/templates/api/deps.ednpackages/forj-skill/clj-init/templates/fullstack/deps.ednpackages/forj-skill/clj-init/templates/fullstack-mobile/deps.ednpackages/forj-skill/clj-init/templates/lib/deps.ednAfter updating:
bb test # Ensure tests pass
bb install # Reinstall skills with updated templates
Expo SDK upgrades are major changes. When upgrading:
Check Expo changelog for breaking changes
Update these together:
expo versionreact-native (to version Expo expects)react / react-dom (to match react-native peer dep)expo-* packages (status-bar, asset, etc.)Test by scaffolding a new mobile project:
cd /tmp
claude /clj-init test-app # Select mobile
cd test-app
npm install
npx expo start
The versions.edn supports conditional versions with :when clauses:
:when {:java ">= 21"} ; Requires Java 21 or higher
:when {:java "< 21"} ; For Java below 21
When evaluating:
java -version:default if no condition matches(conditional) marker