# Generators `aircloud generate …` adds to the product in its conventional shape, and `aircloud destroy ` removes what it added. Never hand-write what a generator writes. Every generator also takes: | option | | |---|---| | `--pretend` | Write nothing: print each path as create, modify or remove | | `--force` | Overwrite a path that already exists instead of refusing | ## `new` Create a product directory in its conventional shape. ```sh aircloud new [--name ] [--site react|static] [--api] [--css tailwind|css] [--runtime js|rust] ``` | option | | |---|---| | `--name ` | The product's human name, in any script, written as aircloud.toml `name`: the site's title (default: the slug humanized). The slug stays the product's identity | | `--site react\|static` | The site template (default: the product's [generators].site, else react) | | `--api` | An API product: no site (excludes --site and --css) | | `--css tailwind\|css` | The site's styling (default: tailwind for react, css for static) | | `--runtime js\|rust` | The runtime of the generated code (default: the product's [generators].runtime, else js) | | `--skip-git` | Do not initialize a git repository, .gitignore or .gitattributes | | `--pretend` | Write nothing: print each path as create, modify or remove | ```sh aircloud new shop aircloud new loja --name 'Loja da Ana' aircloud new shop --api --runtime rust aircloud new blog --site static ``` ## `scaffold` An entity with its CRUD function, route, tests, fixtures and (with a site) its resource page. ```sh aircloud generate scaffold … [--runtime js|rust] [--route ] [--roles [--at ]] [--owner [--owner-bypass-roles ] | --shared] [--display-name