commands:
  - command: generate:module
    options:
      module: Example module
      machine-name: example
      module-path: /modules/custom/
      description: My example module
      core: 8.x
      package: Custom
      dependencies:
  - command: generate:controller
    options:
      module: example
      class: HelloWorldController
      routes:
        - title: 'Hello World'
          name: 'example.hello_name'
          method: hello
          path: '/example/hello/{name}'
      services:
          - entity_field.manager
          - theme_handler
          - config.factory
      test: true
  - command: generate:form:config
    options:
      module: example
      class: SettingsForm
      form-id: settings_form
      inputs:
        - name: foo_field
          type: textfield
          label: 'Foo field'
          options: ''
          description: ''
          maxlength: '64'
          size: '64'
          default_value: ''
          weight: '0'
          fieldset: ''
        - name: bar_number
          type: number
          label: 'Bar number'
          options: ''
          description: ''
          maxlength: null
          size: null
          default_value: ''
          weight: '0'
          fieldset: ''
      path: '/admin/setting/form'
      menu_link_gen: true
      menu_link_title: SettingsForm
      menu_parent: system.admin_config_system
      menu_link_desc: 'A description for the menu entry'
  - command: generate:entity:content
    options:
      module: example
      entity-class: Foo
      entity-name: foo
      label: Foo
  - command: generate:entity:config
    options:
      module: example
      entity-class: Bar
      entity-name: bar
      label: Bar
  - command: generate:command
    options:
      module: example
      class: ExampleCommand
      name: example:command
      container-aware: false
  - command: generate:authentication:provider
    options:
      module: example
      class: ExampleAuthenticationProvider
  - command: generate:plugin:block
    options:
      module: example
      class: ExampleBlock
      label: Example plugin block
      plugin-id: example_block
  - command: generate:plugin:imageeffect
    options:
      module: example
      class: ExampleImageEffect
      plugin-id: example_image_effect
      label: Example image effect
      description: Example image effect
  - command: generate:plugin:rest:resource
    options:
      module: example
      class: ExampleRestResource
      plugin-id: example_rest_resource
      plugin-label: Example Rest Resource
      plugin-url: example_rest_resource
      plugin-states:
        - GET
        - PUT
        - POST
  - command: generate:service
    options:
      module: example
      class: ExampleService
      name: example.service
      interface: yes
  - command: module:install
    arguments:
      module: [example]
