Thanks for contributing to Carbon! 🥇 🥇
This project uses NPM for dependency management and provides NPM scripts to call on Webpack
to run tasks on the project.
To get started, you will need to checkout this project.
Carbon adheres to the JS Foundation Code of Conduct.
We use Github
issues for tracking. Use appropriate queue Bug
or Feature Request
for reporting.
We try to make process as simple as possible:
Before starting development on a Carbon project, please complete the following steps:
- If contribution involves changes to
requirements
, create your work in the Carbon JIRA project using the appropriate template: - For contributions that have an issue in the Github queue, you don't have to do anything specific!
After checking out the project, you will want to run the following command to pull in dependencies needed by the project:
npm install
When contributing to Carbon, you would need to run the below command and load the test page. The test page auto reloads whenever you make any changes to the .CSS, .JS files or if you make any changes to the sample .html file
npm run dev
Open in browser:
http://localhost:9991/
To build the project, run the build script:
npm run build && npm run build:dist
This will generate dist
and lib
folders with core + packaged dependencies
and core
source codes respectively.
- Follow the UX Design Standards.
- Setup a design meeting to discuss overall design of the project.
- Add the code changes.
- Add unit tests.
- Ensure your code is thoroughly unit tested. (Coverage is at
carbon-graphs\.coverage\html\index.html
) - Ensure no unit tests are broken.
- Ensure no linting errors are present.
- Add examples in appropriate tab within
dev
. - Write documentation in
Markdown
, following the existing documentation pattern. - Include screenshots and animated GIFs in your pull request whenever possible.
- Follow proper PR title and Commit message format.
- End files with a newline.
We follow ESLint
commit convention.
Your commit message should look something like this:
<Tag>: <Short description> (fixes #1234)
Note: 1234 is the Carbon Github issue number.
- Provide the PR with all necessary information to ease code review process in the
Description
, for instance:- Screenshots of the working prototype.
- Files you want the reviewer to focus on.
- Respond to all comments.
- Do not rebase with main and force push until you reach
ready to merge
status.
Release is automated, and will be performed when PR is merged to main
branch.
carbon-graphs will be released following release types based on the commit message tags
Tag | Release |
---|---|
Breaking | major |
Fix | patch |
New | minor |
Update | minor |
Upgrade | patch |
Revert | patch |
Deployment of site is automated, and will be performed when PR is merged to main
branch.
For any breaking changes, add information on how to migrate from previous version along with changes that was provided. Create an issue and add any stakeholders to that issue. This issue will be closed once you have 👍 from all of the stakeholders (or subsequent issues are created within their own git repo queues).