{"id":14989441,"url":"https://github.com/dimensionsoftware/instant-skeleton","last_synced_at":"2025-10-04T20:40:40.908Z","repository":{"id":21486322,"uuid":"24805143","full_name":"DimensionSoftware/instant-skeleton","owner":"DimensionSoftware","description":"Lift realtime functionality into the browser with insane productivity","archived":false,"fork":false,"pushed_at":"2019-03-24T21:31:35.000Z","size":21443,"stargazers_count":15,"open_issues_count":3,"forks_count":5,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-25T21:04:31.219Z","etag":null,"topics":["dimensionsoftware","example","koa","koajs","live","livescript","nodejs","react","reactjs","realtime","realtime-functionality","rethinkdb","streaming"],"latest_commit_sha":null,"homepage":"http://dimensionsoftware.com","language":"LiveScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DimensionSoftware.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-10-05T00:31:16.000Z","updated_at":"2023-08-12T18:37:21.000Z","dependencies_parsed_at":"2022-08-21T01:10:25.531Z","dependency_job_id":null,"html_url":"https://github.com/DimensionSoftware/instant-skeleton","commit_stats":null,"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DimensionSoftware%2Finstant-skeleton","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DimensionSoftware%2Finstant-skeleton/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DimensionSoftware%2Finstant-skeleton/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DimensionSoftware%2Finstant-skeleton/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DimensionSoftware","download_url":"https://codeload.github.com/DimensionSoftware/instant-skeleton/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248501910,"owners_count":21114697,"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":["dimensionsoftware","example","koa","koajs","live","livescript","nodejs","react","reactjs","realtime","realtime-functionality","rethinkdb","streaming"],"created_at":"2024-09-24T14:18:22.703Z","updated_at":"2025-10-04T20:40:40.800Z","avatar_url":"https://github.com/DimensionSoftware.png","language":"LiveScript","readme":"\u003ccenter\u003e\n\n[![Instant Skeleton][is-image]][ds-link]\n\nInstant-Skeleton\n================\n[![Gitter][gitter-image]][gitter-link] [![Dimension Software][html5-image]][ds-link]\n\u003c/center\u003e\n\nBe Your Own Angel Investor\n--------------------------\nRealtime framework to lift heavy functionality lightening quick with Node.JS \u0026amp; RethinkDB!\n\n## Quick Start\n\n    $ git clone git@github.com:DimensionSoftware/instant-skeleton.git\n    $ cd instant-skeleton\n    $ npm install \u0026\u0026 npm test \u0026\u0026 npm start\n\n## Create Your First Page\n\nBuilding your SEO-friendly, secure, realtime streaming application is simple!  Instant Skeleton cobbles together the best of functional React.JS into a single, routable concept that makes your on-screen productivity incredible:\n\n\u003e  ***Page*** | \u0026nbsp; *declarative, isomorphic bits of\n[React](http://facebook.github.io/react/docs/getting-started.html) + [Omniscient](https://omniscientjs.github.io/) + [RethinkDB](http://www.rethinkdb.com/api/javascript/)*\n\n1. [Install RethinkDB](http://rethinkdb.com/docs/install/)\n\n2. Add a Page Route \u0026amp; Handler\n\n        $ vim shared/routes.ls\n        $ vim server/pages.ls\n\n3. Add a React Component for the Page\n\n        $ vim shared/react/[ROUTE-NAME].ls\n\n## Essential Environment \u0026amp; \"npm config\" Variables\n* `NODE_ENV`  -- \"development\", \"production\" or \"test\"\n* `NODE_PORT` -- port to listen on\n* `DOMAIN`    -- domain of site\n* `CACHE_URL` -- format for cache urls, eg: \"//cache%n.%domain\"\n\n[See all configurable variables in package.json](https://github.com/DimensionSoftware/instant-skeleton/blob/master/package.json#L50-L87) and [customize with a .env file](https://github.com/motdotla/dotenv)!\n\n## References\n\nSERVER\n\n* **Gulp** -- http://gulpjs.com\n    * **nodemon** --  https://github.com/JacksonGariety/gulp-nodemon\n    * **webpack** -- https://github.com/shama/gulp-webpack\n* **Koa** -- http://koajs.com\n    * **helmet** -- https://github.com/venables/koa-helmet\n    * **rate limit** -- https://github.com/tunnckoCore/koa-better-ratelimit\n    * **static cache** -- https://github.com/koajs/static-cache\n    * **rethinkdbdash** -- https://github.com/neumino/rethinkdbdash\n* **DotEnv** -- https://github.com/motdotla/dotenv\n* **PM2** -- https://github.com/Unitech/pm2\n\nSHARED\n\n* **LiveScript** -- https://livescript.net\n* **React** -- http://facebook.github.io/react/docs/getting-started.html\n    * **react router component** -- https://github.com/STRML/react-router-component\n    * **immutable.js** -- https://github.com/facebook/immutable-js\n    * **omniscient** -- https://omniscientjs.github.io/\n    * **hot-loader** -- http://gaearon.github.io/react-hot-loader/\n* **RethinkDB** -- http://rethinkdb.com\n    * **rethinkdb sessions** -- https://github.com/mikemintz/react-rethinkdb\n\nCLIENT\n\n* **Stylus** -- https://learnboost.github.io/stylus\n    * **nib** -- https://github.com/tj/nib\n\n## Principles\n\nHow much does your stack weigh?  Keeping Instant Skeleton light as possible means true agility and speed.  This no-compromise, SEO-friendly stack is fast, functional and streaming in realtime.  [RethinkDB is the single dependency to install](http://rethinkdb.com/docs/install/) and a cinch to scale your needs forward.  The rest is up to you!\n\nBuild bigger with less: a cutting-edge HTML5 core and true first-class mobile web experiences.  Got realtime physics at 60fps?  Real offline?  High-speed, secure websockets?  We do.\n\nFrom nothing, you have potential to build greatness; only-- with Instant Skeleton, you start way ahead with the best\ncurated tools for securely lifting heavy, realtime functionality into the browser with insane productivity.  Unlock the\npotential of HTML5 and Node.JS.  [Start hacking now!](https://github.com/DimensionSoftware/instant-skeleton/fork)\n\n## FAQ\n\n1. **What is \"develop.com\" and why am I seeing a blank page?**\n\n       Prefer to specify your own domain for local development and deployment?  Simply [specify that DOMAIN in a .env file](https://github.com/motdotla/dotenv) or export the DOMAIN environment variable; otherwise, append your /etc/hosts to include the develop \u0026amp; cache domains:\n\n       ```sh\n       read -r -d '' MYDOMAINS \u003c\u003c'EOF'\n       127.0.0.1 develop.com\n       127.0.0.1 cache.develop.com\n       127.0.0.1 cache2.develop.com\n       127.0.0.1 cache3.develop.com\n       127.0.0.1 cache4.develop.com\n       EOF\n       echo $MYDOMAINS \u003e\u003e /etc/hosts\n       ```\n\n2. **How is this different from Meteor.JS?**\n\n       + We \u0026hearts; [NPM](http://npmjs.org).\n       + Instant Skeleton is tiny, fast \u0026amp; secure.\n       + We are streaming functional [LiveScript](http://livescript.net): write less code with fewer bugs.\n       + Isomorphic Web Components leveraging [React](http://facebook.github.io/react/docs/getting-started.html) for data-binding.\n\n3. **How easy is this to debug \u0026amp; reason about?**\n\n       + Variables are **const**ants\n       + [Immutable.JS](https://github.com/facebook/immutable-js) persistent data structures\n       + [ES6](http://tc39wiki.calculist.org/es6/), friendly stack traces \u0026amp; source maps\n       + [PM2](http://pm2.keymetrics.io/) instrumentation \u0026amp; process supervision for the 99.999%\n\n4. **How rapid is development?**\n\n       + [Instant \"hot\" live loads](https://www.youtube.com/watch?v=pw4fKkyPPg8)\n       + Undo \u0026amp; Redo for [FREE](https://github.com/omniscientjs/immstruct)\n       + Source maps\n\n5. **How can I enable \u0026amp; disable features with zero impact for those unused?**\n\n       We've implemented [The Famous TODO Example](https://todo.powerbulletin.com) for you to demonstrate building high-level functionality with Instant Skeleton.  Don't need it anymore?  Disable it--easy:\n\n       ```sh\n       vim shared/features.ls\n       ```\n\n6. **What about cacheability?**\n\n       All Pages are completely cacheable!  Etags \u0026amp; proper cache-control headers are automagically set on every Page and sessions stream in real-time on load.  The idea is to persist personalization in user sessions, backed by HTML5 local storage.\n\n\n7. **Production deployment?  We got you covered!**\n\n       Export a proper NODE_ENV and expect the correct behaviors with \"npm start\", \"npm stop\" \u0026amp; \"npm restart\".  Production builds shrink tiny, bootstrapping a reduced set of modules and client dependencies.  [Tweak ecosystem.json](https://github.com/DimensionSoftware/instant-skeleton/blob/master/ecosystem.json) to configure [PM2](http://pm2.keymetrics.io/) production.  For highly secure, end-to-end SSL, prefer termination infront of Node.JS.\n\n\n8. **What about Native Desktop, iOS/Droid \u0026amp; and mobile devices?**\n\n       Instant Skeleton is engineered to drop right into a [Electron](http://electron.atom.io/), [Cordova](https://cordova.apache.org/) and [NW.js](http://nwjs.io/).  Of course, [React Native](https://facebook.github.io/react-native/) provides the best native experience for mobile.  Use realtime, secure WebSockets for communication back to your Instant Skeleton application!\n\n## [Hire Us!](mailto:keith@dimensionsoftware.com)\n\nReally digging our [software architecture](https://dimensionsoftware.com)?  [**Say Hello and let us know**](mailto:keith@dimensionsoftware.com)-- Instant Skeleton is battle-tested, having bootstrapped many of our most successful client projects.\n\n[We are pull-request-friendly, contribute today!](https://github.com/DimensionSoftware/instant-skeleton/graphs/contributors)\n\n##### [Example TODO Application](https://todo.powerbulletin.com)\n\n\u003ccenter\u003e\n[![Fresh Software by Dimension](https://dimensionsoftware.com/static/images/github/software_by.png)](https://dimensionsoftware.com)\n\u003c/center\u003e\n\n[ds-link]: https://dimensionsoftware.com\n[is-image]: https://dimensionsoftware.com/static/images/github/skull_keys.png\n[gitter-image]: https://badges.gitter.im/Join%20Chat.svg\n[gitter-link]: https://gitter.im/DimensionSoftware/instant-skeleton?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge\n[html5-image]: http://img.shields.io/badge/HTML-5-blue.svg?style=flat\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdimensionsoftware%2Finstant-skeleton","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdimensionsoftware%2Finstant-skeleton","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdimensionsoftware%2Finstant-skeleton/lists"}