Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 34 additions & 24 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,47 +1,45 @@
# 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.
Hi! We're really excited that you're interested in contributing to Gitify!

### Installation
Before submitting your contribution, please read through the following guide.

To get started, you'll need to clone the repository and install the dependencies.

```shell
pnpm install
```

### Development
We also suggest you read the [Project Philosophy](#project-philosophy) in our documentation.

### Getting Started
> [!TIP]
> _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" pnpm build
> ```

Copy the `.env.template` to `.env` and add update `GITHUB_TOKEN` with a GitHub Personal Access Token. This is used for fetching the latest GitHub GraphQL API schema for `graphql-codegen`.
```shell
GITHUB_TOKEN=<some personal access token>
```
To get started:

To watch for changes (`webpack`) in the `src` directory:
Clone the repository and install dependencies:
```shell
pnpm install
```

Copy the `.env.template` to `.env` and add update `GITHUB_TOKEN` with a GitHub Personal Access Token. This is used for fetching the latest GitHub GraphQL API schema for `graphql-codegen`.
```shell
pnpm watch
GITHUB_TOKEN=<some personal access token>
```

To run the **electron app**:
Build static resources (tray icons, twemojis, etc). You only need to rebuild if you change static assets:
```shell
pnpm build
```

```shell
pnpm start
```

To reload the app with the changes that `pnpm watch` has detected, you can use the `CmdOrCtrl+R` shortcut.
Start development mode (includes GraphQL codegen and hot module reload):
```shell
pnpm dev
```

### Tests

There are 2 checks:
1. linter & formatter with [biome][biome-website]
2. unit tests with [jvitestt][vitest-website]
There are two main checks:
1. Linter & formatter with [Biome][biome-website]
2. Unit tests with [Vitest][vitest-website]

```shell
# Run biome to check linting and formatting
Expand All @@ -54,6 +52,17 @@ pnpm test
pnpm test -u
```

### Code Style & Conventions

- We use [Biome][biome-website] for linting and formatting. Please run `pnpm lint:check` before submitting a PR.
- Follow existing file and folder naming conventions.
- Keep commit messages clear and descriptive.

### How to Report Bugs or Request Features

If you encounter a bug or have a feature request, please [open an issue][github-issues] with clear steps to reproduce or a detailed description of your idea. Check for existing issues before creating a new one.


### Releases

The release process is automated. Follow the steps below.
Expand Down Expand Up @@ -102,6 +111,7 @@ This project is a tool for monitoring new notifications from GitHub. It's not me
<!-- LINK LABELS -->
[biome-website]: https://biomejs.dev/
[github-dependency-dashboard]: https://github.com/gitify-app/gitify/issues/576
[github-issues]: https://github.com/setchy/gitify/issues
[github-milestones]: https://github.com/gitify-app/gitify/milestones
[github-new-milestone]: https://github.com/gitify-app/gitify/milestones/new
[github-new-release]: https://github.com/gitify-app/gitify/releases/new
Expand Down
24 changes: 0 additions & 24 deletions config/webpack.config.common.ts

This file was deleted.

24 changes: 0 additions & 24 deletions config/webpack.config.main.base.ts

This file was deleted.

18 changes: 0 additions & 18 deletions config/webpack.config.main.prod.ts

This file was deleted.

24 changes: 0 additions & 24 deletions config/webpack.config.preload.base.ts

This file was deleted.

18 changes: 0 additions & 18 deletions config/webpack.config.preload.prod.ts

This file was deleted.

109 changes: 0 additions & 109 deletions config/webpack.config.renderer.base.ts

This file was deleted.

19 changes: 0 additions & 19 deletions config/webpack.config.renderer.prod.ts

This file was deleted.

28 changes: 0 additions & 28 deletions config/webpack.paths.ts

This file was deleted.

3 changes: 2 additions & 1 deletion config/electron-builder.js → electron-builder.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ const config = {
'assets/sounds/*',
'build/**/*',
'LICENSE',
'node_modules/**/*',
'node_modules/**/*', // Ideally we would have !node_modules and let electron-builder prune deps
'package.json',
],
electronLanguages: ['en'],
Expand Down Expand Up @@ -51,6 +51,7 @@ const config = {
},
nsis: {
oneClick: false,
uninstallDisplayName: 'Gitify',
},
linux: {
target: ['AppImage', 'deb', 'rpm'],
Expand Down
Loading