diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 000000000..a36e457a7 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,79 @@ +# Gitify Contributing Guide + +Hi! We're really excited that you're interested in contributing to Gitify! Before submitting your contribution, please read through the following guide. We also suggest you read the [Project Philosophy](#project-philosophy) in our documentation. + +### Installation + +To get started, you'll need to clone the repository and install the dependencies. + +```shell +pnpm install +``` + +### Development + +Optional: If you prefer to use your own OAuth credentials, you can do so by passing them as environment variables when bundling the app. This is optional as the app has some default "development" keys (use at your own discretion). + +```shell +OAUTH_CLIENT_ID="123" OAUTH_CLIENT_SECRET="456789" pnpm build +``` + +To watch for changes (`webpack`) in the `src` directory: + +```shell +pnpm watch +``` + +To run the **electron app**: + +```shell +pnpm start +``` + +### Tests + +There are 2 checks: +1. linter & formatter with [biome][biome-website] +2. unit tests with [jest][jest-website] + +```shell +# Run biome to check linting and formatting +pnpm lint:check + +# Run unit tests with coverage +pnpm test + +# If you want to pass arguments to jest (or other `pnpm` commands) +# like `--watch`, you can prepend `--` to the command +pnpm test -- --watch +``` + +### Releases + +The release process is automated. Follow the steps below. + +1. Verify that all features you want targeted in the release have been merged to `main`. +2. Create a [new **draft** release][github-new-release]. Set the tag version to something with the format of `v1.2.3`. Save as a **draft** before moving to the next step +3. Create a branch that starts with `release/vX.X.X` (ie. `release/v1.2.3`). +4. In the same branch, **bump the version** of the app by running `pnpm version +[biome-website]: https://biomejs.dev/ +[jest-website]: https://jestjs.io/ diff --git a/README.md b/README.md index e48c13ab7..4b852be42 100644 --- a/README.md +++ b/README.md @@ -14,66 +14,13 @@ brew install --cask gitify Gitify supports macOS, Windows and Linux. -### Installation - - pnpm install - -### Development - -Optional: If you prefer to use your own OAuth credentials, you can do so by passing them as environment variables when bundling the app. This is optional as the app has some default "development" keys (use at your own discretion). - - OAUTH_CLIENT_ID="123" OAUTH_CLIENT_SECRET="456789" pnpm build - -To watch for changes(`webpack`) in the `src` directory: - - pnpm watch - -To run the **electron app**: - - pnpm start - -### Releases - -The release process is automated. Follow the steps below. - -1. Verify that all features you want targeted in the release have been merged to `main`. -2. Create a [new **draft** release][github-new-release]. Set the tag version to something with the format of `v1.2.3`. Save as a **draft** before moving to the next step -3. Create a branch that starts with `release/vX.X.X` (ie. `release/v1.2.3`). -4. In the same branch, **bump the version** of the app by running `pnpm version