---
title: Set up your development environment
source: https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/build-nr-apps/set-up-dev-env
---

If you've decided to build a custom app or modify one of our open source apps, you need a few essential tools:

-   The [New Relic command line interface (CLI)](https://one.newrelic.com/launcher/developer-center.launcher?pane=eyJuZXJkbGV0SWQiOiJkZXZlbG9wZXItY2VudGVyLmRldmVsb3Blci1jZW50ZXIifQ==).
-   An API key, which you get when you download the CLI.

Depending on what you want to do with your app, you might have some additional setup and configuration. This guide covers:

-   Downloading the New Relic CLI to build or modify apps
-   Contribute content to this website

## Before you begin

Before you begin, we recommend first reading about [permissions](https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/build-nr-apps/permission-manage-apps).

To start building, you must have:

-   A [github account](https://github.com/) account. While not strictly necessary for building apps, a GitHub account enables you to [download and customize our open source apps](https://opensource.newrelic.com/explore-projects), and contribute an [open source project](https://opensource.newrelic.com/contributing/).
-   A [New Relic developer account](https://newrelic.com/signup/?partner=Developer+Edition). If you don't already have one, you can get a free trial account for developing New Relic applications.
-   [npm](https://www.npmjs.com/get-npm). If you've installed [Node.js](https://nodejs.org/en/download/), then you already have `npm`, which is used to share, reuse, and update JavaScript code. This necessary for working with React components that are the framework for New Relic apps and this website.

### A note on support

Building a New Relic application is the same as building any JavaScript/React application. We offer support to help with our building tools ([our CLI](https://one.newrelic.com/launcher/developer-center.launcher?pane=eyJuZXJkbGV0SWQiOiJkZXZlbG9wZXItY2VudGVyLmRldmVsb3Blci1jZW50ZXIifQ==) and [SDK library](https://docs.newrelic.com/docs/new-relic-solutions/build-nr-ui/sdk-component/intro-to-sdk). However, we don't offer support for basic JavaScript or React coding questions or issues.

For common questions and answers about building, see the [Explorers Hub page on building on New Relic](https://support.newrelic.com/s/hubtopic/Topic__c/Default?c__categories=%5B%7B%22icon%22%3A%22standard%3Adefault%22%2C%22id%22%3A%22a6c8W000000EeszQAC%22%2C%22sObjectType%22%3A%22Category__c%22%2C%22title%22%3A%22Build%20on%20New%20Relic%22%2C%22titleFormatted%22%3A%22Build%20on%20New%20Relic%22%7D%5D).

> #### 💡 TIP
>
> Use the [New Relic VSCode extension](https://marketplace.visualstudio.com/items?itemName=new-relic.nr1)
> or the [New Relic VSCode extension pack](https://marketplace.visualstudio.com/items?itemName=new-relic.new-relic-extension-pack) to build your apps.

## Prepare to build or modify apps

### Download the CLI and API key

On the [Build New Relic applications page](https://one.newrelic.com/launcher/developer-center.launcher?pane=eyJuZXJkbGV0SWQiOiJkZXZlbG9wZXItY2VudGVyLmRldmVsb3Blci1jZW50ZXIifQ==), complete the **Quick start** steps to download.

These six Quick start steps get you an API key for use with developing apps, and the New Relic CLI, for building and deploying apps. At the end of the Quick start, you have a project consisting of the following:

-   A **Nerdpack**. The package containing all the files required by your application. It contains two types of files that you customize to build your app: Nerdlets, and the launcher.
-   One or more **Nerdlet** files. A specific UI view or window. A Nerdlet is a React JavaScript package that includes an `index.js` file, a `stylesheet`, and a JSON-format `config` file. It can contain any JS functionality (charts, interactive fields, tooltips, etc.).
-   A `launcher` file: This is the basis for the launcher, which is used to open your application from New Relic after you publish your app.

### Start building

If you're ready to code, `cd` to your Nerdpack and get started.

If you want to learn more about building applications, try these step-by-step guides:

-   [Build a "Hello, World!" application](https://docs.newrelic.com/docs/new-relic-solutions/tutorials/build-hello-world-app) shows how to create a little application, publish it to New Relic, and share it with others by subscribing accounts to it.
-   [Map pageviews by region](https://docs.newrelic.com/docs/new-relic-solutions/tutorials/map-pageviews-region/) takes you through the steps to create one of our popular open source apps. You learn to add a custom query to an app and view it in a table, then add that data to a map.

## Contribute to the `developer.newrelic.com` site

This site is open source, and we'd like to have your input. Create a pull request if you see a mistake you know how to fix. Drop us a GitHub issue if you see some content gaps you want us to work on. Or write up a whole new guide if you have one you'd like to share. Read on to learn how.

### Fork the `developer-website` GitHub repo

Forking the repo enables you to work on your own copy of the `developer.newrelic.com` files, and [build the site locally](https://github.com/newrelic/developer-website#developernewreliccom). It also enables us to more easily manage incomimg pull requests.

1.  Go to the [developer-website](https://github.com/newrelic/developer-website) page in GitHub.
2.  Select the **Fork** button on the top right of the page.
3.  Choose the account you want to fork to, and wait a few seconds while the fork is created.

    [Sync regularly](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/syncing-a-fork) to keep your fork up to date with changes and additions to the main branch upstream.

### Make a feature or documentation request

1.  On any page, select the **GitHub** button at the top of the page.
2.  Select the kind of change you want.
3.  Fill out the GitHub form.

### Contribute a new guide

Check out our [contributors guidelines](https://github.com/newrelic/developer-website/blob/master/CONTRIBUTING.md#creating-new-pages), which will walk you through the process.
