A BIG thank you from everyone using the UI-Toolkit for taking the time to contribute! 👏
The following is a set of guidelines for contributing to the UI-Toolkit and its components, These are just guidelines, not rules, use your best judgment and feel free to propose changes to this document in a pull request.
This guide will be constantly updated.
- Please choose a name that describes the component i.e
button
- When adding a class to the template, please prefix with
component-
so when in use it doesn't conflict with existing components
- You can create a new issue, but before doing that please read the notes below on submitting issues, and include as many details as possible with your report.
- Include screenshots, animated GIFs or screencasts whenever possible; they are immensely helpful.
- Include the behavior you expected and other places you've seen that behavior
- Perform a cursory search to see if a similar issue has already been submitted.
- Please setup a profile picture to make yourself recognizable and so we can all get to know each other better.
- Include screenshots and animated GIFs in your pull request whenever possible.
- Include thoughtfully-worded, well-structured Mocha specs. See the specs styleguide below.
We use ESLint to ensure consistency in our repo. Please ensure you:
- Eliminate excess white space.
- End files with a newline.
- Limit the first line to 72 characters or less
- Reference issues and pull requests liberally
- Consider starting the commit message with an applicable emoji:
- 🆕
:new:
when fixing adding a new component - 🐛
:bug:
when fixing a bug - 🐎
:racehorse:
when improving performance - 📝
:memo:
when writing docs - 🔥
:fire:
when removing code or files - 🔒
:lock:
when dealing with security - ⬆️
:arrow_up:
when upgrading dependencies - ⬇️
:arrow_down:
when downgrading dependencies
- 🆕
- Include Mocha specs in the
__test__
folder in area for developement, if the directory doesn't exist, please add one. - Run test using
npm test
- treat
describe
as a noun or situation. - treat
it
as a statement about state or how an operation changes state.
describe('a dog', function() {
it('barks', function() {
# spec here
});
describe('when the dog is happy', function() {
it('wags its tail', function() {
# spec here
});
});
});
-- Based on the wonderful Contribution.md file from the guys and girls at atom