[](https://circleci.com/gh/metabase/metabase-init) ## Install Prerequisites 1. Oracle JDK 8 (http://www.oracle.com/technetwork/java/javase/downloads/index.html) 2. Node.js for npm (http://nodejs.org/) 3. Leiningen (http://leiningen.org/) ## Build Install clojure + npm/bower requirements with lein deps npm install Build the application JS and CSS with lein gulp When developing the frontend client, you'll want to watch for changes, so run the default gulp task. ./node_modules/gulp/bin/gulp.js ## Usage Then run the HTTP server with lein ring server ## Unit Tests / Linting Check that the project can compile successfully with lein check Run the linter with lein eastwood Run unit tests with lein test ## Documentation #### Instant Cheatsheet Start up an instant cheatsheet for the project + dependencies by running lein instant-cheatsheet #### Marginalia Available at http://metabase.github.io/metabase-init/. You can generate and view documentation with lein marg open ./docs/uberdoc.html You can update the GitHub pages documentation using make dox You should be on the `master` branch without any uncommited local changes before doing so. Also, make sure you've fetched the branch `gh-pages` and can push it back to `origin`. ## Migration Summary lein migration-summary Will give you a list of all tables + fields in the Metabase DB. ## Bootstrapping (for Development) To quickly get your dev environment set up, use the `bootstrap` function to create a new User and Organization. Open a REPL in Emacs or with `lein repl` and enter the following: (use 'metabase.bootstrap) (bootstrap) You'll be walked through the steps to get started. ## API Client (for Development) You can make API calls from the REPL using `metabase.http-client`: (use 'metabase.http-client) (defn cl [& args] (-> (apply client {:email "crowberto@metabase.com", :password "blackjet"} args) clojure.pprint/pprint)) (cl :get "user/current") ;; -> {:email "crowbetro@metabase.com", ;; :first_name "Crowbero", ;; :last_login #inst "2015-03-13T22:55:05.390000000-00:00", ;; ...} ## Checking for Out-of-Date Dependencies lein ancient # list all out-of-date dependencies lein ancient latest lein-ring # list latest version of artifact lein-ring Will give you a list of out-of-date dependencies. Once's this repo is made public, this Clojars badge will work and show the status as well: [](http://jarkeeper.com/metabase/metabase-init) ## License Copyright © 2015 FIXME Distributed under the terms of the GNU Affero General Public License (AGPL) except as otherwise noted. See individual files for details.