- resolve the framework from --framework, then a sibling summercms or summercms.go checkout, then the binary's own source tree, each accepted only when its go.mod declares the framework module - refuse a missing parent and a target inside the framework checkout - remove the half-written app when any step fails - add --no-plugin for an app with no starter plugin