Interactive wizards
npx --no-install udiot wizard component
npx --no-install udiot wizard service
npx --no-install udiot wizard feature
Wizards ask questions, show the files they will write, and write them with the
generators once you confirm. They need the optional peer
inquirer (npm install --save-dev inquirer) and a terminal. -f, --force
overwrites existing files; without it the wizard stops before overwriting
anything.
| Wizard | Asks for | Writes |
|---|---|---|
component |
Name, description, props, state (with initial values), methods, tests | One component (and its test) |
service |
Name, description, a service type with standard methods (data, auth, API client, storage, logger, event), constructor dependencies, custom methods, singleton or per-injection, tests | One service (and its test) |
feature |
Kebab-case name, description, entities, and which of components, services, controllers and tests to include | src/features/<name>/ with, per entity, a service, a controller, and List, Detail and Form components, plus an index.ts that re-exports them |
Methods you add get typed stubs that throw Not implemented until you fill
them in. Service dependencies are constructor parameters typed with the class
or interface you name; the generated file has a TODO to import it. A feature
with controllers also gets their services, which the controllers call.
With AI enabled (see intent-driven generation), the component wizard offers suggested props, and each wizard asks the model to extend the specification before the preview. Only well-formed suggestions are used, and you still confirm the preview.
For a non-interactive preview of one file, use
generate --dry-run.