In Drupal 8, the info.yml files define Drupal themes and modules. The first step to create a theme is to provide the info.yml file so that the theme can be discovered. Drupal will parse these values and register the theme.
The following keys are required, as a minimum, when you define a theme:
- name
- description
- type
- base theme
- core
The name key defines the human-readable name of the theme that will be displayed on the Appearance page. The description will be shown under the themes display name on the Appearance page. All Drupal projects need to define the type key to indicate the kind of extension that is being defined. For themes, the type must always be theme. You will also need to define which version of Drupal the project is compatible with using the core value. All Drupal 8 projects will use the core: 8.x value. When you define a theme, you will also need to provide the base theme key. If your theme does not use a base theme, then you need to set the value to false.
The libraries and region keys are optional, but these are keys that most themes provide. Drupal's asset management system parses a theme's info.yml and adds those libraries, if required. Regions are defined in an info.yml file and provide the areas into which the Block module may place blocks.