Skip to content

Commit

Permalink
docs: add contributing guide
Browse files Browse the repository at this point in the history
  • Loading branch information
Frazer Smith committed Jan 17, 2020
1 parent d7bc171 commit ea71f0a
Showing 1 changed file with 56 additions and 0 deletions.
56 changes: 56 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# Contributing

Contributions are welcome and any help that can be offered is greatly appreciated.
Please take a moment to read the entire contributing guide.

This repository uses the [Feature Branch Workflow](https://www.atlassian.com/git/tutorials/comparing-workflows/feature-branch-workflow),
meaning that development should take place in `feat/` branches, with the `master` branch being kept in a stable state.
When you submit pull requests, please make sure to fork from and submit back to `master`.

Other processes and specifications that are in use in this repository are:

- [Semantic versioning](https://semver.org/)
- [Conventional commits](https://www.conventionalcommits.org/en/v1.0.0-beta.3/) following the @commitlint/config-conventional config
- [Prettier](https://prettier.io/) style guide

## Getting Started

As noted in the prerequisites section of the readme file, this project requires that you have Node.js and Yarn installed.

With those in place you can fork the repo and clone it, and then run `yarn install` to install all dependencies.

### Development Workflow

After cloning and installing all the dependencies, there are several commands available for local development:

- `yarn lint` - Lints everything in src directory
- `yarn jest` - Runs Jest over all tests in src directory
- `yarn test` - Runs `yarn lint` and `yarn jest` together

### Production Workflow

- `yarn start` - Runs a production version. No live reload.

## Pull Request Checklist

Prior to submitting a pull request back to the main repository, please make sure you have completed the following steps:

1. Pull request base branch is set to `master`. All pull requests should be forked from and merged back to `master`
2. Run `yarn test` to check the code adheres to the defined style and that it passes the Jest tests
3. Run `yarn prettier` to run the Prettier code formatter over the code

## Release process

When cutting a release, the following steps need to be performed:

1. `package.json` needs to have a version update based on the content being released, remembering to adhere to semantic versioning
2. Generate the API docs if any changes have been made with `yarn doc`
3. Generate the changelog with `yarn changelog`
4. Create a release branch with the convention `release/x.x.x`
5. Create a tag for the version; the naming convention is the version (vx.x.x)
6. Push the tag to the repository
7. Draft a release in the release tab with release notes, copying the notes from the changelog

## Issues

Please file your issues [here](https://github.com/Fdawgs/ydh-sider-authentication-service/issues) and try to provide as much information in the template as possible/relevant.

0 comments on commit ea71f0a

Please sign in to comment.