Суть вопроса такова. Допустим у нас есть своя цмс или любая система которая должна расширятся с помощью плагинов.
Вариант первый это предусмотреть в коде все для этого, события, хуки и т.д.
Вариант второй, идея, сделать систему которая накатывает расширения используя diff и patch. Сторонний разработчик просто делает diff оригинальных файлов системы, а при установке система накатывает этот diff.