A preset pre-fills the categories it covers. The wizard still shows what it filled, still lets you back out, and still asks about anything the preset leaves unopinionated.
npx ai-project-bootstrap --preset startup-mvp # review the rest interactively npx ai-project-bootstrap --preset startup-mvp --yes # fully non-interactive
Anything it leaves out is still asked. startup-mvp says nothing about email, storage, monitoring, CI/CD or deployment — you answer those, or skip them and add them later.
Presets are validated exactly the way a hand-written --config file is: every module id must exist, and the resulting selection must resolve without a conflict. A broken preset makes the tool refuse to start rather than ship broken output — and it fails on every test run, not just when someone happens to pass the flag.
--preset, --archetype and --config cannot be used together. All three are ways of pre-filling the selection, and mixing them would leave it ambiguous which one wins.