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
You can install jus via in-1 or bbin
in-1 is a very simple way to install lots of things quickly and with no prerequisites.
Note:
in-1works for Bash, Zah and Fish. See the install page specifics.
To try jus without installing it permanently, just run:
source <(curl -sL in-1.cc) jus # Bash or Zsh
curl -sL in-1.cc | source - jus # Fish shell
The jus command will be installed in /tmp/in-1/bin/jus and then /tmp/in-1/bin will be added to your PATH. That means jus is only available in the shell you installed it into.
To install jus (more permanently) in $HOME/.local/bin/jus, run:
source <(curl -sL in-1.cc) --local in-1 # First install ~/.local/bin/in-1
in-1 jus # Then install jus (or anything else) in ~/.local/bin/jus
Note:
--localis just shorthand forPREFIX=$HOME/.local, which you can use to install to some other place. Just be sure that$PREFIX/binis in yourPATH.
To uninstall jus, just run in-1 --uninstall jus.
If not already installed,
follow these instructions to install bbin.
Then install jus:
bbin install io.github.paintparty/jus
bbin uninstall 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
Shorthand for jus tasks
jus t
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 submitting a PR.
If you want to submit a PR against an open issue, start by dropping a message in the open issue before doing any work or issuing a PR, in order to initiate communication and make sure everyone is on the same page.
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.









