As simple as possible, with as little magic as necessary. Practically no more than a router, basic response handling functions, a plugin API and some kind of package management. Don&#x27;t even ship it with a templating language or an ORM - everything else should be up to the developer and available libraries. Let the community do the rest.<p>And the package management shouldn&#x27;t depend on any particular server or repository. I should be able to mix git and svn, local and remote and it should just work. As little of the code should be specific to that framework as possible, in order to make migration to another framework easier.<p>Granted, this might not be the most fun or gratifying framework to build, but I think it would be more future-proof and tolerant than one that just codifies the arbitrary preferences of a Benevolent Dictator.