{"id":13571075,"url":"https://github.com/jxnblk/ram","last_synced_at":"2025-09-30T16:31:20.265Z","repository":{"id":45582813,"uuid":"135911565","full_name":"jxnblk/ram","owner":"jxnblk","description":":atom_symbol: React Application Manager: create and run React (and other) applications – no command line or build setup required","archived":true,"fork":false,"pushed_at":"2018-11-02T14:35:15.000Z","size":2968,"stargazers_count":586,"open_issues_count":9,"forks_count":27,"subscribers_count":16,"default_branch":"master","last_synced_at":"2024-09-29T13:20:57.401Z","etag":null,"topics":["create-react-app","developer-tools","development","electron","gatsby","nextjs","npm","razzle","react","vuejs"],"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/jxnblk.png","metadata":{"files":{"readme":"README.md","changelog":null,"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":"2018-06-03T14:32:22.000Z","updated_at":"2024-09-27T06:01:51.000Z","dependencies_parsed_at":"2022-07-26T13:17:28.356Z","dependency_job_id":null,"html_url":"https://github.com/jxnblk/ram","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jxnblk%2Fram","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jxnblk%2Fram/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jxnblk%2Fram/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jxnblk%2Fram/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jxnblk","download_url":"https://codeload.github.com/jxnblk/ram/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234753620,"owners_count":18881426,"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":["create-react-app","developer-tools","development","electron","gatsby","nextjs","npm","razzle","react","vuejs"],"created_at":"2024-08-01T14:00:58.170Z","updated_at":"2025-09-30T16:31:19.806Z","avatar_url":"https://github.com/jxnblk.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"\n# RAM: React App Manager\n\n**BETA**\n\nCreate and run React applications – no command line or build setup required.\nPowered by [Electron][electron] \u0026 [Create React App][cra]\n\n\u003cimg src='docs/ram.gif' /\u003e\n\n## Getting started\n\nRAM requires Node.js v6 and npm v5.2 or later to be installed on your computer.\nInstall the latest version of Node.js (which includes npm) here:\n\n- [Install Node.js][node]\n\nDownload for MacOS:\n\n- [Download][download]\n\n[download]: https://github.com/jxnblk/ram/releases/latest\n\nRAM includes support for the following app types:\n\n- [Create React App][cra]\n- [Next.js][nextjs]\n- [Gatsby][gatsby]\n- [Razzle][razzle]\n- [Vue.js][vuejs]\n- [Preact][preact]\n\nTo add support for another app, please [open a pull request](#contributing).\n\n## Motivation\n\nI'm a firm believer in code literacy,\nand I've worked with many people throughout my career who have strong development skills with languages like HTML and CSS,\nbut who might face barriers to entry with modern front-end development tools.\nWhen I think about the potential barriers to entry, a few things come to mind:\n\n1. Scaffolding a full React (or similar) application requires a bit of setup\n2. The terminal and command line interfaces can be intimidating at first\n3. Node.js and npm can be foreign concepts to people new to front-end development\n\nFor the most part, [Create React App][cra] has solved #1 for people who already know #2 and #3.\nIt's an excellent tool and that's why RAM makes use of it.\n\nRAM is aimed at abstracting away the terminal and npm aspects for beginners.\nIf you're a professional front-end developer, I'd recommend using the command line tools directly instead of an application like this,\nas it's a very valuable and powerful skillset to utilize.\nIf you do make use of this app, hopefully it can serve as a learning tool and can make some of these things less intimidating as you progress.\n\nRemember: **GUIs will never be as efficient or powerful as CLIs**\n\n## How it works\n\nAll the magic comes from the underlying command line interfaces: [npm][npm] and [create-react-app][cra].\nThis application uses [Electron][electron] to spawn child processes that run the commands to power these tools.\nThe logs from stdio are passed back to the application for display.\nSee the [`renderer/spawn.js`](renderer/spawn.js) and [`renderer/CreateForm.js`](renderer/CreateForm.js) modules for an example of how this works.\n\n### Alternative approaches\n\nSome alternatives to this particular Electron setup include:\n\n- Server running directly in electron\n- Using [zeit/pkg][pkg] with a web interface\n\n## Caveats\n\n- Requires Node.js v6+ and npm v5.2+\n- Built in a few hours\n- No tests\n- Not tested on Linux or Windows\n\n\n## Alternatives\n\n- [Compositor Iso][iso] is a similar project aimed at solving a similar problem\n- Use [Create React App][cra] directly\n- [CodeSandbox][sandbox] is great for quick prototypes and demos with shareable URLs\n- [Guppy](https://github.com/joshwcomeau/guppy) project by [Josh Comeau](https://twitter.com/JoshWComeau)\n\n\n## Roadmap\n\n- [ ] Abstract create form to a more general purpose utility\n- [ ] npm depencendy management\n\n## Contributing\n\n1. Fork it\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Commit your changes (`git commit -am 'Add some feature'`)\n4. Push to the branch (`git push origin my-new-feature`)\n5. Create new Pull Request\n\n## Development\n\nInstall dependencies and start the app:\n\n```sh\nnpm i \u0026\u0026 npm start\n```\n\nThe `main` folder contains modules for the main process,\nand `renderer` includes all files for the renderer process.\nNo Babel transpilation is used, so be sure to use Electron-compatible modules and syntax.\n\n[MIT License](LICENSE.md)\n\n[iso]: https://github.com/c8r/iso\n[electron]: https://github.com/electron/electron\n[cra]: https://github.com/facebook/create-react-app\n[npm]: https://github.com/npm/npm\n[node]: https://nodejs.org/en/\n[pkg]: https://github.com/zeit/pkg\n[sandbox]: https://codesandbox.io\n\n[nextjs]: https://github.com/zeit/next.js/\n[create-next-app]: https://github.com/segmentio/create-next-app\n[gatsby]: https://github.com/gatsbyjs/gatsby\n[razzle]: https://github.com/jaredpalmer/razzle\n[vuejs]: https://github.com/vuejs/vue\n[preact]: https://github.com/developit/preact\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjxnblk%2Fram","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjxnblk%2Fram","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjxnblk%2Fram/lists"}