{"action":"created","issue":{"url":"https://api.github.com/repos/mxstbr/react-boilerplate/issues/1371","repository_url":"https://api.github.com/repos/mxstbr/react-boilerplate","labels_url":"https://api.github.com/repos/mxstbr/react-boilerplate/issues/1371/labels{/name}","comments_url":"https://api.github.com/repos/mxstbr/react-boilerplate/issues/1371/comments","events_url":"https://api.github.com/repos/mxstbr/react-boilerplate/issues/1371/events","html_url":"https://github.com/mxstbr/react-boilerplate/issues/1371","id":196864659,"number":1371,"title":"Generator for starter app","user":{"login":"slevr","id":732778,"avatar_url":"https://avatars.githubusercontent.com/u/732778?v=3","gravatar_id":"","url":"https://api.github.com/users/slevr","html_url":"https://github.com/slevr","followers_url":"https://api.github.com/users/slevr/followers","following_url":"https://api.github.com/users/slevr/following{/other_user}","gists_url":"https://api.github.com/users/slevr/gists{/gist_id}","starred_url":"https://api.github.com/users/slevr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/slevr/subscriptions","organizations_url":"https://api.github.com/users/slevr/orgs","repos_url":"https://api.github.com/users/slevr/repos","events_url":"https://api.github.com/users/slevr/events{/privacy}","received_events_url":"https://api.github.com/users/slevr/received_events","type":"User","site_admin":false},"labels":[{"id":178320897,"url":"https://api.github.com/repos/mxstbr/react-boilerplate/labels/discussion","name":"discussion","color":"cc317c","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2016-12-21T07:28:55Z","updated_at":"2016-12-27T17:16:21Z","closed_at":null,"body":"So, looking at things from a different angle, instead of needing to 'clean' a new rb app being the example is baked in ( which is nice for first time use but perhaps an unnecessary step for repeat use ). I started into some learning fun with plop and rb. Not sure how useful it may be but I created a new starter generator which one would run to add a starter app ( like example ) after a new setup. I assume there potentially could be other starter apps that could be added as well. Probably only relative to initial use of rb, however. Useful? Thoughts?\r\n\r\nHere's are the main points it addresses:\r\n\r\n-  new command - npm run generate starter\r\n-  can Apply a starter or Save a new one from existing code\r\n-  two starters to begin, example and init - maybe others to follow\r\n-  file restructure - rb apps begin as base(clean) apps ( not with example baked in )\r\n-  replace/remove internals/templates, no need for clean.js\r\n-  new script to create init starter during setup\r\n-  Proposed initial rb use case:\r\n    - npm run setup\r\n    - npm run generate starter \r\n       - Apply example \r\n       - play around or use to begin coding\r\n    - npm run generate starter\r\n       - Apply init to start back from rb base\r\n-  Allow for Git commit after applying a starter"},"comment":{"url":"https://api.github.com/repos/mxstbr/react-boilerplate/issues/comments/269354732","html_url":"https://github.com/mxstbr/react-boilerplate/issues/1371#issuecomment-269354732","issue_url":"https://api.github.com/repos/mxstbr/react-boilerplate/issues/1371","id":269354732,"user":{"login":"slevr","id":732778,"avatar_url":"https://avatars.githubusercontent.com/u/732778?v=3","gravatar_id":"","url":"https://api.github.com/users/slevr","html_url":"https://github.com/slevr","followers_url":"https://api.github.com/users/slevr/followers","following_url":"https://api.github.com/users/slevr/following{/other_user}","gists_url":"https://api.github.com/users/slevr/gists{/gist_id}","starred_url":"https://api.github.com/users/slevr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/slevr/subscriptions","organizations_url":"https://api.github.com/users/slevr/orgs","repos_url":"https://api.github.com/users/slevr/repos","events_url":"https://api.github.com/users/slevr/events{/privacy}","received_events_url":"https://api.github.com/users/slevr/received_events","type":"User","site_admin":false},"created_at":"2016-12-27T17:16:21Z","updated_at":"2016-12-27T17:16:21Z","body":"OK, quite understandable, I was looking at things from a current perspective versus the future direction and needs of rb. So, I wasn't proposing anything different than what already exists in rb - just a different way of delivering it to devs. But, @mxstbr, unless I'm misunderstanding you, when I think of starter apps, I'm assuming a dev has already decided to give rb a spin and has cloned it so they can start getting their hands dirty. Not someone browsing code - but then again, someone browsing and seeing several kickstart apps may be more likely to clone and start. The use case for this is limited for those just beginning so maybe not a priority. Or, it seems a different direction in mind going forward.\r\n\r\nWith that said, currently things are all or nothing with starter apps - or really generator code in general. I mean afterall, generator code can only generate today's approach to things.  I've seen other starters where I'd love to had material ui from one, auth from the other and graphql from a third - or better yet, incorporate some key change in my existing code that the boilerplate decided to implement in a later version.  What @gihrig mentions and where CRA is headed with react-scripts makes a lot of sense so decoupling the app from rb core makes sense. But, ultimately, when it comes to generating code, there are just too many devs with too many variations of their app and too many specific needs to ensure nothing destructive occurs when making changes to their app.\r\n\r\nIn a way, I find the more flexible and future-proof you attempt to make things for devs and their apps, the more you need to tie developers in a specific, templated way of doing things. Reminds me when I first started dev with tools like Powerbuilder and Visual Age for Java, you had to use their ide to make changes or be very careful where you placed custom code or else.\r\n\r\n\r\n"}}
{"actor":{"display_login":"slevr"}}