Skip to content

Commit bb79743

Browse files
authored
docs: create contributing and add project philosophy (#1286)
1 parent 266207a commit bb79743

File tree

2 files changed

+80
-56
lines changed

2 files changed

+80
-56
lines changed

CONTRIBUTING.md

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
# Gitify Contributing Guide
2+
3+
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.
4+
5+
### Installation
6+
7+
To get started, you'll need to clone the repository and install the dependencies.
8+
9+
```shell
10+
pnpm install
11+
```
12+
13+
### Development
14+
15+
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).
16+
17+
```shell
18+
OAUTH_CLIENT_ID="123" OAUTH_CLIENT_SECRET="456789" pnpm build
19+
```
20+
21+
To watch for changes (`webpack`) in the `src` directory:
22+
23+
```shell
24+
pnpm watch
25+
```
26+
27+
To run the **electron app**:
28+
29+
```shell
30+
pnpm start
31+
```
32+
33+
### Tests
34+
35+
There are 2 checks:
36+
1. linter & formatter with [biome][biome-website]
37+
2. unit tests with [jest][jest-website]
38+
39+
```shell
40+
# Run biome to check linting and formatting
41+
pnpm lint:check
42+
43+
# Run unit tests with coverage
44+
pnpm test
45+
46+
# If you want to pass arguments to jest (or other `pnpm` commands)
47+
# like `--watch`, you can prepend `--` to the command
48+
pnpm test -- --watch
49+
```
50+
51+
### Releases
52+
53+
The release process is automated. Follow the steps below.
54+
55+
1. Verify that all features you want targeted in the release have been merged to `main`.
56+
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
57+
3. Create a branch that starts with `release/vX.X.X` (ie. `release/v1.2.3`).
58+
4. In the same branch, **bump the version** of the app by running `pnpm version <new-version-number`. Commit these changes and open a PR. A GitHub Actions workflow will build, sign and upload the release assets for each commit to that branch as long as a branch is named like `release/vX.X.X` and there is a draft release with the same version number(`package.json`).
59+
5. Merge your release branch into `main`.
60+
6. Publish the release once you've finalized the release notes and confirmed all assets are there.
61+
7. A new homebrew cask will be automatically published (workflow runs ~3 hours)
62+
63+
### Project Philosophy
64+
65+
This project is a tool for monitoring new notifications from Github. It's not meant to be a full-featured Github client. We want to keep it simple and focused on that core functionality. We're happy to accept contributions that help us achieve that goal, but we're also happy to say no to things that don't. We're not trying to be everything to everyone.
66+
67+
#### Things we won't do
68+
69+
* Operating-system level features
70+
* Do not disturb, including on schedules. https://github.com/gitify-app/gitify/issues/416#issuecomment-1746480130
71+
* Persistent notifications like https://github.com/gitify-app/gitify/issues/281. e.g. macOS has Alerts, instead of Banners, which makes them persistent
72+
* Seeing past notifications. This is a tool for monitoring new notifications, not seeing old ones, which can be seen at https://github.com/notifications.
73+
* Specific UX/UI changes that add options and/or visual complexity for minor workflow improvements. e.g. https://github.com/gitify-app/gitify/issues/358, https://github.com/gitify-app/gitify/issues/411 and https://github.com/gitify-app/gitify/issues/979
74+
* UI for something that isn't core to Gitify, and/or can be trivially done another way. e.g. https://github.com/gitify-app/gitify/issues/476 and https://github.com/gitify-app/gitify/issues/221
75+
* Support anything other than Github. Doing so would be a major undertaking that we may consider in future, but it would be a ton of work and there's so much tied to Github right now that it's not something I'd want to maintain.
76+
77+
<!-- LINK LABELS -->
78+
[biome-website]: https://biomejs.dev/
79+
[jest-website]: https://jestjs.io/

README.md

Lines changed: 1 addition & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -14,66 +14,13 @@ brew install --cask gitify
1414

1515
Gitify supports macOS, Windows and Linux.
1616

17-
### Installation
18-
19-
pnpm install
20-
21-
### Development
22-
23-
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).
24-
25-
OAUTH_CLIENT_ID="123" OAUTH_CLIENT_SECRET="456789" pnpm build
26-
27-
To watch for changes(`webpack`) in the `src` directory:
28-
29-
pnpm watch
30-
31-
To run the **electron app**:
32-
33-
pnpm start
34-
35-
### Releases
36-
37-
The release process is automated. Follow the steps below.
38-
39-
1. Verify that all features you want targeted in the release have been merged to `main`.
40-
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
41-
3. Create a branch that starts with `release/vX.X.X` (ie. `release/v1.2.3`).
42-
4. In the same branch, **bump the version** of the app by running `pnpm version <new-version-number`. Commit these changes and open a PR. A GitHub Actions workflow will build, sign and upload the release assets for each commit to that branch as long as a branch is named like `release/vX.X.X` and there is a draft release with the same version number(`package.json`).
43-
5. Merge your release branch into `main`.
44-
6. Publish the release once you've finalized the release notes and confirmed all assets are there.
45-
7. A new homebrew cask will be automatically published (workflow runs ~3 hours)
46-
47-
### Tests
48-
49-
There are 2 checks:
50-
1. linter & formatter with [biome][biome-website]
51-
2. unit tests with [jest][jest-website]
52-
53-
```shell
54-
# Run biome to check linting and formatting
55-
pnpm lint:check
56-
57-
# Run unit tests with coverage
58-
pnpm test
59-
60-
# If you want to pass arguments to jest (or other `pnpm` commands)
61-
# like `--watch`, you can prepend `--` to the command
62-
pnpm test -- --watch
63-
```
64-
6517
### FAQ
6618

6719
Please visit our [Gitify FAQs][faqs] for all commonly asked questions.
6820

6921
### Contributing
7022

71-
1. Fork it!
72-
2. Create your feature branch: `git checkout -b my-new-feature`
73-
3. Commit your changes: `git commit -am 'Add some feature'`
74-
4. Push to the branch: `git push origin my-new-feature`
75-
5. Submit a pull request
76-
6. Make sure tests are passing
23+
Please read our [Contributing Guidelines](CONTRIBUTING.md) for more information.
7724

7825
### License
7926

@@ -92,7 +39,6 @@ For more information, see [LICENSE](LICENSE).
9239
[github-website-pulls]: https://github.com/gitify-app/website/pulls
9340
[brew]: http://brew.sh/
9441
[homebrew-cask]: https://formulae.brew.sh/cask/gitify
95-
[biome-website]: biomejs.dev/
9642
[coveralls]: https://coveralls.io/github/gitify-app/gitify
9743
[coveralls-badge]: https://img.shields.io/coverallsCoverage/github/gitify-app/gitify
9844
[build-workflow-badge]: https://github.com/gitify-app/gitify/actions/workflows/build.yml/badge.svg
@@ -106,6 +52,5 @@ For more information, see [LICENSE](LICENSE).
10652
[license-badge]: https://img.shields.io/github/license/gitify-app/gitify
10753
[github-release-badge]: https://img.shields.io/github/v/release/gitify-app/gitify
10854
[homebrew-cask-badge]: https://img.shields.io/homebrew/cask/v/gitify
109-
[jest-website]: https://jestjs.io/
11055
[renovate]: https://renovatebot.com/
11156
[renovate-badge]: https://img.shields.io/badge/renovate-enabled-brightgreen.svg

0 commit comments

Comments
 (0)