{"id":21038618,"url":"https://github.com/degree9/meta","last_synced_at":"2025-05-15T16:31:21.558Z","repository":{"id":88498184,"uuid":"82129902","full_name":"degree9/meta","owner":"degree9","description":"A stack. A framework. A conversation.","archived":false,"fork":false,"pushed_at":"2020-01-18T20:28:46.000Z","size":734,"stargazers_count":132,"open_issues_count":4,"forks_count":14,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-05-06T07:27:43.418Z","etag":null,"topics":["atom","boot-clj","clojurescript","docker","electron","feathersjs","hoplon","nodejs"],"latest_commit_sha":null,"homepage":"","language":"Clojure","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/degree9.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null},"funding":{"patreon":"degree9"}},"created_at":"2017-02-16T02:28:06.000Z","updated_at":"2023-12-27T07:45:21.000Z","dependencies_parsed_at":"2023-06-28T09:57:10.863Z","dependency_job_id":null,"html_url":"https://github.com/degree9/meta","commit_stats":{"total_commits":191,"total_committers":3,"mean_commits":"63.666666666666664","dds":"0.020942408376963373","last_synced_commit":"16dee6b01dd6402250b4b7a30185c0c0466985b3"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/degree9%2Fmeta","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/degree9%2Fmeta/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/degree9%2Fmeta/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/degree9%2Fmeta/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/degree9","download_url":"https://codeload.github.com/degree9/meta/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254264923,"owners_count":22041811,"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":["atom","boot-clj","clojurescript","docker","electron","feathersjs","hoplon","nodejs"],"created_at":"2024-11-19T13:33:39.088Z","updated_at":"2025-05-15T16:31:21.536Z","avatar_url":"https://github.com/degree9.png","language":"Clojure","funding_links":["https://patreon.com/degree9","https://www.patreon.com/degree9"],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\u003cimg src=\".github/D9 Meta.png\" alt=\"meta\" height=\"200px\"\u003e\u003c/p\u003e\n\n# [meta]\n\n[![Clojars Project][7]][8] [![CircleCI][9]][10] [![Downloads][13]][14] [![Slack][slack]][d9-slack]\n\u003c!---[![Dependencies Status][11]][12]---\u003e\n\nA stack. A framework. A conversation.\n\n---\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://degree9.io\" align=\"center\"\u003e\n    \u003cimg width=\"135\" src=\".github/logo.png\"\u003e\n  \u003c/a\u003e\n  \u003cbr\u003e\n  \u003cb\u003eMeta is developed and maintained by Degree9\u003c/b\u003e\n\u003c/p\u003e\n\n---\n\n\u003cimg src=\"https://raw.githubusercontent.com/cljs/logo/master/cljs.png\" width=\"100\" alt=\"CLJS Logo\"\u003e\u003cimg src=\"http://boot-clj.com/assets/images/logos/boot-logo-3.png\" width=\"100\" alt=\"Boot Logo\"\u003e\u003cimg src=\"http://hoplon.io/images/logos/hoplon-logo.png\" width=\"100\" alt=\"Hoplon Logo\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/5321853?s=200\u0026v=4\" width=\"100\" alt=\"Feathers.js Logo\"\u003e\u003cimg src=\"https://cdn.worldvectorlogo.com/logos/nodejs-icon.svg\" width=\"90\" alt=\"Node.js Logo\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/79904b8ba0d1bce43022bbd5710f0ea1db33f54f/68747470733a2f2f7261776769742e636f6d2f73696e647265736f726875732f617765736f6d652d656c656374726f6e2f6d61737465722f656c656374726f6e2d6c6f676f2e737667\" width=\"90\" alt=\"Electron Logo\"\u003e\u003cimg src=\"https://upload.wikimedia.org/wikipedia/commons/thumb/8/80/Atom_editor_logo.svg/2000px-Atom_editor_logo.svg.png\" width=\"100\" alt=\"Atom Logo\"\u003e\u003cimg src=\"https://cdn.worldvectorlogo.com/logos/docker.svg\" width=\"100\" alt=\"Docker Logo\"\u003e\n\n## What is [meta]? ##\n[meta] is a stack for building software using Clojure(Script).\n\n## Why [meta]? ##\nWe built [meta] out of the idea that a single Open Source package could be used to build any tech startup. We named it [meta] as a reminder that software takes many forms and like ideas, should continuously evolve. [meta] is an attempt at building the quickest path from an idea to a startup.\n\nThings [meta] has been used for:\n\n - Application Prototyping\n - Enterprise Applications\n\n## When should I use [meta]? ##\n[Always.](https://twitter.com/degree9io/status/848972601091346433)\n\n***\n\n\u003cimg src=\"https://raw.githubusercontent.com/cljs/logo/master/cljs.png\" width=\"180\" alt=\"CLJS Logo\" align=\"right\"\u003e\n\n## [meta] Internals ##\n[meta] is written in Clojure(Script) and built using:\n- [Boot][1] - Build tooling for Clojure.\n- [Hoplon][2] - ClojureScript Web Framework.\n- [Feathers.js][3] - An open source REST and realtime API layer for modern applications.\n- [Node.js][4] - JavaScript runtime built on Chrome's V8 JavaScript engine.\n- [Electron][5] - Build cross platform desktop apps with JavaScript, HTML, and CSS.\n- [Atom][6] - A hackable text editor for the 21st Century.\n\n[![Clojure](https://img.shields.io/badge/clojure-v1.8.0-blue.svg)](https://clojure.org)\n[![ClojureScript](https://img.shields.io/badge/clojurescript-v1.9.293-blue.svg)](https://clojurescript.org)\n\n***\n\n\u003cimg src=\"http://boot-clj.com/assets/images/logos/boot-logo-3.png\" width=\"180\" alt=\"Boot Logo\" align=\"right\"\u003e\n\n## Using [meta] ... with Boot ##\n\n[![Boot][24]][1] [![Wiki][34]][35]\n\n[meta] is powered by Boot, an environment for building applications using clojure.\n\n__Generate an empty project:__\n\u003e $ boot -d degree9/meta generate --name my-app\n\n__Start a development workflow:__\n\u003e $ boot develop\n\nThanks to Boot, [meta] is built with itself.\n\n- [boot-exec][15] - Boot-clj external process execution using Apache Commons Exec.\n- [boot-semver][17] - Semantic Versioning for boot projects.\n- [boot-semgit][18] - Semantic Git access from boot tasks.\n- [boot-welcome][36] - ASCII art banners with boot-clj.\n\n[![Clojars Project](https://img.shields.io/clojars/v/degree9/boot-exec.svg)](https://clojars.org/degree9/boot-exec)\n[![Clojars Project](https://img.shields.io/clojars/v/degree9/boot-semver.svg)](https://clojars.org/degree9/boot-semver)\n[![Clojars Project](https://img.shields.io/clojars/v/degree9/boot-semgit.svg)](https://clojars.org/degree9/boot-semgit)\n[![Clojars Project](https://img.shields.io/clojars/v/degree9/boot-welcome.svg)](https://clojars.org/degree9/boot-welcome)\n\n***\n\n\u003cimg src=\"http://hoplon.io/images/logos/hoplon-logo.png\" width=\"220\" alt=\"Hoplon Logo\" align=\"right\"\u003e\n\n## ClojureScript in the Browser ... with Hoplon ##\n\n[![Hoplon][23]][2]\n\nWe believe in building universal technologies and the web is the most accessible platform available. [meta] builds upon Hoplon to provide abstractions for the DOM.\n\n```clojure\n(page \"index.html\")\n\n(html\n  (head\n    (title \"[meta]\"))\n  (body\n    (p \"Hello!\")))\n```\n\n- [material-hl][32] - Material Design Components for Hoplon\n- [uikit-hl][uikit-hl] - UIkit v3 Components for Hoplon\n\n[![Clojars Project](https://img.shields.io/clojars/v/degree9/material-hl.svg)](https://clojars.org/degree9/material-hl)\n[![Clojars Project](https://img.shields.io/clojars/v/degree9/uikit-hl.svg)](https://clojars.org/degree9/uikit-hl)\n\n***\n\n\u003cimg src=\"https://avatars2.githubusercontent.com/u/5321853?s=200\u0026v=4\" width=\"180\" alt=\"Feathers.js Logo\" align=\"right\"\u003e\n\n## Realtime Communication ... with Feathers.js ##\n\n[![Feathers][31]][3]\n\n[meta] provides both REST and Realtime communication via FeatherScript, a wrapper around Feathers.js implemented in ClojureScript. Feathers enables event-based communication between clients and servers and other API's including persistent data stores.\n\n- [featherscript][20] - A feathers.js wrapper for ClojureScript.\n\n[![Clojars Project](https://img.shields.io/clojars/v/degree9/featherscript.svg)](https://clojars.org/degree9/featherscript)\n\n***\n\n\u003cimg src=\"https://cdn.worldvectorlogo.com/logos/nodejs-icon.svg\" width=\"180\" alt=\"Node.js Logo\" align=\"right\"\u003e\n\n## ClojureScript on the Server ... with Node.js ##\n\n[![Node][29]][4]\n\n[meta] is built entirely out of Clojure(Script) including the backend. This means compiling to JavaScript and running on Node.js.\n\n- [boot-nodejs][16] - Node.js tasks for boot-clj.\n- [boot-npm][19] - Node Package Manager (NPM) wrapper task for boot-clj.\n- [nodejs-cljs][21] - CLJS bindings for the Node.js API.\n\n[![Clojars Project](https://img.shields.io/clojars/v/degree9/boot-nodejs.svg)](https://clojars.org/degree9/boot-nodejs)\n[![Clojars Project](https://img.shields.io/clojars/v/degree9/boot-npm.svg)](https://clojars.org/degree9/boot-npm)\n[![Clojars Project](https://img.shields.io/clojars/v/degree9/nodejs-cljs.svg)](https://clojars.org/degree9/nodejs-cljs)\n\n***\n\n\u003cimg src=\"https://camo.githubusercontent.com/79904b8ba0d1bce43022bbd5710f0ea1db33f54f/68747470733a2f2f7261776769742e636f6d2f73696e647265736f726875732f617765736f6d652d656c656374726f6e2f6d61737465722f656c656374726f6e2d6c6f676f2e737667\" width=\"180\" alt=\"Electron Logo\" align=\"right\"\u003e\n\n## ClojureScript on the Client ... with Electron ##\n\n[![Electron][30]][5]\n\n[meta] can package Client/Server applications with Electron. Building cross-platform Clojure(Script) applications.\n\n- [electron-cljs][22] - Electron bindings for CLJS.\n- [boot-electron][33] - Electron tasks for boot-clj.\n\n[![Clojars Project](https://img.shields.io/clojars/v/degree9/electron-cljs.svg)](https://clojars.org/degree9/electron-cljs)\n[![Clojars Project](https://img.shields.io/clojars/v/degree9/boot-electron.svg)](https://clojars.org/degree9/boot-electron)\n\n***\n\n\u003cimg src=\"https://upload.wikimedia.org/wikipedia/commons/thumb/8/80/Atom_editor_logo.svg/2000px-Atom_editor_logo.svg.png\" width=\"180\" alt=\"Atom Logo\" align=\"right\"\u003e\n\n## Developed ... with Atom ##\n\n[![Atom][25]][26]\n\n[meta] is being cultivated within Atom, a hackable text editor\nfor the 21st Century.\n\n- [proto-repl][28] - A Clojure Development Environment package for Atom.\n\n[![Clojars Project](https://img.shields.io/clojars/v/proto-repl.svg)](https://clojars.org/proto-repl)\n\n***\n\n\u003cimg src=\"https://cdn.worldvectorlogo.com/logos/docker.svg\" width=\"180\" alt=\"Docker Logo\" align=\"right\"\u003e\n\n## Containerization ... with Docker ##\n[meta] server applications can be containerized for scalability through docker.\n\n- [boot-docker][27] - Docker wrapper for boot-clj.\n\n[![Clojars Project](https://img.shields.io/clojars/v/degree9/boot-docker.svg)](https://clojars.org/degree9/boot-docker)\n\n---\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.patreon.com/degree9\" align=\"center\"\u003e\n    \u003cimg src=\"https://c5.patreon.com/external/logo/become_a_patron_button@2x.png\" width=\"160\" alt=\"Patreon\"\u003e\n  \u003c/a\u003e\n  \u003cbr\u003e\n  \u003cb\u003eSupport this and other open-source projects on Patreon!\u003c/b\u003e\n\u003c/p\u003e\n\n---\n\n[1]: http://boot-clj.com\n[2]: http://hoplon.io\n[3]: http://feathersjs.com\n[4]: http://nodejs.org\n[5]: http://electron.atom.io\n[6]: http://atom.io\n[7]: https://img.shields.io/clojars/v/degree9/meta.svg\n[8]: https://clojars.org/degree9/meta\n[9]: https://circleci.com/gh/degree9/meta.svg?style=shield\n[10]: https://circleci.com/gh/degree9/meta\n[11]: https://versions.deps.co/degree9/meta/status.svg\n[12]: https://versions.deps.co/degree9/meta\n[13]: https://versions.deps.co/degree9/meta/downloads.svg\n[14]: https://versions.deps.co/degree9/meta\n[15]: https://github.com/degree9/boot-exec\n[16]: https://github.com/degree9/boot-nodejs\n[17]: https://github.com/degree9/boot-semver\n[18]: https://github.com/degree9/boot-semgit\n[19]: https://github.com/degree9/boot-npm\n[20]: https://github.com/degree9/featherscript\n[21]: https://github.com/degree9/nodejs-cljs\n[22]: https://github.com/degree9/electron-cljs\n[23]: https://img.shields.io/clojars/v/hoplon.svg?colorB=orange\n[24]: https://img.shields.io/clojars/v/boot.svg?colorB=dfb317\n[25]: https://img.shields.io/github/release/atom/atom.svg\n[26]: https://atom.io\n[27]: https://github.com/degree9/boot-docker\n[28]: https://github.com/jasongilman/proto-repl\n[29]: https://img.shields.io/badge/node-v7.7.4-yellowgreen.svg\n[30]: https://img.shields.io/badge/electron-v1.6.2-blue.svg\n[31]: https://img.shields.io/badge/feathers-v2.1.1-lightgrey.svg\n[32]: https://github.com/degree9/material-hl\n[33]: https://github.com/degree9/boot-electron\n[34]: https://img.shields.io/badge/wiki-boot-lightgrey.svg\n[35]: https://github.com/degree9/meta/wiki/Boot\n[36]: https://github.com/degree9/boot-welcome\n[uikit-hl]: https://github.com/degree9/uikit-hl\n[gh-stars]: https://img.shields.io/github/stars/degree9/meta.svg?style=social\u0026label=Stars\n[d9-tweet]: https://img.shields.io/twitter/follow/degree9io.svg?style=social\u0026label=Follow\n[slack]: https://img.shields.io/badge/clojurians-degree9-%23e01563.svg?logo=slack\n[d9-slack]: https://clojurians.slack.com/channels/degree9/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdegree9%2Fmeta","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdegree9%2Fmeta","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdegree9%2Fmeta/lists"}