{"id":15343089,"url":"https://github.com/oakmac/cuttle","last_synced_at":"2025-04-09T16:19:13.088Z","repository":{"id":21655957,"uuid":"24976780","full_name":"oakmac/cuttle","owner":"oakmac","description":"User Interface for the ClojureScript Compiler","archived":false,"fork":false,"pushed_at":"2018-08-04T02:58:58.000Z","size":3495,"stargazers_count":314,"open_issues_count":39,"forks_count":7,"subscribers_count":22,"default_branch":"master","last_synced_at":"2025-04-09T16:19:04.645Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oakmac.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-10-09T06:36:58.000Z","updated_at":"2025-01-01T17:17:28.000Z","dependencies_parsed_at":"2022-08-17T17:51:00.429Z","dependency_job_id":null,"html_url":"https://github.com/oakmac/cuttle","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oakmac%2Fcuttle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oakmac%2Fcuttle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oakmac%2Fcuttle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oakmac%2Fcuttle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oakmac","download_url":"https://codeload.github.com/oakmac/cuttle/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248065281,"owners_count":21041872,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-01T10:44:55.355Z","updated_at":"2025-04-09T16:19:13.071Z","avatar_url":"https://github.com/oakmac.png","language":"JavaScript","funding_links":[],"categories":["Example apps"],"sub_categories":["Open Source"],"readme":"![Cuttle](readme-img/cuttle-banner.png)\n\n__NOTE: project discontinued__\n\nCuttle is a standalone application that aims to be __the simplest way to use\nClojureScript__.  It provides a user-friendly interface, allowing you to build\nprojects by clicking a button, and to see meaningful warnings and errors at a\nglance.  In a way, it provides the \"builder\" parts of an IDE without making you\nleave your favorite editor.\n\n\u003ca href=\"https://raw.githubusercontent.com/oakmac/cuttle/master/readme-img/screenshots/2015-01-27-init.png\"\u003e\u003cimg src=\"readme-img/screenshots/2015-01-27-init.png\" width=\"350px\"\u003e\u003c/a\u003e \u003ca href=\"https://raw.githubusercontent.com/oakmac/cuttle/master/readme-img/screenshots/2015-01-27-errors.png\"\u003e\u003cimg src=\"readme-img/screenshots/2015-01-27-errors.png\" width=\"350px\"\u003e\u003c/a\u003e\n\nUnder the hood, Cuttle is not hiding a lot of magic from you.  It uses standard\nClojureScript workflow tools to perform its operations.  It uses Leiningen with\nthe lein-cljsbuild plugin listed in your project.clj, and the mies template for\ncreating new projects.  Thus, it should produce the same expected behavior as\nthese standard tools.\n\nCuttle is itself a ClojureScript application :) (running on a Node/Chromium\nframework called Atom Shell). We hope this tool encourages you to explore\nbuilding ClojureScript apps for the browser, Node, and other JS-targetted\nplatforms.\n\n## Installation\n\n__Download Cuttle v1.1__:\n\n[\u003cimg src=\"readme-img/windows.png\" height=\"16px\"\u003e Windows Installer](https://github.com/oakmac/cuttle/releases/download/v1.1/cuttle-v1.1-windows.exe)\u003cbr/\u003e\n[\u003cimg src=\"readme-img/apple.png\"   height=\"16px\"\u003e Mac DMG](https://github.com/oakmac/cuttle/releases/download/v1.1/cuttle-v1.1-mac.dmg)\u003cbr/\u003e\n[\u003cimg src=\"readme-img/linux.png\"   height=\"16px\"\u003e Linux zip](https://github.com/oakmac/cuttle/releases/download/v1.1/cuttle-v1.1-linux-x86_64.tar.gz)\n\n\n(Please make sure to install a [JRE \u003e= 7](http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html))\n\n__Homebrew Cask__\n\n```\n$ brew install caskroom/cask/brew-cask\n$ brew cask install cuttle\n```\n\nHomebrew-cask provides a friendly homebrew-style CLI workflow for the administration of Mac applications distributed as binaries.\n\nIt's implemented as a `homebrew` [external command](https://github.com/Homebrew/homebrew/blob/master/share/doc/homebrew/External-Commands.md) called `cask`.\n\n## User Guide\n\n- When first opening Cuttle, you will be prompted to add an existing project or\n  to create a new one.\n- __Add Existing Project__: If you are adding an existing project, you must\n  navigate the presented dialog to the project's `project.clj` file so that we\n  can find your configured builds.\n  - (We currently do not support cljsbuild configurations outside of the\n    default `:dev` profile).\n- __Add New Project__: If you are creating a new project, you will be prompted\n  for a name and location for its folder.\n  - (The standard `lein new mies` template will be used to create the project.)\n- __Build Table__: Once you have loaded a project, you will be presented with a\n  table of build configurations available for that project. Current status of\n  the build, along with warnings and errors will be displayed here.\n- __Build Button__: At the top-right of the build table, you should see a build\n  button.  You can first select the dropdown arrow to specifically set which\n  builds to compile and whether or not to automatically recompile when files\n  change.  Click the button proper to start building.\n- __Multiple Projects__: You can add multiple projects to this workspace.  The\n  projects are treated with isolated compiler instances and can be built in\n  parallel.\n- __Project Buttons__: The project buttons at the top-left of the build table\n  are also helpful for opening the project folder, re-fetching the build\n  configs, and removing the project from the workspace.\n- __Notifications__: The settings link at the top-right of the page currently\n  holds options for toggling compiler notifications\n  - (via Mac native Notifications, Linux `notify-send`, or Growl For Windows).\n- __Shutting Down__: When closing the application, all compiler instances that\n  happen to still be running are shutdown.  Your configurations are saved and\n  reloaded when re-opening the application.\n\n\n## Future\n\nWe welcome your ideas, bug reports, and pull requests!\n\nWith the ClojureScript tooling community rapidly growing, we hope to keep\nimproving the user experience to integrate new workflows, while also keeping\nits behavior simple and predictable.  Some ideas we are thinking about:\n\n- [Integration with Figwheel](https://github.com/oakmac/cuttle/issues/53)\n- a basic REPL for experimenting\n- [a full project-connected REPL](https://github.com/oakmac/cuttle/issues/54)\n- an interface for reading/modifying project.clj\n- [a test-runner for cljs.test](https://github.com/oakmac/cuttle/issues/28)\n\n## Development Setup\n\nTo setup a environment for building Cuttle:\n\n1. Install [Leiningen] and [Node.js].\n1. One-time setup. Run from the project directory:\n\n    ```sh\n    # linux/mac\n    scripts/setup.sh\n\n    # windows\n    scripts/setup.bat\n    ```\n\n1. Compile LESS and ClojureScript:\n\n    ```sh\n    grunt fresh-build\n    ```\n\n1. Launch to try it out:\n\n    ```sh\n    grunt launch\n    ```\n\n1. Assemble a release for your OS:\n\n    ```sh\n    grunt release\n    ```\n\n## About the Name/Logo\n\nCuttle is named after the [Cuttlefish] because [Shaun] likes cephalopods.\nThe logo is modeled after its uniquely shaped [eye].\n\nThe first three letters of Cuttle might stand for \"ClojureScript User Tool\", but\nthe last three letters don't stand for anything because Cuttle is not an\nacronym.\n\nCuttle should be capitalized like a proper noun when used in a sentence.\n\n## License\n\nAll code licensed under the terms of the [MIT\nLicense](https://github.com/oakmac/cuttle/blob/master/LICENSE.md).\n\n[Leiningen]:http://leiningen.org\n[Node.js]:http://nodejs.org\n[Atom Shell]:https://github.com/atom/atom-shell\n[Cuttlefish]:https://flic.kr/p/8oVLuC\n[Shaun]:https://github.com/shaunlebron\n[eye]:http://mentaldstruction.deviantart.com/art/Baby-Cuttlefish-112140710\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foakmac%2Fcuttle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foakmac%2Fcuttle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foakmac%2Fcuttle/lists"}