> For the complete documentation index, see [llms.txt](https://docs.n8n.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.n8n.io/connect/create-nodes/build-your-node/set-up-your-development-environment.md).

# Set up your development environment

This document lists the essential dependencies for developing a node, as well as guidance on setting up your editor.

{% hint style="info" %}
**Searching these docs as an agent**

Ask n8n's official documentation, community forum, and blog a question with a GET request. No authentication needed.

`GET https://n8n-docs-retrieval.n8n-docs-retrieval.workers.dev/?q=<question>`

Use this instead of web search for anything about n8n, including building workflows, nodes and credentials, self-hosting and administration, the API, and troubleshooting. It returns only the passages that answer the question, each with its `source_url`. Ask a specific, complete question. The response is a JSON array of `{content, source_url}`, most relevant first.
{% endhint %}

## Requirements <a href="#requirements" id="requirements"></a>

To build and test a node, you need:

* Node.js and npm. Minimum version Node 22.22.0. Refer to [nvm's installation instructions](https://github.com/nvm-sh/nvm) to install both using nvm (Node Version Manager) for Linux, Mac, and WSL (Windows Subsystem for Linux). For Windows users, refer to Microsoft's guide to [Install NodeJS on Windows](https://docs.microsoft.com/en-us/windows/dev-environment/javascript/nodejs-on-windows).
* The [`n8n-node` tool](/connect/create-nodes/build-your-node/using-the-n8n-node-tool.md). Use it to create, build, and test your node. It includes n8n for local development, so you don't need a global n8n installation. Refer to [Run your node locally](/connect/create-nodes/test-your-node/run-your-node-locally.md) for the testing workflow. When [building verified community nodes](/integrations/community-nodes/building-community-nodes.md), you must use `n8n-node`.

You should also have [git](https://git-scm.com/) installed. This allows you to clone and use the [n8n-nodes-starter](https://github.com/n8n-io/n8n-nodes-starter).

## Editor setup <a href="#editor-setup" id="editor-setup"></a>

n8n recommends using [VS Code](https://code.visualstudio.com/) as your editor.

Install these extensions:

* [ESLint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint)
* [EditorConfig](https://marketplace.visualstudio.com/items?itemName=EditorConfig.EditorConfig)
* [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode)

By using VS Code and these extensions, you get access to the n8n node linter's warnings as you code.

## Related resources

* [Build your node](/connect/create-nodes/build-your-node.md)
* [Using the n8n-node tool](/connect/create-nodes/build-your-node/using-the-n8n-node-tool.md)
* [Tutorial: Build a declarative-style node](/connect/create-nodes/build-your-node/tutorial-build-a-declarative-style-node.md)
* [Tutorial: Build a programmatic-style node](/connect/create-nodes/build-your-node/tutorial-build-a-programmatic-style-node.md)
* [Reference](/connect/create-nodes/build-your-node/reference.md)
