# How to Contribute?
All kind of contribution is welcomed. You can always create an issue at GitHub.
If you want to work on code and send a pull request, we highly recommend you to create an issue first to discuss how to implement it and to be aligned with the roadmap of Ship.js.
# Working on code
- Fork the project
- Clone the repository
- Install the dependencies:
yarn install
Ship.js is using yarn workspace for its monorepo structure.
Ship.js consists of two packages:
shipjs
: CLI packageshipjs-lib
: A library package used byshipjs
# Testing and linting
We ask you to write test cases whenever you make a change. You can run tests by the following commands:
yarn workspace shipjs test:watch
or
yarn workspace shipjs-lib test:watch
And please make sure your code passes eslint.
yarn lint
Always reach out to us on GitHub when you are blocked in any way during the contribution.
# Testing your code in action
If you've made some change in prepare
command, you can run it over your test repository like the following:
yarn workspace shipjs test:run:prepare --dir ~/workspace/your-test-repository
# Contributors list
When you make a contribution, you can be on the contributors list.
Run the following command and send a new pull request.
yarn contributors:add <your-github-username> <contribution-type>
For example,
yarn contributors:add eunjae-lee code,doc
Ship.js is using all-contributors
to maintain the contributors list.
The full list of contribution types can be found here.