A TUI app for Clojure dialects.
Scaffold new projects, run tasks, launch REPLs, and explore community resources.
Built on Babashka + Charm, with help from rewrite-clj + cljfmt.
Project Wizard dispatches to deps-new.
• Select and run bb tasks:
• Launch the New Project Wizard to scaffold a new Clojure deps.edn project. More project types coming soon.
• Launch an interactive REPL for a given dialect:
• Explore Clojure community resources:
Early days.
Java
Clojure
Babashkav1.13.219
bbin
First, follow these instructions to install bbin, if it is not already installed.
Then install jus:
bbin install io.github.paintparty/jus
Launch the TUI:
jus
If your project has a bb.edn file with tasks defined, you can interactively browse and select tasks:
jus tasks
Based on usage patterns and subject to community feedback going forward, here is a short list of features being considered:
-
Support a Quickstart/Fiddle wizard flow
-
Support idiomatic new project templates for additional dialects. Currently, the new project wizard produces a deps.edn project structure and bb.edn for JVM clojure projects. In order of priority, I would like to add support for: 1 Babashka 2 CLJS Browser 3 CLJS Node 4 Squint 5 nbb 6 Jolt
-
Leverage the TUI to expose the functionality of existing deps.edn project utility libs such as neil, similar to how jus currently dispatches to deps-new
-
A search UI for discovery of libs/functions à la The Clojure Toolbox, clojure.land, or Cloogle
-
Creation of a floating modal-panel to leverage for contextual menus and alerts (info, errors, warnings, and query results).
-
Lightweight "My Projects" directory/dashboard
-
Automated "recent news" aggregator feed for people who want to limit their exposure to the UI of Slack, Reddit, etc.
-
Interactive discovery, via pregenerated menu (at TUI app lauch), of relevant info for Clojure development:
- Java/JDK version and install locations
- Clojure version and install location
- Clojure CLI tools installation status
- Similar info about other dialects such as Babashka
- If something that corresponds to one of these slots is not installed, the app could feature a CTA UI that would prompt the user to confirm installation process, which would exit the TUI and initiate the install.
Use this when developing from a checkout. The installed command continues to use this local source tree, so Clojure source edits are available the next time you run it.
-
Install bbin and make sure its bin directory is on your
PATH:brew install babashka/brew/bbin echo 'export PATH="$PATH:$HOME/.local/bin"' >> ~/.zshrc exec zsh
-
Clone this repository and enter it:
git clone git@github.com:paintparty/jus.git jus cd jus -
Install this checkout under a development-safe command name:
bbin install . --as jus-localbbin reads this project's
:bbin/binconfiguration, which launchesjus.tui.corewith-m. The--asname avoids replacing a separately installedjuscommand. -
Run it:
jus-local
-
Remove the local command when finished:
bbin uninstall jus-local
To install the checkout as the normal command instead, use
bbin install . --as jus and run jus.
Issues for bugs, improvements, or features are very welcome.
Please file an issue for discussion before starting or issuing a PR.
If you have a feed that you want featured in the Community Resources section, please add it to one or more of the aggregators or curated lists that are featured in various resource menus, for example:
Copyright © 2026 Jeremiah Coyle
This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which is available at http://www.eclipse.org/legal/epl-2.0.
This Source Code may also be made available under the following Secondary Licenses when the conditions for such availability set forth in the Eclipse Public License, v. 2.0 are satisfied: GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version, with the GNU Classpath Exception which is available at https://www.gnu.org/software/classpath/license.html.









