Frameworks should be boring, applications they build should be exciting

A web framework that is fairly opininated, making as many boilerplate decisions for you so you can focus on your application (some will love, some will hate and we feel that is okay). React based, universial SSR rendering by default, takes care of webpack and bablfying your code base out of the box. A core design principle of boringbits is a concept of progressive recomposition, which is the ability to break down boring magic over time and replace it with your own magic.
boringbits over time by replacing boring magic with your own magic bit by bit.react (v16.7.0), redux (v4.0.1) boilerplate on both server and clientreact router (v4.3.1), simply make a new container filejest (v24.1.0)babel (v7) / webpack (v4.27) preconfiguredredis, dynamodb, mysql docker containers built in for those who want to go completely full stack local developmentcorrId on every log linenode-config) __and__ .env files. Config key / values can be universal.
This is heavily inspired by CRA and next.js. Why not use those? If you like them and are achieving your goals by all means we encourage you keep using whatever framework you are most comfortable with! Boring is much more opinionated than both of these projects though and will always place developer productivity over flexibility. Our primary design goal is to let the boring framework make all boilerplate decisions for you so you can concentrate building unique product as fast as possible.
The best way to get started from scratch is to simply use the create-boring-app cli __[[learn more]](https://github.com/ryanstevens/boringbits/tree/master/yo)__
``bash`
npx create-boring-app my-new-app
> create-boring-app command willmy-new-app
> * Create a new directoring boring
> * npm install and it's dependenciesyes
> * Generate / scaffold a basic app for you (press on the CLI to take all the defaults)
> * Prompt you to boot up HA Proxy (press yes)
> * Boot up your app server
> * Open a webpage to the top level container it just scaffolded
boring support HMR so once you have your app running, simply change your react files found in src/client/pages/demo and see your changes reflect immediately in your browser. boring also does universal rendering by default, yet does similar server side HMR techniques so if you do a hard refresh your SSR and hydrated client will always be in sync and reflect the same DOM.
If you need to stop your server and start it again, make sure you are in your applications directory and simply npm start
Boring needs to be built via webpack, as well as the node code needs to be babeled.
`bash
npm run build