oakmac / cuttle

User Interface for the ClojureScript Compiler
MIT License
316 stars 11 forks source link

Cuttle

NOTE: project discontinued

Cuttle is a standalone application that aims to be the simplest way to use ClojureScript. It provides a user-friendly interface, allowing you to build projects by clicking a button, and to see meaningful warnings and errors at a glance. In a way, it provides the "builder" parts of an IDE without making you leave your favorite editor.

Under the hood, Cuttle is not hiding a lot of magic from you. It uses standard ClojureScript workflow tools to perform its operations. It uses Leiningen with the lein-cljsbuild plugin listed in your project.clj, and the mies template for creating new projects. Thus, it should produce the same expected behavior as these standard tools.

Cuttle is itself a ClojureScript application :) (running on a Node/Chromium framework called Atom Shell). We hope this tool encourages you to explore building ClojureScript apps for the browser, Node, and other JS-targetted platforms.

Installation

Download Cuttle v1.1:

Windows Installer
Mac DMG
Linux zip

(Please make sure to install a JRE >= 7)

Homebrew Cask

$ brew install caskroom/cask/brew-cask
$ brew cask install cuttle

Homebrew-cask provides a friendly homebrew-style CLI workflow for the administration of Mac applications distributed as binaries.

It's implemented as a homebrew external command called cask.

User Guide

Future

We welcome your ideas, bug reports, and pull requests!

With the ClojureScript tooling community rapidly growing, we hope to keep improving the user experience to integrate new workflows, while also keeping its behavior simple and predictable. Some ideas we are thinking about:

Development Setup

To setup a environment for building Cuttle:

  1. Install Leiningen and Node.js.

  2. One-time setup. Run from the project directory:

    # linux/mac
    scripts/setup.sh
    
    # windows
    scripts/setup.bat
  3. Compile LESS and ClojureScript:

    grunt fresh-build
  4. Launch to try it out:

    grunt launch
  5. Assemble a release for your OS:

    grunt release

About the Name/Logo

Cuttle is named after the Cuttlefish because Shaun likes cephalopods. The logo is modeled after its uniquely shaped eye.

The first three letters of Cuttle might stand for "ClojureScript User Tool", but the last three letters don't stand for anything because Cuttle is not an acronym.

Cuttle should be capitalized like a proper noun when used in a sentence.

License

All code licensed under the terms of the MIT License.