Files
pss/CONTRIBUTING.md
T

92 lines
2.9 KiB
Markdown

# Contributing to Process Scheduler Simulator (PSS)
First of all, thank you for considering contributing to the Process Scheduler Simulator! It's people like you that make open-source software such a great community to learn, inspire, and create.
This document provides guidelines and instructions for contributing to this project, in accordance with the Journal of Open Source Software (JOSS) requirements.
## How Can I Contribute?
### Reporting Bugs
This section guides you through submitting a bug report for PSS. Following these guidelines helps maintainers and the community understand your report, reproduce the behavior, and find related reports.
If you find a bug, please create an issue on GitHub and include:
- A clear and descriptive title.
- Exact steps to reproduce the problem.
- What you expected to happen, and what actually happened.
- Screenshots or console logs if applicable.
- Operating system and browser version.
### Suggesting Enhancements
This section guides you through submitting an enhancement suggestion, including completely new features and minor improvements to existing functionality.
To suggest an enhancement, open a new issue and include:
- A clear and descriptive title.
- A detailed description of the proposed functionality.
- Why this enhancement would be useful to most users.
- Any potential alternatives you have considered.
### Setting up the Development Environment
To contribute code, you'll need to set up the project locally.
#### Prerequisites
- [Node.js](https://nodejs.org/) (Version 20 or higher recommended)
- npm (Version 10 or higher)
#### Installation Steps
1. **Fork the repository** on GitHub.
2. **Clone your fork** locally:
```bash
git clone https://github.com/YOUR_USERNAME/pss.git
cd pss
```
3. **Install dependencies**:
```bash
npm install
```
4. **Start the development server**:
```bash
npm run dev
```
The application will be available at `http://localhost:5173`.
### Testing
PSS uses Vitest for testing. Before submitting any changes, ensure that all tests pass:
```bash
# Run unit tests
npm test
# Run tests with coverage report
npm run test:coverage
```
If you add a new feature, please include appropriate tests covering the new functionality.
### Submitting a Pull Request
1. Create a new branch for your feature or bugfix:
```bash
git checkout -b feature/my-awesome-feature
```
2. Make your coding changes.
3. Commit your changes with clear, descriptive commit messages:
```bash
git commit -m "feat: add awesome new feature"
```
4. Push your branch to your fork on GitHub:
```bash
git push origin feature/my-awesome-feature
```
5. Open a Pull Request from your fork to the `main` branch of the original PSS repository. Include a detailed description of your changes and link any related issues.
## Need Help?
If you have questions about how to contribute or how to use the software, please open an Issue with the `question` label.
Thank you for contributing!