2014-02-08 15:31:01 +00:00
|
|
|
# Contributing to Node-RED
|
|
|
|
|
|
|
|
We welcome contributions, but request you follow these guidelines.
|
|
|
|
|
|
|
|
## Raising issues
|
|
|
|
|
|
|
|
Please raise any bug reports on the project's
|
|
|
|
[issue tracker](https://github.com/node-red/node-red/issues?state=open). Be sure to
|
|
|
|
search the list to see if your issue has already been raised.
|
|
|
|
|
|
|
|
A good bug report is one that make it easy for us to understand what you were
|
|
|
|
trying to do and what went wrong.
|
|
|
|
|
|
|
|
Provide as much context as possible so we can try to recreate the issue.
|
|
|
|
If possible, include the relevant part of your flow. To do this, select the
|
|
|
|
relevant nodes, press Ctrl-E and copy the flow data from the Export dialog.
|
|
|
|
|
2014-02-27 16:38:35 +00:00
|
|
|
At a minimum, please include:
|
|
|
|
|
|
|
|
- Version of Node-RED - either release number if you downloaded a zip, or the first few lines of `git log` if you are cloning the repository directly.
|
|
|
|
- Version of node.js - what does `node -v` say?
|
|
|
|
|
|
|
|
|
2014-02-08 15:31:01 +00:00
|
|
|
## New features
|
|
|
|
|
|
|
|
For feature requests, please raise them on the [mailing list](https://groups.google.com/forum/#!forum/node-red).
|
|
|
|
|
|
|
|
## Pull-Requests
|
|
|
|
|
|
|
|
### Changes to existing code
|
|
|
|
if you want to raise a pull-request with a new feature, or a refactoring
|
|
|
|
of existing code, it may well get rejected if you haven't discussed it on
|
|
|
|
the [mailing list](https://groups.google.com/forum/#!forum/node-red) first.
|
|
|
|
|
|
|
|
### New nodes
|
|
|
|
|
|
|
|
The plugin nature of Node-RED means anyone can create a new node to extend
|
|
|
|
its capabilities.
|
|
|
|
|
|
|
|
We want to avoid duplication as that can lead to confusion. Many of our existing
|
|
|
|
nodes offer a starting point of functionality. If they are missing features,
|
|
|
|
we would rather extend them than add separate 'advanced' versions. But the key
|
|
|
|
to that approach is getting the UX right to not lose the simplicity.
|
|
|
|
|
|
|
|
To contribute a new node, please raise a pull-request against the
|
|
|
|
`node-red-nodes` repository.
|
|
|
|
|
|
|
|
Eventually, the nodes will be npm-installable, but we're not there yet. We'll
|
|
|
|
also have some sort of registry of nodes to help with discoverability.
|
|
|
|
|
|
|
|
### Coding standards
|
|
|
|
|
|
|
|
Please ensure you follow the coding standards used through-out the existing
|
|
|
|
code base. Some basic rules include:
|
|
|
|
|
|
|
|
- all files must have the Apache license in the header.
|
|
|
|
- indent with 4-spaces, no tabs. No arguments.
|
|
|
|
- opening brace on same line as `if`/`for`/`function`/etc, closing brace on its
|
|
|
|
own line.
|
|
|
|
|
2014-10-22 13:33:48 +00:00
|
|
|
### Contributor License Agreement
|
2014-02-08 15:31:01 +00:00
|
|
|
|
|
|
|
In order for us to accept pull-requests, the contributor must first complete
|
|
|
|
a Contributor License Agreement (CLA). This clarifies the intellectual
|
|
|
|
property license granted with any contribution. It is for your protection as a
|
|
|
|
Contributor as well as the protection of IBM and its customers; it does not
|
|
|
|
change your rights to use your own Contributions for any other purpose.
|
|
|
|
|
2014-03-25 17:41:33 +00:00
|
|
|
You can download the CLAs here:
|
|
|
|
|
|
|
|
- [individual](http://nodered.org/cla/node-red-cla-individual.pdf)
|
|
|
|
- [corporate](http://nodered.org/cla/node-red-cla-corporate.pdf)
|
2014-02-08 15:31:01 +00:00
|
|
|
|
|
|
|
If you are an IBMer, please contact us directly as the contribution process is
|
|
|
|
slightly different.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|