Contribution
Creamie is currently developing at a good pace. Contributors are welcome to collaborate. Before, knocking on the door just go through the standard Contributing Open Source Guides. Read the Code of conduct to understand what actions you can and you cannot.
#
DevelopmentCreamie using github for source code management. Make sure to install Git CLI.
Once it is done, Fork the below repository and create your branch from master.
@creamie/core#
@creamie/cli#
@creamie/watcher#
#
Working on code#
Style guideWe are following eslint and prettier to maintain a neat code that will match developer standards.
If you are not a VS code eslint/prettier extension fan. Just use npm run lint
to detect the status of code styling. Most probably when you are committing your code Husky will run linting and auto test cases.
#
TDD - Test Driven DevelopmentNew features or issues make sure you have a written test case that should meet all your workflow conditions.
Test frameworks:
- testcafe for @creamie/core
- mocha for @creamie/cli and @creamie/watcher
Even though you have not run your tests on a local machine. While committing it will run a test and then allow you o push. After pushing into the codebase. Github webhooks will pass a request to run all the test cases on Travis CI where you can check the status. Also, we can view the status as a green label if it passed.
#
Conventional CommitsA set of rules on committing message style will make you a good contributor.
Commit message will be structured as below:
Type: chore, docs, feat, fix, refactor, style, or test. Message: use lowercase always
Example:
Go through Conventional commits for a detailed summary.
#
Setting up local npm packageThis operation will take place while you are including a new change on the package. Once you started development make sure the package you are developing should be synced to your 'Test' application.
How to sync local npm package?
#
How can we sync local package to our test application ?Goto the package folder hit the below command. The Below command will create a local package into your machine.
Now you should include your local package in your test project.
So your setup is complete. While you are doing any changes in your local package will automatically sync to your node_modules
.
#
Pull requestOnce you have done your development on your branch. Just raise a pull request. Pull requests should be against the master
branch always.
note
Each PR should have a single feature/issue. If you have multiple changes make separate PRs for each change.
#
Joining discord channels (Development purpose only)If you are looking for any clarification/help just ping us in below respective channels.
Start developing. CHEERS!