You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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).
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.
Copy file name to clipboardExpand all lines: README.md
+1-56Lines changed: 1 addition & 56 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,66 +14,13 @@ brew install --cask gitify
14
14
15
15
Gitify supports macOS, Windows and Linux.
16
16
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).
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
-
65
17
### FAQ
66
18
67
19
Please visit our [Gitify FAQs][faqs] for all commonly asked questions.
68
20
69
21
### Contributing
70
22
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.
77
24
78
25
### License
79
26
@@ -92,7 +39,6 @@ For more information, see [LICENSE](LICENSE).
0 commit comments