We don’t currently plan to move any more plugins into core. Cakeday was the last one, and had to be done separately to the main batch because of some complications with the way it was previously enabled-by-default.
![]()
Completely understand the frustration about the process here - it’s certainly not as smooth as I’d like. To give some context: the fundamental problem is that the app.yml files are not a Discourse config file. They are a pups config, and the plugin installation lines are just shell commands.
Bringing Discourse-specific logic into pups, and making it ignore certain shell commands, isn’t really an option. This tool isn’t just used for Discourse. Plus, I suspect a number of people would be unhappy to have us change the shell commands running during bootstrap without their knowledge.
So we landed on the cleanest solution we could find with the tools available: force a CLI rebuild, and then display a message asking people to remove the affected line from their config.