There's no reason shell commands need to consume a build. The most likely use-case is just having some random shell commands run for every build, but you don't want to forgo the regular build process.