Interesting exercise, trying to look at CodeIgniter from the perspective of other frameworks 
One thing that has popped out of my activities is a composer-installable CI3.1 app starter, "codeigniter3/starter3.1", with index.php moved to a "public" folder (like in CI4) and with the internal paths set to look for the composer-installed framework in a project.

One thing that has popped out of my activities is a composer-installable CI3.1 app starter, "codeigniter3/starter3.1", with index.php moved to a "public" folder (like in CI4) and with the internal paths set to look for the composer-installed framework in a project.