Boilerplate plugin framework