Skip to main content
Welcome to Grafana development! This guide will help you start contributing to Grafana, whether you’re fixing bugs, adding features, or improving documentation.

What is Grafana?

Grafana is a monitoring and observability platform built with:
  • Backend: Go
  • Frontend: TypeScript and React
  • Architecture: Monorepo with Yarn workspaces (frontend) and Go workspaces (backend)
Grafana consists of two main components that are built and deployed separately:
  • The frontend - TypeScript/React application with hot-reload development
  • The backend - Go web server with API handlers and business logic

Before You Start

We welcome all contributors who want to help improve Grafana in a healthy and constructive manner. Please:

Choose the Right Channel

Use the appropriate channel for your needs:
  • GitHub Issues & Pull Requests: For reproducible bugs, small feature requests, and code/docs changes
  • Grafana Community Forums: For questions, troubleshooting, best practices, and early idea discussion
  • Grafana Community Slack: For quick chats and networking
  • Not sure? Start with the community forums

Ways to Contribute

Code Contributions

  1. Fix bugs or add features: Browse help wanted issues
  2. Set up your environment: Follow the Local Setup guide
  3. Understand the codebase: Learn the Project Structure
  4. Build and test: See Building Grafana

Non-Code Contributions

You can help even if you don’t write code:

Develop Plugins

Extend Grafana with new data sources, panels, and more:
  1. Read the plugin development guide
  2. Scaffold your plugin using recommended tools
  3. Develop and test locally
  4. Publish or submit for review

Contributor License Agreement

Before we can accept your pull request, you need to sign our CLA. Our CLA assistant will prompt you when you create your pull request.

Next Steps

Local Setup

Install dependencies and configure your development environment

Project Structure

Learn how the Grafana monorepo is organized

Building

Build and run Grafana locally

Testing

Run frontend, backend, and end-to-end tests

Community & Support