From b98decf0d300e7b750e2f0a045c85da08c869343 Mon Sep 17 00:00:00 2001
From: Jakub Chrzanowski
Date: Mon, 4 May 2026 10:44:45 +0200
Subject: [PATCH] Add detailed plugin description to `plugin.xml` and update
README files for clarity
---
.github/template-cleanup/README.md | 8 +-------
README.md | 23 +++++++++++------------
src/main/resources/META-INF/plugin.xml | 4 ++++
3 files changed, 16 insertions(+), 19 deletions(-)
diff --git a/.github/template-cleanup/README.md b/.github/template-cleanup/README.md
index 6aad78b..a6f9768 100644
--- a/.github/template-cleanup/README.md
+++ b/.github/template-cleanup/README.md
@@ -8,7 +8,7 @@
- [x] Create a new [IntelliJ Platform Plugin Template][template] project.
- [ ] Get familiar with the [template documentation][template].
- [ ] Adjust the [group](./gradle.properties), as well as the [id](./src/main/resources/META-INF/plugin.xml), [name](./src/main/resources/META-INF/plugin.xml), and [sources package](./src/main/kotlin).
-- [ ] Adjust the plugin description in `README` (see [Tips][docs:plugin-description])
+- [ ] Adjust the plugin [description](./src/main/resources/META-INF/plugin.xml) (see [Tips][docs:plugin-description]) and this README to describe what your plugin does.
- [ ] Review the [Legal Agreements](https://plugins.jetbrains.com/docs/marketplace/legal-agreements.html?from=IJPluginTemplate).
- [ ] [Publish a plugin manually](https://plugins.jetbrains.com/docs/intellij/publishing-plugin.html?from=IJPluginTemplate) for the first time.
- [ ] Set the `MARKETPLACE_ID` in the above README badges. You can obtain it once the plugin is published to JetBrains Marketplace.
@@ -16,14 +16,8 @@
- [ ] Set the [Deployment Token](https://plugins.jetbrains.com/docs/marketplace/plugin-upload.html?from=IJPluginTemplate).
- [ ] Click the Watch button on the top of the [IntelliJ Platform Plugin Template][template] to be notified about releases containing new features and fixes.
-
This Fancy IntelliJ Platform Plugin is going to be your implementation of the brilliant ideas that you have.
-This specific section is a source for the [plugin.xml](/src/main/resources/META-INF/plugin.xml) file which will be extracted by the [Gradle](/build.gradle.kts) during the build process.
-
-To keep everything working, do not remove `` sections.
-
-
## Installation
- Using the IDE built-in plugin system:
diff --git a/README.md b/README.md
index 8731312..2a1eb4c 100644
--- a/README.md
+++ b/README.md
@@ -10,13 +10,11 @@
> [!NOTE]
> Click the Use this template button and clone it in IntelliJ IDEA.
-
**IntelliJ Platform Plugin Template** is a repository that provides a pure template to make it easier to create a new plugin project (check the [Creating a repository from a template][gh:template] article).
The main goal of this template is to speed up the setup phase of plugin development for both new and experienced developers by preconfiguring the project scaffold and CI, linking to the proper documentation pages, and keeping everything organized.
[gh:template]: https://docs.github.com/en/repositories/creating-and-managing-repositories/creating-a-repository-from-a-template
-
If you're still not quite sure what this is all about, read our introduction: [What is the IntelliJ Platform?][docs:intro]
@@ -114,7 +112,7 @@ The project-specific configuration file [`gradle.properties`][file:gradle.proper
The remaining plugin metadata lives closer to where it is used:
- [`settings.gradle.kts`][file:settings.gradle.kts] declares Gradle plugin versions and repository management.
- [`build.gradle.kts`][file:build.gradle.kts] declares the target IntelliJ Platform version and project dependencies.
-- [`plugin.xml`][file:plugin.xml] contains the plugin `id`, `name`, `vendor`, and extension registrations.
+- [`plugin.xml`][file:plugin.xml] contains the plugin `id`, `name`, `vendor`, `description`, and extension registrations.
In addition, extra behaviors are configured through the [`gradle.properties`][file:gradle.properties] file, such as:
@@ -183,12 +181,19 @@ In addition to the configuration files, the most crucial part is the `src` direc
The plugin configuration file is a [plugin.xml][file:plugin.xml] file located in the `src/main/resources/META-INF` directory.
It provides general information about the plugin, its dependencies, and its extensions.
+Maintain the plugin description directly in this file, using HTML wrapped in CDATA when needed.
+
+> [!NOTE]
+> When using this template for a real plugin, replace the placeholder description with content that describes the final plugin.
```xml
org.jetbrains.plugins.template
IntelliJ Platform Plugin Template
JetBrains
+ Plugin description in HTML.
+ ]]>
com.intellij.modules.platform
@@ -254,9 +259,7 @@ In `src/test/kotlin`, you will find a basic `MyPluginTest` test that utilizes `B
If your plugin provides complex user interfaces, you should consider covering them with tests and the functionality they use.
The template does not wire UI testing into the Gradle build by default anymore.
-If you need UI coverage, add your own UI test source set and Gradle tasks first, then adapt the optional [Run UI Tests](.github/workflows/run-ui-tests.yml) workflow to launch and execute them on macOS, Windows, and Linux.
-
-For a concrete example of UI test tooling, see [IntelliJ UI Test Robot][gh:intellij-ui-test-robot] and the [ui-test-example][gh:ui-test-example] project.
+If you need UI coverage, start with the IntelliJ Platform SDK guides for [Integration Tests][docs:integration-tests] and [Integration Tests: UI Testing][docs:integration-tests-ui], then add your own test source set, Gradle tasks, and CI workflow for the operating systems you support.
## Predefined Run/Debug configurations
@@ -301,10 +304,6 @@ In the `.github/workflows` directory, you can find definitions for the following
- Publishes the plugin to JetBrains Marketplace using the provided `PUBLISH_TOKEN`.
- Uploads the built plugin distribution as a GitHub release asset.
- Creates a pull request with the patched changelog when needed.
-- [Run UI Tests](.github/workflows/run-ui-tests.yml)
- - Triggered manually.
- - Provides an example matrix for macOS, Windows, and Linux.
- - Is intended to be adapted once your plugin defines its own UI test setup.
- [Template Cleanup](.github/workflows/template-cleanup.yml)
- Triggered once on the `push` event when a new template-based repository has been created.
- Overrides the scaffold with files from the `.github/template-cleanup` directory.
@@ -483,6 +482,8 @@ That approach gives more possibilities for testing and debugging pre-releases, f
[docs:plugin-signing]: https://plugins.jetbrains.com/docs/intellij/plugin-signing.html?from=IJPluginTemplate
[docs:project-structure-settings]: https://www.jetbrains.com/help/idea/project-settings-and-structure.html
[docs:testing-plugins]: https://plugins.jetbrains.com/docs/intellij/testing-plugins.html?from=IJPluginTemplate
+[docs:integration-tests]: https://plugins.jetbrains.com/docs/intellij/integration-tests.html?from=IJPluginTemplate
+[docs:integration-tests-ui]: https://plugins.jetbrains.com/docs/intellij/integration-tests-ui.html?from=IJPluginTemplate
[file:build.gradle.kts]: ./build.gradle.kts
[file:draft-release.png]: ./.github/readme/draft-release.png
@@ -509,9 +510,7 @@ That approach gives more possibilities for testing and debugging pre-releases, f
[gh:intellij-platform-gradle-plugin-docs]: https://plugins.jetbrains.com/docs/intellij/tools-intellij-platform-gradle-plugin.html
[gh:intellij-platform-gradle-plugin-runIde]: https://plugins.jetbrains.com/docs/intellij/tools-intellij-platform-gradle-plugin-tasks.html#runIde
[gh:intellij-platform-gradle-plugin-verifyPlugin]: https://plugins.jetbrains.com/docs/intellij/tools-intellij-platform-gradle-plugin-tasks.html#verifyPlugin
-[gh:intellij-ui-test-robot]: https://github.com/JetBrains/intellij-ui-test-robot
[gh:releases]: https://github.com/JetBrains/intellij-platform-plugin-template/releases
-[gh:ui-test-example]: https://github.com/JetBrains/intellij-ui-test-robot/tree/master/ui-test-example
[gradle]: https://gradle.org
[gradle:build-cache]: https://docs.gradle.org/current/userguide/build_cache.html
diff --git a/src/main/resources/META-INF/plugin.xml b/src/main/resources/META-INF/plugin.xml
index a580663..f4ee87a 100644
--- a/src/main/resources/META-INF/plugin.xml
+++ b/src/main/resources/META-INF/plugin.xml
@@ -3,6 +3,10 @@
org.jetbrains.plugins.template
IntelliJ Platform Plugin Template
JetBrains
+ IntelliJ Platform Plugin Template is a repository that provides a pure template to make it easier to create a new plugin project.
+ The main goal of this template is to speed up the setup phase of plugin development for both new and experienced developers by preconfiguring the project scaffold and CI, linking to the proper documentation pages, and keeping everything organized.
+ ]]>
com.intellij.modules.platform