3.5 KiB
How to Contribute
Great to see you! Help us out by filing bugs or feature requests, assisting others in our forums or by contributing improvements.
Table of Contents
Working with Issues
We use our issue tracker for project communication, discussion and planning.
Creating an Issue
Help others to understand your request:
- Be clear whether you file a bug or suggest a new feature/improvement
- Be descriptive when reporting (what, where, when and how)
Reporting a Bug
Help us to understand and reproduce your issue:
- Attach your environment (browser, bpmn-js version)
- Attach steps to reproduce
- Attach code samples, configuration options or stack traces that provide the necessary context
If possible, try to build an example that reproduces your problem. You can use our playgrounds for viewer or modeler as a starting point or put a demo up on GitHub for inspection.
Suggesting a Feature
- Provide the necessary context that allows us to understand how your proposal improves our library
Helping out
- Share your perspective on issues
- Be helpful and respect others when commenting
Contributing Improvements
Learn how to setup the project locally, make changes and contribute bug fixes and new features through pull requests.
Setting up the Project
The project development runs on top of the diagram-js master branch. The following code snippet sets up both libraries linking diagram-js to bpmn-js.
mkdir bpmn.io
cd bpmn.io
git clone git@github.com:bpmn-io/diagram-js.git
(cd diagram-js && npm i)
git clone git@github.com:bpmn-io/bpmn-js.git
(cd bpmn-js && npm install && npm link ../diagram-js)
// Run the test suite
npm test
// Running the test suite with every file change
TEST_BROWSERS=(Chrome|Firefox|IE) npm run dev
For details consult our in depth setup guide.
Discussing Code Changes
Create a pull request if you would like to have an in-depth discussion about some piece of code.
Creating a Pull Request
We use pull requests for feature additions and bug fixes. If you are not yet familiar on how to create a pull request, read this great guide.
Some things that make it easier for us to accept your pull requests
- The code adheres to our conventions
- spaces instead of tabs
- single-quotes
- ...
- The code is tested
- The
npm run all
build passes (executes tests + linting) - The work is combined into a single commit
- The commit messages adhere to our guideline
We'd be glad to assist you if you do not get these things right in the first place.
❤️ from the bpmn.io team.