[[external-plugin-development]]
== External plugin development

[IMPORTANT]
==============================================
The {kib} plugin interfaces are in a state of constant development.  We cannot provide backwards compatibility for plugins due to the high rate of change.  {kib} enforces that the installed plugins match the version of {kib} itself.  Plugin developers will have to release a new version of their plugin for each new {kib} release as a result.
==============================================

Most developers who contribute code directly to the {kib} repo are writing code inside plugins, so our <<contributing>> docs are the best place to
start. However, there are a few differences when developing plugins outside the {kib} repo. These differences are covered here.

* <<plugin-tooling>>
* <<external-plugin-functional-tests>>
* <<external-plugin-localization>>
* <<testing-kibana-plugin>>

include::plugin-tooling.asciidoc[leveloffset=+1]
include::external-plugin-functional-tests.asciidoc[leveloffset=+1]
include::external-plugin-localization.asciidoc[leveloffset=+1]
include::testing-kibana-plugin.asciidoc[leveloffset=+1]