n8n-nodes-starter/README.md

3.9 KiB

Banner image

n8n-nodes-starter

This repo is a template to start building your own custom integrations for n8n.

It contains instructions for how to develop your own custom nodes, as well as publishing them so others in the n8n community can use them.

For a comprehensive guide on creating your nodes, see this page in the documentation.

Getting started

First, you'll need to make your own copy of this repo:

  1. Generate a new repository from this template repository.
  2. Install git, if you don't have it already
  3. Clone this repo to your local machine:
    git clone https://github.com/<your organization>/<your-repo-name>.git
    

Second, you'll need to prepare your environment to develop on the nodes in this repository. This means:

  • Installing npm
  • Building the nodes in this repository
  • Getting a running n8n instance
  • Linking your nodes into the running n8n instance

You can do this in one of two ways:

This repo has a VSCode devcontainer spec with all the tooling you need to work on your custom nodes in a Docker container sandbox.

To use:

  1. Install Docker and start it
  2. Install VSCode
  3. Install the VSCode Dev Containers extension
  4. Open your local clone of this repository
  5. Choose "Reopen in Container" when the popup appears saying, "Folder contains a Dev Container configuration file. Reopen folder to develop in a container?"
  6. Wait for the container to build and open
  7. Visit localhost:5678 to open the n8n instance running inside the devcontainer
  8. In a workflow, for "Example Node" to ensure that the nodes in this repo are being picked up properly

Option 2: Bring your own environment

You can also bring your own environment.

To start, you'll need to follow this guide for setting up your local n8n development environment.

Then you'll need to link your node into your running n8n instance using these steps.

After restarting n8n, you should be able to search for "Example Node" to ensure that the nodes in this repo are being picked up properly.

Development

Development means modifying the examples in /nodes and /credentials, and restarting the n8n server to pick up the changes (n8n doesn't have live reload).

NOTE: you can use npm run lint to check for linting errors, and npm run lintfix to try and automatically fix errors.

Devcontainer

  1. Make your changes
  2. Quit the terminal process in VSCode running the n8n server
  3. Run start-n8n-with-custom-node.sh
  4. Repeat

Your own environment

  1. Make your changes
  2. Quit the n8n process (however you started it)
  3. Restart it
  4. Repeat

Publishing

When you're ready to share your nodes with the community, do the following:

  1. Update the following fields in package.json to match your details:
    • name
    • description
    • version
    • description
    • repository
    • homepage
    • author.name
    • author.email
  2. Replace this README with documentation for your node. Use the README_TEMPLATE to get started.
  3. Update the LICENSE file to contain your own name at the top.
  4. Publish your package to npm.

License

MIT