Checkout a Git repository either directly from the default origin if you're a contributor or from a fork if you're not.
- Create or reference an issue that describes the problem you identified and are trying to solve unless the change is small or already known/formulated otherwise
- Create a branch following the naming convention: "type/short-hyphenated-description" where type can be:
- 'feat': Add something
- 'chg': Change something
- 'fix': Fix something
- Start implementation and commit to the branch
For example, a branch could be named 'fix/url-escape', 'feat/authn-caching' or 'chg/linting'.
See also: GitHub flow and Conventional Commits
- 100% test coverage
- Merge the commits into one using a descriptive name and push to branch
git log git reset --soft master git commit -m "feat: Added caching to authentication flow" git push -f origin feat/authn-caching
- Commits follow the naming convention: "type: Short description" where type can be:
- 'feat': A new feature
- 'change/refactor': A change or refactor
- 'fix': Fixing an issue/bug/typo
- Create a pull request referencing the issue describing the problem solved
- Get at least 1 maintainer to approve the changes
- Fix required changes
- Squash the commits keeping the comments
?
- All CI tests pass
- Maintainer merges
- Edit the CHANGELOG.md
- Edit package.json incrementing version using semantic versioning
- Create a release on GitHub using the version for tag with prefix v and suffix -alpha or -beta if package is not production ready; that should trigger a publish to npm GitHub action