# Tablizer: fun experiment with Clojure CLI tools

**URL:** https://clojureverse.org/t/tablizer-fun-experiment-with-clojure-cli-tools/1249
**Category:** Showcase
**Created:** [December 23, 2017, 2:30pm UTC](https://clojureverse.org/t/tablizer-fun-experiment-with-clojure-cli-tools/1249 "2017-12-23T14:30:03Z")
**Posts on this page:** 1
**Showing post:** 8

<div class="post-metadata">

### Author: ![plexus](https://clojureverse.org/user_avatar/clojureverse.org/plexus/32/6_2.png) [@plexus](https://clojureverse.org/u/plexus)
#### Post date: [December 27, 2017, 11:10am UTC](https://clojureverse.org/t/tablizer-fun-experiment-with-clojure-cli-tools/1249/8 "2017-12-27T11:10:22Z")

</div>

`clj` has a different scope than `npm`, comparing the two is comparing apples and oranges. I also doubt we’ll start seeing a proliferation of command line tools based on Clojure now, there are better languages/environments for that. Still if you want to create and distribute Clojure-based command line tools I can see several options.

- Do what I did, just let people `git clone` your repo which contains `deps.clj` and any scripts
- Use `npm`. Why not? It actually contains a mechanism for adding binaries to the shell `$PATH`, so you can leverage that. Shadow-cljs does this, it really is a brilliant way to make people think that somehow there’s no JVM involved 🙂 You can bundle your `deps.clj` plus a wrapper script that `cd`'s to the right directory and invokes `clj` . You can even bundle the whole clojure CLI tools if you want to be batteries-included.
- Publish a jar with a `:main` namespace to Clojars

This last option is what I would probably do. It works with lein, boot, and clj, and extra benefit: you can also just use it as a library. install instructions are as easy as:

- add a new alias to `~/.clojure/deps.edn`

```auto
{
 ,,,
 :aliases
 {:mytool {:extra-deps {mytool {:mvn/version "1.0.0"}}}}}

```

- add an alias to `~/.bash_profile`

```auto
alias mytool='clj -R:mytool -m mytool.main'

```

---

_[View the full topic](https://clojureverse.org/t/tablizer-fun-experiment-with-clojure-cli-tools/1249)._
