Skip to content

Instantly share code, notes, and snippets.

@matthieubosquet
Last active December 31, 2020 12:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save matthieubosquet/99fa81411ebd5e23cbfdffd0886638f4 to your computer and use it in GitHub Desktop.
Save matthieubosquet/99fa81411ebd5e23cbfdffd0886638f4 to your computer and use it in GitHub Desktop.

Open Source Contribution

Checkout Git repository

Checkout a Git repository either directly from the default origin if you're a contributor or from a fork if you're not.

Proposed changes

  1. 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
  2. Create a branch following the naming convention: "type/short-hyphenated-description" where type can be:
    • 'feat': Add something
    • 'chg': Change something
    • 'fix': Fix something
  3. 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

Fix requirements

  1. 100% test coverage
  2. 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
  3. 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
  4. Create a pull request referencing the issue describing the problem solved

Merge requirements

  1. Get at least 1 maintainer to approve the changes
  2. Fix required changes
  3. Squash the commits keeping the comments
    ?
  4. All CI tests pass
  5. Maintainer merges

Release

  1. Edit the CHANGELOG.md
  2. Edit package.json incrementing version using semantic versioning
  3. 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment