mirror of
https://github.com/n8n-io/n8n.git
synced 2025-01-11 21:07:28 -08:00
📚 Improve documentation about how to contribute to n8n
This commit is contained in:
parent
a66235cadb
commit
7cd563183a
107
CONTRIBUTING.md
Normal file
107
CONTRIBUTING.md
Normal file
|
@ -0,0 +1,107 @@
|
||||||
|
# Contributing to n8n
|
||||||
|
|
||||||
|
Great that you are here and you want to contribute to n8n
|
||||||
|
|
||||||
|
|
||||||
|
## Code of Conduct
|
||||||
|
|
||||||
|
This project and everyone participating in it are governed by the Code of
|
||||||
|
Conduct which can be found in the file [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md).
|
||||||
|
By participating, you are expected to uphold this code. Please report
|
||||||
|
unacceptable behavior to jan@n8n.io.
|
||||||
|
|
||||||
|
|
||||||
|
## Directory Structure
|
||||||
|
|
||||||
|
n8n is split up in different modules which are all in a single mono repository.
|
||||||
|
|
||||||
|
The most important directories:
|
||||||
|
|
||||||
|
- [/docker/image](/docker/image) - Dockerfiles to create n8n containers
|
||||||
|
- [/docker/compose](/docker/compose) - Examples Docker Setups
|
||||||
|
- [/packages](/packages) - The different n8n modules
|
||||||
|
- [/packages/cli](/packages/cli) - CLI code to run front- & backend
|
||||||
|
- [/packages/core](/packages/core) - Core code which handles workflow
|
||||||
|
execution, active webhooks and
|
||||||
|
workflows
|
||||||
|
- [/packages/editor-ui](/packages/editor-ui) - Vue frontend workflow editor
|
||||||
|
- [/packages/node-dev](/packages/node-dev) - Simple CLI to create new n8n-nodes
|
||||||
|
- [/packages/nodes-base](/packages/nodes-base) - Base n8n nodes
|
||||||
|
- [/packages/worflow](/packages/worflow) - Workflow code with interfaces which
|
||||||
|
get used by front- & backend
|
||||||
|
|
||||||
|
|
||||||
|
## Development Setup
|
||||||
|
|
||||||
|
If you want to change or extend n8n you have to make sure that all needed
|
||||||
|
dependencies are installed and the packages get linked correctly. Here a short guide on how that can be done:
|
||||||
|
|
||||||
|
|
||||||
|
### Requirements
|
||||||
|
|
||||||
|
|
||||||
|
#### Build Tools
|
||||||
|
|
||||||
|
That all the packages which n8n uses can be installed and compiled correctly
|
||||||
|
the essential build tools must be installed. This is probably already the case
|
||||||
|
for the most people but if you are totally new to development or just setting
|
||||||
|
up a new computer it is probably still missing.
|
||||||
|
|
||||||
|
Linux:
|
||||||
|
```
|
||||||
|
apt-get install -y build-essential python
|
||||||
|
```
|
||||||
|
|
||||||
|
Windows:
|
||||||
|
```
|
||||||
|
npm install -g windows-build-tools
|
||||||
|
```
|
||||||
|
|
||||||
|
#### lerna
|
||||||
|
|
||||||
|
n8n is split up in different modules which are all in a single mono repository.
|
||||||
|
To make development as easy as possible does [lerna](https://lerna.js.org) get
|
||||||
|
used. It automatically sets up file-links between modules which depend on each
|
||||||
|
other.
|
||||||
|
|
||||||
|
So for the setup to work correctly lerna has to be installed globally like this:
|
||||||
|
|
||||||
|
```
|
||||||
|
npm install -g lerna
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
### Actual n8n setup
|
||||||
|
|
||||||
|
Now that everything n8n requires to run is installed the actual n8n code can be
|
||||||
|
checked out and set up:
|
||||||
|
|
||||||
|
1. Clone the repository
|
||||||
|
```
|
||||||
|
git clone https://github.com/n8n-io/n8n.git
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Go into repository folder
|
||||||
|
```
|
||||||
|
cd n8n
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Install all dependencies of all modules and link them together:
|
||||||
|
```
|
||||||
|
lerna bootstrap --hoist
|
||||||
|
```
|
||||||
|
|
||||||
|
4. Build all the code:
|
||||||
|
```
|
||||||
|
npm run build
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Start
|
||||||
|
|
||||||
|
To start n8n execute:
|
||||||
|
|
||||||
|
```
|
||||||
|
npm run start
|
||||||
|
```
|
|
@ -33,11 +33,7 @@ And information about how to run it in Docker [here](https://github.com/n8n-io/n
|
||||||
|
|
||||||
## Development Setup
|
## Development Setup
|
||||||
|
|
||||||
1. Clone the repository
|
A guide how to set everything up can be found in the file [CONTRIBUTING.md](CONTRIBUTING.md)
|
||||||
2. Go into repository folder
|
|
||||||
3. Run: `npm install`
|
|
||||||
4. Run: `npx lerna bootstrap --hoist`
|
|
||||||
5. Run: `npm run build` or `npx lerna exec npm run build` (if lerna is not installed)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue