mkhoeini / cljpm

Clojure Project Management

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

cljpm

Clojure Project Management

Vision

Subcommand Extensibility

Extensible with any global command.

cljpm <arbitrary command>

I can include arbitrary.clj in right places and it will be called.

Project File

The project.clj file is mostly compatible with leiningen. However, the idea is that it is only supposed to provide information to other tasks, much like package.json of npm, and not to define tasks and etc.

Dependencies File

Like bundler’s approach, dependencies is cleaner to be separated and speciallt treated. Dependenies along their asociated environment (dev,test,prod,…) and their source (maven,github,…) is better to be defined in another file dependencies.clj and also will create a .lock after installing.

Standard Subcommands

  • new It is like lein new to create a new project.
  • init It is like npm init to create a default standard project.clj.
  • install To download dependencies and create a .lock file.
  • run It is like npm run-script to provide a shortcut for simple tasks.

Remarks

  • It must be easy to define different repositories for packages, like maven, npm, github, etc.
  • Dependencies must be cached in a global place, but installed to project for easy access.
  • Easy way for passing configs like rake envs.
  • Standard environment treatment for dev/test/prod/... for customizing dependencies, config, etc.

About

Clojure Project Management

License:Eclipse Public License 1.0