This is my mandatory one post per year.
I've just made a github repository where if you follow the commits you can see how a basic file based cms gets build.
If you see changes in the composer.json file you need to run composer update .
In the Conversation #5 commit I had to add a code change because i forgot brackets. But for the rest the code will run before you go to the Coversation commit.