If you're new to contributing to open source software this guide guide is a great read.
A great place to jump in are issues labeled good first issue.
Feel free to join the project Discord if you have questions.
- - Ensure 100% code coverage with thoughtful unit and integration tests
- - Documentation is updated if needed
- - Passing CI pipeline
Setup and use requires Git, Node JS , and a text editor such as VS Code.
This project is built for Node 8 and up but we develop using Node LTS and npm.
You can check your node version with node -v
and your npm version with npm -v
.
If you're on a Mac, I'd suggest using Homebrew for installing the required software listed in Setup.
Clone this project with Git to your preferred location.
git clone [email protected]:cujarrett/spellcheckme.git
cd spellcheckme
npm install
Finds problematic patterns or code that doesn’t adhere to certain style guidelines
npm run lint
npm run fix-lint
Runs the unit and integration tests.
npm run test
Runs linting and tests, same as in the CI pipeline.
npm run ci
This project follows the Conventional
Commits specification to
aid in automated releases and change log generation. Commitlint
is enabled and ran as a commit-msg
hook to enforce the commit format. Commitizen
can be used to prompt through any requirements at commit time npm run commit
(or git cz
if Commitizen is installed globally).
In short, if a commit will be fixing a bug, prefix the commit message with
fix:
fix: my bug fix
If a commit will be adding a feature, prefix the commit message with feat:
feat: my new feature
Commits with fix:
prefix will show up in the generated changelog as bullets
under the Bug Fixes:
section, and feat:
prefixed messages will show under
the Features:
section. For more on the available prefixes/rules, see here.