forked from vansh-codes/Gityzer
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCONTRIBUTING
139 lines (101 loc) · 5.24 KB
/
CONTRIBUTING
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
# Gityzer Contributing Guidelines
Thank you for taking the time to contribute to Gityzer. Your help is essential for keeping it great.
Please take a moment to read the following guidelines before contributing:
> **⚠️IMPORTANT**
>
> **Pull Requests _having no issue associated_ with them _will not be accepted_. Firstly get an issue assigned, whether it's already opened or raised by you, and then create a Pull Request.**
>
> **An automated process has been implemented to ensure the timely management of Pull Requests (PRs) on this platform.**
>
> **PRs that have been open for a duration exceeding 45 days will be automatically closed, so please plan accordingly.**
## Prerequisites ⚠️
- Open Source Etiquette: If you've never contributed to an open source project before, have a read of [Basic etiquette](https://developer.mozilla.org/en-US/docs/MDN/Community/Open_source_etiquette) for open source projects.
- Basic familiarity with Git and GitHub: If you are also new to these tools, visit [GitHub for complete beginners](https://developer.mozilla.org/en-US/docs/MDN/Contribute/GitHub_beginners) for a comprehensive introduction to them.
---
## How to Contribute 🤔
To get started, look at the existing [**Create a new issue**](https://github.com/vansh-codes/gityzer/issues)!
### Setup guidelines 🪜
> [!NOTE]
> This is [Next.js](https://nextjs.org/docs) project.
> You must have installed Node.js on your local macahine. If you don't have it installed yet,
you can download it from [here](https://nodejs.org/en/download/package-manager).
**Follow these steps to setup Gityzer on your local machine 👇**
- [Fork](https://github.com/vansh-codes/gityzer/fork) the repository.
- Clone the forked repository in your local system.
```bash
git clone https://github.com/<your-github-username>/gityzer.git
```
- Navigate to the [gityzer](https://github.com/vansh-codes/gityzer) folder if you want to contribute to our website.
```bash
cd gityzer
```
- Create your GitHub Personal Access Token:
1. Go to [GitHub Personal Access Tokens](https://github.com/settings/tokens/new) or follow this path:
- Settings -> Developer settings -> Personal access tokens -> Tokens (classic) -> Generate new token -> Generate new token (classic).
2. Set the following permissions:
- **repo**
- **user**
3. Generate the token.
4. Copy the token.
5. Paste the token in `.env.local`.
- Now install dependencies:
```bash
npm install
```
- Run the Deployment Server:
```bash
npm run dev
```
- Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
> [!NOTE]
> - The new steps for creating a GitHub Personal Access Token provide clear guidance on how to generate and use the token.
> - Make sure to keep the `.env.local` file secure and not share your token publicly.
- Create a new branch for your feature.
```bash
git checkout -b <your_branch_name>
```
- Perform your desired changes to the code base.
- Track and stage your changes.
```bash
# Track the changes
git status
# Add changes to Index
git add .
```
- Commit your changes.
```bash
git commit -m "your_commit_message"
```
- Push your committed changes to the remote repo.
```bash
git push origin <your_branch_name>
```
- Go to your forked repository on GitHub and click on `Compare & pull request`.
- Add an appropriate title and description to your pull request explaining your changes and efforts done.
- Click on `Create pull request`.
- Congrats! 🥳 You've made your first pull request to this project repo.
- Wait for your pull request to be reviewed and if required suggestions would be provided to improve it.
- Celebrate 🥳 your success after your pull request is merged successfully.
> [!NOTE]
> All images must be in webp or avif format, not png, jpeg, jpg, or others. This practice applies to the entire repository.
>
> Use [freeconvert.com](https://www.freeconvert.com/png-to-webp) to convert images to the required webp or avif formats.
## ✅ Guidelines for Good Commit Messages
We follow a standardized commit message format using Commitlint to ensure consistency and clarity in our commit history. Each commit message should adhere to the following guidelines:
1. **Be Concise and Descriptive**: Summarize the change in a way that’s easy to understand at a glance.
2. **Use the Imperative Mood**: Write as if giving a command (e.g., `Add`, `Fix`, `Update`), which is a convention in many projects.
3. **Include Context**: Provide context or reason for the change if it’s not immediately obvious from the summary.
4. **Reference Issues and Pull Requests**: Include `issue numbers` or PR references if the commit addresses them.
5. **Issue reference** (Optional): Include the issue number associated with the commit (e.g., `#123`).
# ❌ Examples of Invalid Commit Messages
- `Added new stuff`
- `Fixed a bug`
- `Updated code`
- `auth feature update`
- `chore: fixed some stuff`
## Commit Example with Commitlint
```bash
git commit -m "feat(auth): Implement user signup process (#789)"
```
---
- If something is missing here, or you feel something is not well described, please [raise an issue](https://github.com/vansh-codes/gityzer/issues).