kibana/docs/extend/plugin-tooling.md
Colleen McGinnis 1814c60017
[docs] Migrate docs from AsciiDoc to Markdown (#212558)
Migrate docs from AsciiDoc to Markdown. The preview can be built after
#212557 is merged.

@florent-leborgne please tag reviewers, add the appropriate label(s),
and take this out of draft when you're ready.

Note: More files are deleted than added here because the content from
some files was moved to
[elastic/docs-content](https://github.com/elastic/docs-content).

**What has moved to
[elastic/docs-content](https://github.com/elastic/docs-content)?**

Public-facing narrative and conceptual docs have moved. Most can now be
found under the following directories in the new docs:
- explore-analyze: Discover, Dashboards, Visualizations, Reporting,
Alerting, dev tools...
- deploy-manage: Stack management (Spaces, user management, remote
clusters...)
- troubleshooting: .... troubleshooting pages

**What is staying in the Kibana repo?**

- Reference content (= anything that is or could be auto-generated):
Settings, syntax references
- Release notes
- Developer guide

---------

Co-authored-by: Florent Le Borgne <florent.leborgne@elastic.co>
2025-03-04 14:56:07 +01:00

2.3 KiB
Raw Permalink Blame History

mapped_pages
https://www.elastic.co/guide/en/kibana/current/plugin-tooling.html

Plugin tooling [plugin-tooling]

Automatic plugin generator [automatic-plugin-generator]

We recommend that you kick-start your plugin by generating it with the {{kib}} Plugin Generator. Run the following in the {{kib}} repo, and you will be asked a couple of questions, see some progress bars, and have a freshly generated plugin ready for you to play with in {{kib}}'s plugins folder.

node scripts/generate_plugin

Plugin location [_plugin_location]

The {{kib}} directory must be named kibana, and your plugin directory should be located in the root of kibana in a plugins directory, for example:

.
└── kibana
    └── plugins
        ├── foo-plugin
        └── bar-plugin

Build plugin distributable [_build_plugin_distributable]

::::{warning} {{kib}} distributable is not shipped with @kbn/optimizer anymore. You need to pre-build your plugin for use in production. ::::

You can leverage @kbn/plugin-helpers to build a distributable archive for your plugin. The package transpiles the plugin code, adds polyfills, and links necessary js modules in the runtime. You dont need to install the plugin-helpers dependency. If you created the plugin using node scripts/generate_plugin script, package.json is already pre-configured. To build your plugin run within your plugin folder:

yarn build

It will output azip archive in kibana/plugins/my_plugin_name/build/ folder.

Install a plugin from archive [_install_a_plugin_from_archive]

See How to install a plugin.

Run {{kib}} with your plugin in dev mode [_run_kib_with_your_plugin_in_dev_mode]

If your plugin isnt server only and contains ui in order for Kibana to pick the browser bundles you need to run yarn dev --watch in the plugin root folder at a dedicated terminal.

Then, in a second terminal, run yarn start at the {{kib}} root folder. Make sure {{kib}} found and bootstrapped your plugin by:

[INFO ][plugins-system.standard] Setting up [] plugins: […, myPluginName, …]