# Creating a Theme Project

> For the complete documentation index, see [llms.txt](https://plugins.jetbrains.com/docs/intellij/llms.txt).

This documentation page describes a DevKit-based theme project generated with the [New Project Wizard](https://www.jetbrains.com/help/idea/new-project-wizard.html).

## Creating a Theme with New Project Wizard

> **Tip:**
> Before creating a theme project, make sure that [development environment is set up](setting-up-theme-environment.html).

Procedure: Create Theme Plugin

Launch the New Project wizard via the `File | New | Project...` action and provide the following information:

1. Select the IDE Plugin generator type from the list on the left.

2. Specify the project Name and Location.

3. Choose the Theme option in the project Type.

4. As the JDK select the [configured SDK](setting-up-theme-environment.html#configuring-intellij-platform-plugin-sdk).

5. Click the Create button to generate the project.

### Components of a Wizard-Generated Gradle IntelliJ Platform Theme

For the example `my_theme` created with the steps describes above, the IDE Plugin generator creates the following directory content:

```PLANTUML
@startuml

skinparam TitleFontName JetBrains Sans
skinparam TitleFontStyle plain
skinparam TitleFontSize 16
skinparam DefaultTextAlignment left

title
  my_theme
  |_ resources
    |_ META-INF
      |_ plugin.xml // (Plugin Configuration File) //
      |_ pluginIcon.svg // (Plugin Logo) //
      |_ ...
    |_ theme
      |_ my_theme.theme.json // (Theme description file) //
  |_ my_theme.iml // (IntelliJ IDEA Module configuration file) //
end title
@enduml
```

`META-INF` directory with:

* `[plugin.xml](plugin-configuration-file.html)` configuration file containing preconfigured theme provider

* `pluginIcon.svg` file that is a [plugin logo](plugin-icon-file.html) Replace it with a custom logo representing the Theme.

* `my_theme.theme.json` - a minimal [theme description file](themes-customize.html#introduction-to-theme-description-file-syntax)

* `my_theme.iml` - [IntelliJ IDEA Module](https://www.jetbrains.com/help/idea/creating-and-managing-modules.html) configuration file

See [Theme Structure](theme-structure.html) for more details.

## Additional Plugin Themes

Theme plugin project [created with the new project wizard](#create-theme) contains a single theme description file by default. In case a plugin needs to provide multiple themes (e.g., dark and light variants), it is possible to add them with the dedicated action.

Additional plugin themes can be added using the DevKit Theme Wizard, which is a part of the Plugin DevKit plugin. The wizard can be used for both DevKit-based and Gradle-based plugins.

Procedure: Add Theme

1. In the Project tool window, select the `resources` directory and invoke the context menu with the right click.

2. Select the `New | Plugin DevKit | Theme` action.

It is a good practice to include the name of the plugin in the created theme name.

3. Check the Dark theme checkbox if the created theme should be based on IntelliJ IDEA Darcula theme. Otherwise, the Light theme will be used as the base.

4. Click OK button to generate the [theme description file](themes-customize.html#introduction-to-theme-description-file-syntax) with `$THEME_NAME$.theme.json` name. The generated theme will be automatically configured in the `plugin.xml` file.

## Bundling Color Schemes

Use [com.intellij.bundledColorScheme](https://jb.gg/ipe?extensions=com.intellij.bundledColorScheme) extension point  specifying the `path` to the color scheme XML file (without `.xml` suffix). Specify attribute `id` for this extension in `plugin.xml` matching its `name` attribute value from the color scheme XML.

