2020-05-07 10:45:50 -05:00
+++
2022-05-17 10:24:11 -05:00
aliases = ["/docs/grafana/latest/developers/plugins/", "/docs/grafana/latest/plugins/developing/"]
2020-12-01 06:52:32 -06:00
title = "Build a plugin"
2022-05-20 12:46:27 -05:00
weight = 200
2020-05-07 10:45:50 -05:00
+++
# Build a plugin
2020-05-07 11:45:52 -05:00
For more information on the types of plugins you can build, refer to the [Plugin Overview ]({{< relref "../../plugins/_index.md" >}} ).
2020-05-07 10:45:50 -05:00
## Get started
The easiest way to start developing Grafana plugins is to use the [Grafana Toolkit ](https://www.npmjs.com/package/@grafana/toolkit ).
2020-06-23 11:56:44 -05:00
Open the terminal, and run the following command in your [plugin directory ]({{< relref "../../administration/configuration.md#plugins" >}} ):
2020-05-07 10:45:50 -05:00
```bash
npx @grafana/toolkit plugin:create my-grafana-plugin
```
2022-01-17 08:58:36 -06:00
> **Note:** If running NPM 7+ the `npx` commands mentioned in this article may hang. The workaround is to use `npx --legacy-peer-deps <command to run>`.
2020-05-07 10:45:50 -05:00
If you want a more guided introduction to plugin development, check out our tutorials:
2020-11-10 07:38:45 -06:00
- [Build a panel plugin ]({{< relref "/tutorials/build-a-panel-plugin.md" >}} )
- [Build a data source plugin ]({{< relref "/tutorials/build-a-data-source-plugin.md" >}} )
2020-05-07 10:45:50 -05:00
## Go further
Learn more about specific areas of plugin development.
### Tutorials
If you're looking to build your first plugin, check out these introductory tutorials:
2020-11-10 07:38:45 -06:00
- [Build a panel plugin ]({{< relref "/tutorials/build-a-panel-plugin.md" >}} )
- [Build a data source plugin ]({{< relref "/tutorials/build-a-data-source-plugin.md" >}} )
- [Build a data source backend plugin ]({{< relref "/tutorials/build-a-data-source-backend-plugin.md" >}} )
2020-05-07 10:45:50 -05:00
Ready to learn more? Check out our other tutorials:
2020-11-10 07:38:45 -06:00
- [Build a panel plugin with D3.js ]({{< relref "/tutorials/build-a-panel-plugin-with-d3.md" >}} )
2020-05-07 10:45:50 -05:00
2020-05-12 16:31:36 -05:00
### Guides
Improve an existing plugin with one of our guides:
2020-06-11 05:12:27 -05:00
- [Add authentication for data source plugins ]({{< relref "add-authentication-for-data-source-plugins" >}} )
2020-05-12 16:31:36 -05:00
- [Add support for annotations ]({{< relref "add-support-for-annotations.md" >}} )
2020-05-19 02:05:48 -05:00
- [Add support for Explore queries ]({{< relref "add-support-for-explore-queries.md" >}} )
2020-05-12 16:31:36 -05:00
- [Add support for variables ]({{< relref "add-support-for-variables.md" >}} )
2021-01-19 16:52:09 -06:00
- [Add a query editor help component ]({{< relref "add-query-editor-help.md" >}} )
2020-05-19 02:05:48 -05:00
- [Build a logs data source plugin ]({{< relref "build-a-logs-data-source-plugin.md" >}} )
- [Build a streaming data source plugin ]({{< relref "build-a-streaming-data-source-plugin.md" >}} )
2020-07-31 09:07:03 -05:00
- [Error handling ]({{< relref "error-handling.md" >}} )
2020-09-16 07:39:46 -05:00
- [Working with data frames ]({{< relref "working-with-data-frames.md" >}} )
2022-04-01 08:23:23 -05:00
- [Development with local Grafana ]({{< relref "development-with-local-grafana.md" >}} )
2020-05-12 16:31:36 -05:00
### Concepts
Deepen your knowledge through a series of high-level overviews of plugin concepts:
- [Data frames ]({{< relref "data-frames.md" >}} )
### UI library
Explore the many UI components in our [Grafana UI library ](https://developers.grafana.com/ui ).
2020-09-25 09:47:52 -05:00
### Examples
For inspiration, check out our [plugin examples ](https://github.com/grafana/grafana-plugin-examples ).
2020-05-07 10:45:50 -05:00
### API reference
Learn more about Grafana options and packages.
#### Metadata
2020-05-07 11:45:52 -05:00
- [Plugin metadata ]({{< relref "metadata.md" >}} )
2020-05-07 10:45:50 -05:00
#### Typescript
2021-11-22 15:58:51 -06:00
- Grafana Data
- Grafana Runtime
- Grafana UI
2020-05-07 10:45:50 -05:00
#### Go
2020-05-14 06:21:26 -05:00
- [Grafana Plugin SDK for Go ]({{< relref "backend/grafana-plugin-sdk-for-go" >}} )