Thank you for considering contributing to VueGL. We welcome any suggestions and cooperations to make the project better and more enjoyable!
Following these guidelines helps us to avoid unproductive discussions and modifications. It also helps future contributers to understand contexts and code behaviors.
There are many ways to contribute, from writing tutorials or blog posts, improving the documentation, submitting bug reports and feature requests or writing code which can be merged.
- Strive to ensure cross-browser compatibility. At least IE >= 9, Edge, Chrome, Firefox, Safari.
- Categorize and design VueGL components to correspond classes in three.js.
- Be welcoming to newcomers and encourage diverse new contributors from all backgrounds. See Code of Conduct.
If you unsure where to begin contributing, how about starting with following?
- Writing posts: share your feelings, tutorials, etc. on your website or SNS.
- Improving the documentation: add or fix explainations and examples.
- Resolving issues: choose an issue that seems easy to resolve and try creating pull request.
Working on your first pull request? You can learn how from this free series, How to Contribute to an Open Source Project on GitHub.
Feel free to ask for help. Everyone is a beginner at first.
- Create your own fork of the code.
- Do the changes in your fork.
- Be sure all tests have passed. (Run
npm test
oryarn test
.) - Be sure following the code style for the project. (Run
npm lint
oryarn lint
.) - Send a pull request.
If you find a security vulnerability, do NOT open an issue. Email us instead.
When filing an issue, make sure the following points.
- What version of VueGL you are using.
- What version of Vue.js you are using.
- What version on three.js you are using.
- What browser you are using. (Name and version)
- How to recreate the problem.
- What you expected to see and what you are seeing instead.
We wish VueGL to implement all features of three.js as possible. We also actively adopt advanced functions for handling WebGL and 3D graphics easier.
If you find yourself wishing for a feature that doesn't exist in VueGL, you are probably not alone! There are bound to be others out there with similar needs. If you think that the enhancement is small enough and you can write codes yourself, feel free to send a pull request directly. Otherwise, open an issue which describes the feature you would like to see, why you need it, and how it should work.
Before you submit a pull request, consider the following points.
- Include appropriate test case.
- Be sure all tests have passed at least with 1 browser.
If you have multiple browsers, it is disireble to test with all of them.- Run
npm test
oryarn test
. - After karma server started, open the address displayed on the terminal.
- Run
- Be sure following the code style.
- Javascript codes should follow airbnb style guide and should pass eslint.
- Markdown files should pass markdownlint.
- Run
npm lint
oryarn lint
.
- Check your fixes at documentation examples.
- Run
npm start
oryarn start
. - After jekyll server started, open the address displayed on the terminal.
- Run
You need Node.js and npm to build, test, and lint VueGL.
You need Ruby and Bundler to see documentation locally.
After sending a pull request, make sure all required checks have passed. If not, you should fix them first.
You can ignore the failed checks those are not required, although we refer them.
We look at pull requests within roughly two weeks. If we found anything to be fixed or feel to need a discussion, we will ask you by leaving a comment.
After feedback has been given, we expect responses within a month. After a month, we may close the pull request if it isn't showing any activity.
Feel free to email us.