# Grafana Plugin Tools ## Developers - [Get started](https://grafana.com/developers/plugin-tools/index.md): Get started with Grafana plugin development with the create-plugin tool. - [Test your plugins end-to-end](https://grafana.com/developers/plugin-tools/e2e-test-a-plugin.md): How to perform end-to-end tests for Grafana plugins. - [Use the API](https://grafana.com/developers/plugin-tools/e2e-test-a-plugin/api.md): How to use the grafana/plugin-e2e API. - [CI workflow](https://grafana.com/developers/plugin-tools/e2e-test-a-plugin/ci.md): How to run end-to-end tests in CI. - [Grafana feature toggles](https://grafana.com/developers/plugin-tools/e2e-test-a-plugin/feature-toggles.md): How to use Grafana feature toggles in end-to-end tests. - [Get started](https://grafana.com/developers/plugin-tools/e2e-test-a-plugin/get-started.md): Get started with plugin end-to-end testing. - [Migrate from @grafana/e2e](https://grafana.com/developers/plugin-tools/e2e-test-a-plugin/migrate-from-grafana-e2e.md): Migrate from @grafana/e2e to @grafana/plugin-e2e. - [Select UI elements](https://grafana.com/developers/plugin-tools/e2e-test-a-plugin/selecting-elements.md): How to select UI elements on the page in end-to-end testing. - [Configure necessary resources](https://grafana.com/developers/plugin-tools/e2e-test-a-plugin/setup-resources.md): Configure any dashboards, data sources or other Grafana resources necessary for end-to-end testing your plugin, through provisioning. - [How to test a data source plugin](https://grafana.com/developers/plugin-tools/e2e-test-a-plugin/test-a-data-source-plugin.md): How to test a data source plugin. - [Test alert queries](https://grafana.com/developers/plugin-tools/e2e-test-a-plugin/test-a-data-source-plugin/alert-queries.md): Test alert queries to ensure the plugin is compatible with alerting - [Test annotation queries](https://grafana.com/developers/plugin-tools/e2e-test-a-plugin/test-a-data-source-plugin/annotation-queries.md): Test a custom annotation editor and the execution of annotation queries. - [Test configurations](https://grafana.com/developers/plugin-tools/e2e-test-a-plugin/test-a-data-source-plugin/configurations.md): Testing the configuration editor of backend and frontend data sources with valid and invalid configuration - [Test data queries](https://grafana.com/developers/plugin-tools/e2e-test-a-plugin/test-a-data-source-plugin/data-queries.md): Testing the query editor and the execution of data queries - [Test variable queries](https://grafana.com/developers/plugin-tools/e2e-test-a-plugin/test-a-data-source-plugin/variable-queries.md): Test a custom variable query editor and the execution of variable queries. - [Test a panel plugin](https://grafana.com/developers/plugin-tools/e2e-test-a-plugin/test-a-panel-plugin.md): How to test a panel plugin with @grafana/plugin-e2e. - [How to test an app plugin](https://grafana.com/developers/plugin-tools/e2e-test-a-plugin/test-an-app-plugin.md): How to test an app plugin. - [Test the configuration editor of an app](https://grafana.com/developers/plugin-tools/e2e-test-a-plugin/test-an-app-plugin/app-configurations.md): Test the configuration editor of an app - [Test pages added by an app](https://grafana.com/developers/plugin-tools/e2e-test-a-plugin/test-an-app-plugin/app-pages.md): How to test pages added by an app - [Authentication](https://grafana.com/developers/plugin-tools/e2e-test-a-plugin/use-authentication.md): Add authentication to end-to-end tests using the plugin-e2e tool. - [How-to guides](https://grafana.com/developers/plugin-tools/how-to-guides.md): Learn how to perform common tasks in Grafana plugin development. - [Add anonymous usage reporting](https://grafana.com/developers/plugin-tools/how-to-guides/add-anonymous-usage-reporting.md): How to add anonymous usage tracking to your Grafana plugin. - [Add user storage to your plugin](https://grafana.com/developers/plugin-tools/how-to-guides/add-user-storage.md): How to add individual user storage to your plugin. - [App plugins](https://grafana.com/developers/plugin-tools/how-to-guides/app-plugins.md): Learn how to perform common tasks in Grafana app plugin development. - [Add authentication for app plugins](https://grafana.com/developers/plugin-tools/how-to-guides/app-plugins/add-authentication-for-app-plugins.md): How to add authentication to app plugin requests - [Add a backend component to an app plugin](https://grafana.com/developers/plugin-tools/how-to-guides/app-plugins/add-backend-component.md): How to add a backend component to an app plugin - [Add resource handler for app plugins](https://grafana.com/developers/plugin-tools/how-to-guides/app-plugins/add-resource-handler.md): Learn how to add a resource handler for app plugins. - [Introduction](https://grafana.com/developers/plugin-tools/how-to-guides/app-plugins/add-return-to-previous-functionality.md): Allow users to easily return to a specific context. - [Error handling in app plugins](https://grafana.com/developers/plugin-tools/how-to-guides/app-plugins/error-handling-in-app-plugins.md): How to handle errors in app plugins. - [Implement RBAC in app plugins](https://grafana.com/developers/plugin-tools/how-to-guides/app-plugins/implement-rbac-in-app-plugins.md): How to add role-based access control (RBAC) to Grafana app plugins. - [Include dashboards with an app plugin](https://grafana.com/developers/plugin-tools/how-to-guides/app-plugins/include-dashboards-in-app-plugins.md): Include dashboards in Grafana app plugins. - [Include a page behind a feature toggle](https://grafana.com/developers/plugin-tools/how-to-guides/app-plugins/include-page-behind-feature-toggle.md): How to include a page behind a feature toggle - [Use service accounts in Grafana app plugins](https://grafana.com/developers/plugin-tools/how-to-guides/app-plugins/use-a-service-account.md): How to use service accounts in Grafana app plugins to authenticate against the Grafana API. - [Use LLMs and Grafana MCP in Grafana app plugins](https://grafana.com/developers/plugin-tools/how-to-guides/app-plugins/use-llms-and-mcp.md): Learn how to integrate Large Language Models (LLMs) and the Grafana Model Context Protocol server into your Grafana app plugins for AI-powered functionality. - [Work with nested plugins](https://grafana.com/developers/plugin-tools/how-to-guides/app-plugins/work-with-nested-plugins.md): How to work with nested plugins, Grafana app plugins. - [Data source plugins](https://grafana.com/developers/plugin-tools/how-to-guides/data-source-plugins.md): Learn how to perform common tasks in Grafana data source plugin development. - [Add authentication for data source plugins](https://grafana.com/developers/plugin-tools/how-to-guides/data-source-plugins/add-authentication-for-data-source-plugins.md): How to add authentication for data source plugins. - [Add default variables and links](https://grafana.com/developers/plugin-tools/how-to-guides/data-source-plugins/add-default-variables-and-links.md): Learn how to register default variables and dashboard links from a data source plugin. - [Add features for Explore queries](https://grafana.com/developers/plugin-tools/how-to-guides/data-source-plugins/add-features-for-explore-queries.md): Add features to Explore queries in Grafana plugin development. - [Add logs, metrics, and traces to plugin backends](https://grafana.com/developers/plugin-tools/how-to-guides/data-source-plugins/add-logs-metrics-traces-for-backend-plugins.md): How to add logs, metrics and traces to plugin backend components. - [Add query migrations for a backend data source plugin](https://grafana.com/developers/plugin-tools/how-to-guides/data-source-plugins/add-migration-handler-for-backend-data-source.md): How to add a query migration handler to your Grafana backend data source plugin for seamless updates. - [Add query editor help](https://grafana.com/developers/plugin-tools/how-to-guides/data-source-plugins/add-query-editor-help.md): How to add a help component to query editors in Grafana. - [Add resource handler for data source plugins](https://grafana.com/developers/plugin-tools/how-to-guides/data-source-plugins/add-resource-handler.md): Learn how to add a resource handler for data source plugins. - [Add a router or multiplexer to query different data types](https://grafana.com/developers/plugin-tools/how-to-guides/data-source-plugins/add-router.md): Add a router or multiplexer to your plugin backend to query different data types. - [Add support for annotation queries](https://grafana.com/developers/plugin-tools/how-to-guides/data-source-plugins/add-support-for-annotation-queries.md): Add support for annotation queries in your data source plugin. - [Add support for externally shared dashboards](https://grafana.com/developers/plugin-tools/how-to-guides/data-source-plugins/add-support-for-externally-shared-dashboards.md): How to add support for externally share dashboards (previously called Public dashboards). - [Add support for Private Data Source Connect (PDC)](https://grafana.com/developers/plugin-tools/how-to-guides/data-source-plugins/add-support-for-pdc.md): Add support for Private Data Source Connect (PDC) functionality to your Grafana plugin. - [Add support for variables](https://grafana.com/developers/plugin-tools/how-to-guides/data-source-plugins/add-support-for-variables.md): Add support for variables in Grafana plugin development. - [Convert data source plugin frontend logic into a backend component](https://grafana.com/developers/plugin-tools/how-to-guides/data-source-plugins/convert-a-frontend-datasource-to-backend.md): Learn how to migrate a data source plugin frontend-only code into a backend component. - [Create data frames](https://grafana.com/developers/plugin-tools/how-to-guides/data-source-plugins/create-data-frames.md): A guide to working with data frames in plugin development. - [Error handling](https://grafana.com/developers/plugin-tools/how-to-guides/data-source-plugins/error-handling.md): How to handle errors in data source plugins. - [Fetch data from frontend data source and app plugins](https://grafana.com/developers/plugin-tools/how-to-guides/data-source-plugins/fetch-data-from-frontend.md): Learn how to use the data proxy API to fetch data from frontend code in data source and app plugins in Grafana - [Include dashboards in Grafana data source plugins](https://grafana.com/developers/plugin-tools/how-to-guides/data-source-plugins/include-dashboards.md): Include dashboards in Grafana data source plugins. - [Profile a plugin's backend](https://grafana.com/developers/plugin-tools/how-to-guides/data-source-plugins/profile-backend-plugin.md): How to profile a plugin's backend. - [Requirements to support SQL expressions](https://grafana.com/developers/plugin-tools/how-to-guides/data-source-plugins/sql-requirements.md): Requirements for data source plugins to support SQL expressions. - [Validate fields in the config editor](https://grafana.com/developers/plugin-tools/how-to-guides/data-source-plugins/validate-config-editor-fields.md): How to use the DataSourceConfigValidationAPI to validate fields in your data source config editor. - [Debug your plugins with React Tools](https://grafana.com/developers/plugin-tools/how-to-guides/debugging-plugins.md): How to debug your React-based Grafana Plugin. - [Extend default configurations](https://grafana.com/developers/plugin-tools/how-to-guides/extend-configurations.md): Extend your development environment tooling configuration (webpack, eslint, prettier, jest) - [Panel plugins](https://grafana.com/developers/plugin-tools/how-to-guides/panel-plugins.md): Learn how to add additional functionality and capabilities to Grafana panel plugins. - [How to implement data links in a panel plugin](https://grafana.com/developers/plugin-tools/how-to-guides/panel-plugins/add-datalinks-support.md): How to add datalinks support to panel plugins. - [Add Visualization Suggestions to panel plugins](https://grafana.com/developers/plugin-tools/how-to-guides/panel-plugins/add-suggestions-support.md): How to set up Visualization Suggestions for panel plugins so they appear in the Grafana visualization picker. - [Build a custom panel option editor](https://grafana.com/developers/plugin-tools/how-to-guides/panel-plugins/custom-panel-option-editors.md): How to add a custom panel option editor. - [Error handling](https://grafana.com/developers/plugin-tools/how-to-guides/panel-plugins/error-handling-for-panel-plugins.md): How to handle errors in panel plugins. - [Interpolate variables in panel plugins](https://grafana.com/developers/plugin-tools/how-to-guides/panel-plugins/interpolate-variables.md): Add support for variables in Grafana panel plugins. - [Add a migration handler to your panel plugin](https://grafana.com/developers/plugin-tools/how-to-guides/panel-plugins/migration-handler-for-panels.md): How to add a migration handler to your Grafana panel plugin for seamless updates. - [Read values from a data frame](https://grafana.com/developers/plugin-tools/how-to-guides/panel-plugins/read-data-from-a-data-source.md): A guide to reading data frames in Grafana panel plugin development. - [Subscribe to Grafana events](https://grafana.com/developers/plugin-tools/how-to-guides/panel-plugins/subscribe-events.md): Work with the event bus to subscribe to Grafana application events - [Translate your plugin](https://grafana.com/developers/plugin-tools/how-to-guides/plugin-internationalization.md): Translate your plugins - [Translate your plugin before Grafana 12.1.0](https://grafana.com/developers/plugin-tools/how-to-guides/plugin-internationalization-grafana-11.md): Translate your plugin before Grafana 12.1.0 - [Manage backwards compatibility with runtime checks](https://grafana.com/developers/plugin-tools/how-to-guides/runtime-checks.md): How to manage backwards compatibility with runtime checks. - [UI extensions](https://grafana.com/developers/plugin-tools/how-to-guides/ui-extensions.md): Learn how to perform common tasks in UI extension development. - [Render links in an extension point](https://grafana.com/developers/plugin-tools/how-to-guides/ui-extensions/create-an-extension-point.md): Learn how to provide an extension point so that other applications can contribute their extensions. - [Use logs to debug your extension point](https://grafana.com/developers/plugin-tools/how-to-guides/ui-extensions/debug-logs.md): Use logs to debug your extension point. - [Protect your UI when working with extension points](https://grafana.com/developers/plugin-tools/how-to-guides/ui-extensions/degregate-ui.md): Protect your UI when working with extension points. - [Expose a component](https://grafana.com/developers/plugin-tools/how-to-guides/ui-extensions/expose-a-component.md): Share functionality with other plugins by exposing a component. - [Render components in an extension point](https://grafana.com/developers/plugin-tools/how-to-guides/ui-extensions/extension-user-render-component.md): Learn how to provide an extension point so that other applications can contribute their extensions. - [Use extension points for general functions](https://grafana.com/developers/plugin-tools/how-to-guides/ui-extensions/extension-user-use-function.md): Learn how to provide an extension point so that other applications can contribute their extensions. - [Test UI extensions between multiple plugins](https://grafana.com/developers/plugin-tools/how-to-guides/ui-extensions/local-development-setup.md): Learn how to set up your local environment for UI extension development. - [Register content in an extension point](https://grafana.com/developers/plugin-tools/how-to-guides/ui-extensions/register-an-extension.md): Register your plugin's links or components in a Grafana OSS or plugin's extension point. - [Understand UI extensions](https://grafana.com/developers/plugin-tools/how-to-guides/ui-extensions/ui-extensions-concepts.md): Learn the core concepts behind UI extensions in Grafana and how they enable plugins to interact with each other. - [Use an exposed component](https://grafana.com/developers/plugin-tools/how-to-guides/ui-extensions/use-an-exposed-component.md): Reuse functionality from other plugins by using exposed components. - [Best practices for versioning UI extensions](https://grafana.com/developers/plugin-tools/how-to-guides/ui-extensions/versioning-extensions.md): See best practices for versioning UI extensions to ensure stability, compatibility, and smooth transitions. - [Automate your plugin updates](https://grafana.com/developers/plugin-tools/how-to-guides/updating-a-plugin.md): Learn how to use create-plugin update to automatically update configuration files, workflows, and dependencies. - [Key concepts of Grafana plugin development](https://grafana.com/developers/plugin-tools/key-concepts.md): Essential ideas for Grafana plugin development. - [Anatomy of a plugin](https://grafana.com/developers/plugin-tools/key-concepts/anatomy-of-a-plugin.md): This guide describes the anatomy of a plugin, including the individual components that make up each plugin type. - [Plugin backend system](https://grafana.com/developers/plugin-tools/key-concepts/backend-plugins.md): Learn about the Grafana plugin backend system for extending the features of Grafana. - [Grafana plugin SDK for Go](https://grafana.com/developers/plugin-tools/key-concepts/backend-plugins/grafana-plugin-sdk-for-go.md): Learn about the Grafana plugin SDK for development in Go. - [Plugin backend communication protocol](https://grafana.com/developers/plugin-tools/key-concepts/backend-plugins/plugin-protocol.md): Learn about the Grafana plugin protocol for plugin development. - [Best practices for plugin development](https://grafana.com/developers/plugin-tools/key-concepts/best-practices.md): An index of plugin practices recommended by Grafana Labs. - [Data frames](https://grafana.com/developers/plugin-tools/key-concepts/data-frames.md): Learn about data frames for use in Grafana plugin development. - [Frontend NPM dependencies in a Grafana plugin](https://grafana.com/developers/plugin-tools/key-concepts/npm-dependencies.md): Learn about frontend NPM dependencies in Grafana plugins. - [Translate plugins](https://grafana.com/developers/plugin-tools/key-concepts/plugin-i18n-concept.md): Plugin translation overview. - [Life cycle of a plugin](https://grafana.com/developers/plugin-tools/key-concepts/plugin-lifecycle.md): Learn about the life cycle of a Grafana plugin. - [Grafana plugin types and usage](https://grafana.com/developers/plugin-tools/key-concepts/plugin-types-usage.md): Learn about the different types of Grafana plugins, their usage and configuration. - [Grafana plugin migration guides](https://grafana.com/developers/plugin-tools/migration-guides.md): How to upgrade or migrate a Grafana plugin. - [Migrate from AngularJS to React](https://grafana.com/developers/plugin-tools/migration-guides/angular-react.md): How to migrate a Grafana plugin from AngularJS to React. - [Angular to React: Convert from kbn](https://grafana.com/developers/plugin-tools/migration-guides/angular-react/angular-react-convert-from-kbn.md): How to migrate a plugin that uses the kbn package to current methods. - [Angular to React: Convert from app/core/time_series2](https://grafana.com/developers/plugin-tools/migration-guides/angular-react/angular-react-convert-from-time_series2.md): How to migrate a plugin that uses the app/core/time_series2 package to current methods. - [Convert value and range maps](https://grafana.com/developers/plugin-tools/migration-guides/angular-react/angular-react-convert-mappings.md): How to migrate an Angular plugin that uses value and range maps to React - [AngularJS to React: Custom configuration components](https://grafana.com/developers/plugin-tools/migration-guides/angular-react/custom-config-components.md): How to migrate a Grafana plugin from AngularJS with custom fields to React with custom components. - [Migrate configuration settings](https://grafana.com/developers/plugin-tools/migration-guides/angular-react/migrate-angularjs-configuration-settings-to-react.md): How to migrate AngularJS plugin configuration to React. - [Angular to React: Targeting older releases](https://grafana.com/developers/plugin-tools/migration-guides/angular-react/targeting-older-releases.md): How to target older releases for a plugin. - [Migrate from toolkit](https://grafana.com/developers/plugin-tools/migration-guides/migrate-from-toolkit.md): How to migrate your Grafana plugin from Grafana toolkit to create-plugin tool. - [Update plugins from Grafana versions](https://grafana.com/developers/plugin-tools/migration-guides/update-from-grafana-versions.md): How to migrate plugins from specific Grafana versions. - [Migrate plugins from Grafana version 10.0.x to 10.1.x](https://grafana.com/developers/plugin-tools/migration-guides/update-from-grafana-versions/migrate-10_0_x-to-10_1_x.md): How to migrate plugins from Grafana version 10.0.x to 10.1.x. - [Migrate plugins from Grafana version 10.x to 11.x](https://grafana.com/developers/plugin-tools/migration-guides/update-from-grafana-versions/migrate-10_x-to-11_x.md): How to migrate plugins from Grafana version 10.x to 11.x - [Migrate plugins from Grafana version 11.5.x to 11.6.x](https://grafana.com/developers/plugin-tools/migration-guides/update-from-grafana-versions/migrate-11_5_x-to-11_6_x.md): How to migrate plugins from Grafana version 11.5.x to 11.6.x. - [Migrate plugins from Grafana version 11.6.x to 12.0.x](https://grafana.com/developers/plugin-tools/migration-guides/update-from-grafana-versions/migrate-11_6_x-to-12_0_x.md): How to migrate plugins from Grafana version 11.6.x to 12.0.x. - [Migrate plugins from Grafana version 12.x to 13.x](https://grafana.com/developers/plugin-tools/migration-guides/update-from-grafana-versions/migrate-12_x-to-13_x.md): How to migrate plugins from Grafana version 12.x to 13.x. - [Migrate plugins from Grafana version 6.x to 7.0](https://grafana.com/developers/plugin-tools/migration-guides/update-from-grafana-versions/migrate-6_x-to-7_0.md): How to upgrade plugins from Grafana version 6.x to 7.0. - [Migrate plugins from Grafana version 7.x to 8.x](https://grafana.com/developers/plugin-tools/migration-guides/update-from-grafana-versions/migrate-7_x-to-8_x.md): How to migrate Grafana v7.x plugins to the updated plugin system available in Grafana v8.x. - [Migrate plugins from Grafana version 8.3.x to 8.4.x](https://grafana.com/developers/plugin-tools/migration-guides/update-from-grafana-versions/migrate-8_3_x-to-8_4_x.md): How to migrate Grafana v8.3.x plugins to Grafana v8.4.x. - [Migrate plugins from Grafana version 8.x to 9.x](https://grafana.com/developers/plugin-tools/migration-guides/update-from-grafana-versions/migrate-8_x-to-9_x.md): How to migrate plugins from version 8.x to 9.x. - [Migrate plugins from Grafana version 9.1.x to 9.2.x](https://grafana.com/developers/plugin-tools/migration-guides/update-from-grafana-versions/migrate-9_1_x-to-9_2_x.md): How to migrate plugins from Grafana version 9.1.x to 9.2.x. - [Migrate plugins from Grafana 9.3.x to 9.4.x](https://grafana.com/developers/plugin-tools/migration-guides/update-from-grafana-versions/migrate-9_3_x-to-9_4_x.md): How to migrate from Grafana 9.3.x to 9.4.x. - [Migrate plugins from Grafana version 9.x to 10.x](https://grafana.com/developers/plugin-tools/migration-guides/update-from-grafana-versions/migrate-9_x-to-10_x.md): How to migrate plugins from Grafana version 9.x to 10.x. - [Grafana plugin examples](https://grafana.com/developers/plugin-tools/plugin-examples.md): Sample plugins on GitHub for reference when building your own plugins. - [Publish your plugins](https://grafana.com/developers/plugin-tools/publish-a-plugin.md): Learn how to publish your Grafana plugins. - [Automate the packaging and signing of your plugin with GitHub CI](https://grafana.com/developers/plugin-tools/publish-a-plugin/build-automation.md): Automate Grafana plugin builds and releases - [Package a plugin](https://grafana.com/developers/plugin-tools/publish-a-plugin/package-a-plugin.md): How to package a Grafana plugin. - [Help us test your plugin](https://grafana.com/developers/plugin-tools/publish-a-plugin/provide-test-environment.md): How to add provisioning to your plugin to speed up your plugin review process. - [Publish or update a plugin](https://grafana.com/developers/plugin-tools/publish-a-plugin/publish-a-plugin.md): How to package and share your Grafana plugin. - [Publish a plugin: Frequently asked questions](https://grafana.com/developers/plugin-tools/publish-a-plugin/publish-faqs.md): Publish a plugin FAQs. - [Plugin publishing best practices](https://grafana.com/developers/plugin-tools/publish-a-plugin/publishing-best-practices.md): Best practices for publishing your plugin - [Sign a plugin](https://grafana.com/developers/plugin-tools/publish-a-plugin/sign-a-plugin.md): How to sign a Grafana plugin. - [Reference guides for plugin development](https://grafana.com/developers/plugin-tools/reference.md): Reference guides for plugin development - metadata, commands, APIs - [CLI commands](https://grafana.com/developers/plugin-tools/reference/cli-commands.md): Commands available in the create-plugin tool. - [Data sources APIs reference guide](https://grafana.com/developers/plugin-tools/reference/datasource-apis.md): API reference guides for working with data sources. - [Plugin metadata (plugin.json)](https://grafana.com/developers/plugin-tools/reference/plugin-json.md): Reference for the Grafana plugin.json metadata file. - [UI extensions reference guides](https://grafana.com/developers/plugin-tools/reference/ui-extensions-reference.md): Reference guides for UI extensions. - [Extension points in Grafana](https://grafana.com/developers/plugin-tools/reference/ui-extensions-reference/extension-points.md): Available extension points in Grafana. - [UI extensions API guide (deprecated elements)](https://grafana.com/developers/plugin-tools/reference/ui-extensions-reference/extensions-api-deprecated.md): Reference guide for UI extensions - deprecated elements. - [UI extensions API guide](https://grafana.com/developers/plugin-tools/reference/ui-extensions-reference/ui-extensions.md): Reference API guide for UI extensions. - [Resources](https://grafana.com/developers/plugin-tools/resources.md): Additional resources for plugin development, including the community support forum. - [Set up your development environment](https://grafana.com/developers/plugin-tools/set-up.md): Set up your development environment for Grafana plugin development. - [Set up your Docker development environment](https://grafana.com/developers/plugin-tools/set-up/set-up-docker.md): Set up Docker for Grafana plugin development. - [Set up GitHub workflows for your development environment](https://grafana.com/developers/plugin-tools/set-up/set-up-github.md): Set up GitHub for Grafana plugin development. - [Troubleshooting](https://grafana.com/developers/plugin-tools/troubleshooting.md): Troubleshoot issues in your Grafana plugin development. - [Tutorials for Grafana plugin development](https://grafana.com/developers/plugin-tools/tutorials.md): Guides for developing Grafana data source plugins, logs plugins, panel plugins, and other plugins. - [Build a data source plugin backend component](https://grafana.com/developers/plugin-tools/tutorials/build-a-data-source-backend-plugin.md): Learn how to create a backend for your data source plugin. - [Build a data source plugin](https://grafana.com/developers/plugin-tools/tutorials/build-a-data-source-plugin.md): Learn how to create a plugin to add support for your own data sources. - [Build a logs data source plugin](https://grafana.com/developers/plugin-tools/tutorials/build-a-logs-data-source-plugin.md): Learn how to build a logs data source plugin. - [Build a panel plugin](https://grafana.com/developers/plugin-tools/tutorials/build-a-panel-plugin.md): Learn how to create a custom visualization for your dashboards. - [Build a streaming data source plugin](https://grafana.com/developers/plugin-tools/tutorials/build-a-streaming-data-source-plugin.md): Learn how to build a streaming data source plugin. - [Build a plugin with AI](https://grafana.com/developers/plugin-tools/tutorials/build-ai-plugin.md): Learn how to build a Grafana data source plugin and app plugin by prompting an AI coding assistant. - [Build an app plugin](https://grafana.com/developers/plugin-tools/tutorials/build-an-app-plugin.md): Learn how to create an app plugin. - [What's new?](https://grafana.com/developers/plugin-tools/whats-new.md): Updates and news about the Grafana developer portal