Skip to content

Commit

Permalink
docs: add CONTRIBUTING.md
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
MikeRatcliffe committed Sep 30, 2024
1 parent 3013cba commit fc538f7
Show file tree
Hide file tree
Showing 2 changed files with 165 additions and 0 deletions.
165 changes: 165 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,165 @@
# Contributing to Sidenoder

Thank you for your interest in contributing to **Sidenoder**! We appreciate your
help in improving the project. Please follow the guidelines below to get started.

## Table of Contents

- [Table of Contents](#table-of-contents)
- [Getting Started](#getting-started)
- [Setting Up Your Environment](#setting-up-your-environment)
- [Running the Project](#running-the-project)
- [Making Changes](#making-changes)
- [Commit Guidelines](#commit-guidelines)
- [Submitting Your Contribution](#submitting-your-contribution)
- [Pull Request Checklist](#pull-request-checklist)
- [Code Style Guidelines](#code-style-guidelines)
- [Reporting Issues](#reporting-issues)

## Getting Started

To contribute to Sidenoder, you’ll need to:

1. Fork the repository from [Sidenoder GitHub](https://github.com/VRPirates/sidenoder).
2. Clone your forked repository to your local machine.

```bash
git clone https://github.com/YOUR_USERNAME/sidenoder.git
```

3. Set up an upstream remote to make it easy to keep your fork up-to-date with
VRPirates repository:

```bash
git remote add upstream https://github.com/VRPirates/sidenoder.git
```

4. Navigate to the project directory:

```bash
cd sidenoder
```

## Setting Up Your Environment

Sidenoder is an Electron app, and you will need to have **Node.js** and **npm**
installed. You can download and install Node.js from [nodejs.org](https://nodejs.org).

After installing Node.js, run the following command to install the project dependencies:

```bash
npm install
```

## Running the Project

Once the dependencies are installed, you can run the project locally in development
mode. Use the following command:

```bash
npm start
```

This will start the Electron app, and any changes you make will be reflected in
real time.

## Making Changes

Before making any changes, ensure that your local repository is up to date with the
latest changes from the main repository:

```bash
git checkout main
git pull upstream main
```

Now, create a new branch for your feature or bug fix:

```bash
git switch -c your-feature-branch-name
```

Make sure to keep your changes isolated to one specific task or issue.

### Commit Guidelines

Committing your code is simple, please stick to these rules:

- Write clear, concise commit messages.
- Use one commit per feature or bug fix.
- Use present tense ("add feature" instead of "added feature").

```bash
# Commit your code
# Be sure to follow the format for commits: `type: description`
# e.g. `fix: correct issue with fetch request`
git commit -ma "fix: correct issue with fetch request"
```

The following types are valid:

| **Type** | **Description** |
| ---------- | ----------------------------------------------------------------------------------------------------------- |
| `build` | Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm) |
| `chore` | Other changes that don't modify `src` or test files |
| `ci` | Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs) |
| `docs` | Documentation only changes |
| `feat` | A new feature |
| `fix` | A bug fix |
| `perf` | Performance improvements |
| `refactor` | A code change that neither fixes a bug nor adds a feature |
| `revert` | Reverts a previous commit |
| `style` | Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc) |
| `test` | Adding missing tests or correcting existing tests |

## Submitting Your Contribution

Once you're done with your changes:

1. Push your branch to your forked repository:

```bash
git push origin your-feature-branch-name
```

2. Go to the original repository at [Sidenoder GitHub](https://github.com/VRPirates/sidenoder).
3. Click on the `[Pull Request]` button.
4. Ensure your pull request has a clear description of what you’ve done and reference
any relevant issues (if applicable).

### Pull Request Checklist

**NOTE: Always Ensure that the code works by running the app locally.**

After submitting, a project maintainer will review your pull request. You may be
asked to make changes, so please respond to feedback promptly.

## Code Style Guidelines

To maintain consistency, ensure that your code follows the project's coding standards.
We use the following tools:

- **ESLint**: Helps catch common errors and enforces code consistency.
- **MarkdownLint**: Enforces markdown consistency across documentation.
- **Prettier**: Formats code.
- **StyleLint**: Helps catch common CSS errors and enforces code consistency.

These tools will automatically run when you attempt to commit your code and warn
you of any issues.

## Reporting Issues

If you encounter any issues or have suggestions for improvements, please open an
issue on the [Issues page](https://github.com/VRPirates/sidenoder/issues).
Be sure to include:

- A clear and descriptive title.
- Steps to reproduce the issue, if applicable.
- Screenshots or logs if relevant.

You can also browse existing issues and contribute by helping to resolve them.

---

Thank you for contributing to Sidenoder! Your support is highly appreciated, and
we look forward to seeing your pull requests.
File renamed without changes.

0 comments on commit fc538f7

Please sign in to comment.