# Interactive Area Build CLI Implementation Plan 1. Extract stage definitions, aliases, canonical ordering, and conflict validation from `scripts/build-area.js` into a shared CommonJS module. 2. Update `build-area.js` to consume the shared resolver without changing non-interactive semantics. 3. Add `scripts/interactive-build.js` with TTY detection, area discovery, raw-mode selection menus, cancellation handling, and child-process delegation to `build-area.js`. 4. Change `package.json` so `npm run build` calls the new interactive script while `build:area` remains unchanged. 5. Add focused Node tests for stage planning and non-TTY behavior; do not invoke Blender, QGIS, or a real area build in tests. 6. Run syntax checks, the focused tests, existing preflight/preview tests, and manually exercise the interactive flow in a TTY.