Skip to content

Commit 827a943

Browse files
committed
docs(contributing): add contributing guidelines document
This commit introduces a new CONTRIBUTING.md file that outlines the project's contribution guidelines and development workflow. The document provides essential information for potential contributors including code style requirements, testing procedures, and the pull request process.
1 parent c0aa2fc commit 827a943

File tree

1 file changed

+170
-0
lines changed

1 file changed

+170
-0
lines changed

CONTRIBUTING.md

Lines changed: 170 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,170 @@
1+
# Contributing to Simulator Automatic Warehouse 🚀
2+
3+
Thank you for your interest in contributing to **Simulator - Automatic Warehouse**.
4+
Contributions of any kind are welcome: bug reports, feature proposals, documentation improvements, and code.
5+
6+
This document outlines the guidelines to help maintain a clean, consistent, and collaborative workflow.
7+
8+
---
9+
10+
## Table of Contents
11+
12+
* [Code of Conduct](#code-of-conduct)
13+
* [How Can I Contribute?](#how-can-i-contribute)
14+
* [Reporting Bugs](#reporting-bugs)
15+
* [Suggesting Enhancements](#suggesting-enhancements)
16+
* [Contributing Code](#contributing-code)
17+
* [Development Workflow](#development-workflow)
18+
* [Coding Guidelines](#coding-guidelines)
19+
* [Commit Messages](#commit-messages)
20+
* [Pull Requests](#pull-requests)
21+
* [Questions & Support](#questions--support)
22+
23+
---
24+
25+
## Code of Conduct
26+
27+
This project follows a **simple rule**:
28+
**Be respectful, constructive, and professional.**
29+
30+
Harassment, discrimination, or aggressive behavior will not be tolerated.
31+
32+
---
33+
34+
## How Can I Contribute?
35+
36+
### Reporting Bugs 🐛
37+
38+
If you find a bug, please open an **Issue** and include:
39+
40+
* A clear and descriptive title
41+
* Steps to reproduce the issue
42+
* Expected behavior vs. actual behavior
43+
* Screenshots or logs (if applicable)
44+
* Environment details (OS, compiler, versions)
45+
46+
If you are unsure whether something is a bug, open an issue anyway; discussion is welcome.
47+
48+
---
49+
50+
### Suggesting Enhancements ✨
51+
52+
Feature requests and design improvements are welcome.
53+
54+
When opening an enhancement issue, please describe:
55+
56+
* The problem you are trying to solve
57+
* Your proposed solution
58+
* Possible alternatives (if any)
59+
* Impact on existing behavior (if known)
60+
61+
---
62+
63+
### Contributing Code 💻
64+
65+
You can contribute code by fixing bugs, implementing features, improving performance, or enhancing documentation.
66+
67+
Before starting large changes:
68+
69+
* Check existing issues and pull requests
70+
* Open a discussion issue if unsure about the design
71+
72+
---
73+
74+
## Development Workflow
75+
76+
1. **Fork** the repository
77+
2. Create a **new branch** from `main`:
78+
79+
```bash
80+
git checkout -b feature/my-feature-1
81+
```
82+
Or for bug fixes:
83+
```bash
84+
git checkout -b fix/bug-description-2
85+
```
86+
Or for documentation:
87+
```bash
88+
git checkout -b docs/improve-topic-3
89+
```
90+
Or for refactoring:
91+
```bash
92+
git checkout -b refactor/component-name-4
93+
```
94+
Usually, use `feature/`, `fix/`, `docs/`, or `refactor/` prefixes to indicate the type of change,
95+
a short description, and the number of the related issue if applicable (e.g., `feature/add-pathfinding-42`).
96+
3. Make your changes.
97+
4. Ensure the project builds and runs correctly (run tests if applicable)
98+
5. Commit your changes. See [Commit Messages](#commit-messages) for guidelines.
99+
6. Push to your fork and open a **Pull Request**
100+
101+
---
102+
103+
## Coding Guidelines
104+
105+
* Follow the existing project structure and style
106+
* Prefer **clear, readable code** over clever tricks
107+
* Use meaningful variable and function names
108+
* Avoid unnecessary dependencies
109+
* Keep functions focused and modular
110+
* Document non-trivial logic where useful
111+
112+
Consistency matters more than personal preference.
113+
114+
---
115+
116+
## Commit Messages
117+
118+
Use **clear and descriptive commit messages**.
119+
120+
Recommended format:
121+
122+
```
123+
<type>: short description
124+
125+
(optional) longer explanation
126+
```
127+
128+
Examples:
129+
130+
```
131+
fix: prevent collision detection overflow
132+
feat: add priority-based routing strategy
133+
docs: clarify configuration parameters
134+
```
135+
136+
Try to keep commits focused and atomic, possibly following the [conventional commit](https://www.conventionalcommits.org/en/v1.0.0/) style.
137+
138+
---
139+
140+
## Pull Requests
141+
142+
When opening a Pull Request:
143+
144+
* Clearly describe **what** the PR does and **why**
145+
* Reference related issues (e.g. `Fixes #12`)
146+
* Keep PRs focused on a single change when possible
147+
* Ensure the code builds without errors
148+
* Be open to feedback and revisions
149+
150+
Pull requests may be refined before being merged — this is normal and encouraged.
151+
152+
---
153+
154+
## Questions & Support
155+
156+
If you have questions about the project, architecture, or contribution process:
157+
158+
* Open a **discussion issue**
159+
* Ask directly in your Pull Request
160+
161+
Curiosity and learning are always welcome.
162+
163+
---
164+
165+
## Final Notes
166+
167+
This is both a learning and research-oriented project.
168+
Clean contributions, thoughtful discussions, and incremental improvements are valued more than speed.
169+
170+
Thanks again for contributing!

0 commit comments

Comments
 (0)