Skip to content

Commit 603a2b8

Browse files
committed
docs: add CONTRIBUTING.md
This commit introduces a new file, `CONTRIBUTING.md`, which provides comprehensive guidelines for contributing to the Sidenoder project. The document covers various aspects of the contribution process, including setting up the development environment, running the project locally, making changes, committing code, submitting pull requests, code style guidelines, and reporting issues. By adding this file, the authors aim to make it easier for new contributors to understand the project's workflow and standards, thereby encouraging and streamlining the contribution process. This will help ensure that contributions are made in a consistent and efficient manner, ultimately improving the overall quality and maintainability of the Sidenoder codebase.
1 parent 17a9628 commit 603a2b8

2 files changed

Lines changed: 165 additions & 0 deletions

File tree

CONTRIBUTING.md

Lines changed: 165 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,165 @@
1+
# Contributing to Sidenoder
2+
3+
Thank you for your interest in contributing to **Sidenoder**! We appreciate your
4+
help in improving the project. Please follow the guidelines below to get started.
5+
6+
## Table of Contents
7+
8+
- [Table of Contents](#table-of-contents)
9+
- [Getting Started](#getting-started)
10+
- [Setting Up Your Environment](#setting-up-your-environment)
11+
- [Running the Project](#running-the-project)
12+
- [Making Changes](#making-changes)
13+
- [Commit Guidelines](#commit-guidelines)
14+
- [Submitting Your Contribution](#submitting-your-contribution)
15+
- [Pull Request Checklist](#pull-request-checklist)
16+
- [Code Style Guidelines](#code-style-guidelines)
17+
- [Reporting Issues](#reporting-issues)
18+
19+
## Getting Started
20+
21+
To contribute to Sidenoder, you’ll need to:
22+
23+
1. Fork the repository from [Sidenoder GitHub](https://github.com/VRPirates/sidenoder).
24+
2. Clone your forked repository to your local machine.
25+
26+
```bash
27+
git clone https://github.com/YOUR_USERNAME/sidenoder.git
28+
```
29+
30+
3. Set up an upstream remote to make it easy to keep your fork up-to-date with
31+
VRPirates repository:
32+
33+
```bash
34+
git remote add upstream https://github.com/VRPirates/sidenoder.git
35+
```
36+
37+
4. Navigate to the project directory:
38+
39+
```bash
40+
cd sidenoder
41+
```
42+
43+
## Setting Up Your Environment
44+
45+
Sidenoder is an Electron app, and you will need to have **Node.js** and **npm**
46+
installed. You can download and install Node.js from [nodejs.org](https://nodejs.org).
47+
48+
After installing Node.js, run the following command to install the project dependencies:
49+
50+
```bash
51+
npm install
52+
```
53+
54+
## Running the Project
55+
56+
Once the dependencies are installed, you can run the project locally in development
57+
mode. Use the following command:
58+
59+
```bash
60+
npm start
61+
```
62+
63+
This will start the Electron app, and any changes you make will be reflected in
64+
real time.
65+
66+
## Making Changes
67+
68+
Before making any changes, ensure that your local repository is up to date with the
69+
latest changes from the main repository:
70+
71+
```bash
72+
git checkout main
73+
git pull upstream main
74+
```
75+
76+
Now, create a new branch for your feature or bug fix:
77+
78+
```bash
79+
git switch -c your-feature-branch-name
80+
```
81+
82+
Make sure to keep your changes isolated to one specific task or issue.
83+
84+
### Commit Guidelines
85+
86+
Committing your code is simple, please stick to these rules:
87+
88+
- Write clear, concise commit messages.
89+
- Use one commit per feature or bug fix.
90+
- Use present tense ("add feature" instead of "added feature").
91+
92+
```bash
93+
# Commit your code
94+
# Be sure to follow the format for commits: `type: description`
95+
# e.g. `fix: correct issue with fetch request`
96+
git commit -ma "fix: correct issue with fetch request"
97+
```
98+
99+
The following types are valid:
100+
101+
| **Type** | **Description** |
102+
| ---------- | ----------------------------------------------------------------------------------------------------------- |
103+
| `build` | Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm) |
104+
| `chore` | Other changes that don't modify `src` or test files |
105+
| `ci` | Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs) |
106+
| `docs` | Documentation only changes |
107+
| `feat` | A new feature |
108+
| `fix` | A bug fix |
109+
| `perf` | Performance improvements |
110+
| `refactor` | A code change that neither fixes a bug nor adds a feature |
111+
| `revert` | Reverts a previous commit |
112+
| `style` | Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc) |
113+
| `test` | Adding missing tests or correcting existing tests |
114+
115+
## Submitting Your Contribution
116+
117+
Once you're done with your changes:
118+
119+
1. Push your branch to your forked repository:
120+
121+
```bash
122+
git push origin your-feature-branch-name
123+
```
124+
125+
2. Go to the original repository at [Sidenoder GitHub](https://github.com/VRPirates/sidenoder).
126+
3. Click on the `[Pull Request]` button.
127+
4. Ensure your pull request has a clear description of what you’ve done and reference
128+
any relevant issues (if applicable).
129+
130+
### Pull Request Checklist
131+
132+
**NOTE: Always Ensure that the code works by running the app locally.**
133+
134+
After submitting, a project maintainer will review your pull request. You may be
135+
asked to make changes, so please respond to feedback promptly.
136+
137+
## Code Style Guidelines
138+
139+
To maintain consistency, ensure that your code follows the project's coding standards.
140+
We use the following tools:
141+
142+
- **ESLint**: Helps catch common errors and enforces code consistency.
143+
- **MarkdownLint**: Enforces markdown consistency across documentation.
144+
- **Prettier**: Formats code.
145+
- **StyleLint**: Helps catch common CSS errors and enforces code consistency.
146+
147+
These tools will automatically run when you attempt to commit your code and warn
148+
you of any issues.
149+
150+
## Reporting Issues
151+
152+
If you encounter any issues or have suggestions for improvements, please open an
153+
issue on the [Issues page](https://github.com/VRPirates/sidenoder/issues).
154+
Be sure to include:
155+
156+
- A clear and descriptive title.
157+
- Steps to reproduce the issue, if applicable.
158+
- Screenshots or logs if relevant.
159+
160+
You can also browse existing issues and contribute by helping to resolve them.
161+
162+
---
163+
164+
Thank you for contributing to Sidenoder! Your support is highly appreciated, and
165+
we look forward to seeing your pull requests.
File renamed without changes.

0 commit comments

Comments
 (0)