|
| 1 | +# ESPOS Project |
| 2 | + |
| 3 | + |
| 4 | +The ESPOS Project aims to create a text operating system on ESP32 Hardware. |
| 5 | + |
| 6 | +# Contribution Guidelines |
| 7 | +Thank you for your interest in contributing to **ESPOS**! This project is an **open-source operating system for ESP32** built entirely in **Arduino (.ino) format**. Contributions are welcome and encouraged! Please follow these guidelines to ensure a smooth collaboration. |
| 8 | +## 📜 General Rules |
| 9 | +- Be respectful and maintain a positive environment. |
| 10 | +- All contributions must comply with the **GNU GPLv3 License**. |
| 11 | +- Before submitting major changes, **open an issue** to discuss them. |
| 12 | +- Ensure all code is **well-documented** and **tested on ESP32 hardware**. |
| 13 | +## 🔧 Setting Up the Development Environment |
| 14 | +1. Install **Arduino IDE** (latest version) or use **Arduino CLI**. |
| 15 | +2. Install **ESP32 board support** from the Board Manager. |
| 16 | +3. Clone the repository: |
| 17 | + ```bash |
| 18 | + git clone https://github.com/espos-project/espos.git |
| 19 | + cd espos |
| 20 | + ``` |
| 21 | +4. Open the `.ino` files in **Arduino IDE**. |
| 22 | +## 🚀 How to Contribute |
| 23 | +### 🐞 Reporting Issues |
| 24 | +- Clearly describe the bug or feature request. |
| 25 | +- Provide **steps to reproduce** the issue. |
| 26 | +- Include logs or error messages if available. |
| 27 | +### 🔨 Submitting Code Changes |
| 28 | +1. **Fork** the repository and create a new branch: |
| 29 | + ```bash |
| 30 | + git checkout -b feature/new-feature |
| 31 | + ``` |
| 32 | +2. Follow the **coding standards** (see below). |
| 33 | +3. Test your code on an ESP32 device. |
| 34 | +4. Commit your changes with a **clear and concise message**: |
| 35 | + ```bash |
| 36 | + git commit -m "Added task scheduler for ESPOS" |
| 37 | + ``` |
| 38 | +5. Push your branch and **create a Pull Request (PR)**. |
| 39 | +### 📝 Coding Standards |
| 40 | +- Use **camelCase** for variable and function names. |
| 41 | +- Code should be **modular** and **commented**. |
| 42 | +- Follow **Arduino C++ best practices**. |
| 43 | +- Use **#define or constants** instead of hardcoded values. |
| 44 | +- Keep functions **short and reusable**. |
| 45 | +### ✅ Pull Request (PR) Checklist |
| 46 | +Before submitting a PR, ensure: |
| 47 | +- [ ] The code is tested on ESP32 hardware. |
| 48 | +- [ ] The code follows **Arduino style conventions**. |
| 49 | +- [ ] The PR includes a **clear description of changes**. |
| 50 | +## 📜 Licensing |
| 51 | +By contributing to this repository, you agree that your contributions will be licensed under the **GNU GPLv3 License**. This ensures that ESPOS remains **free and open-source**, and any derivative work must also remain open-source under the same license. |
| 52 | +## 📨 Need Help? |
| 53 | +- Join the **GitHub Discussions**. |
| 54 | +- Open an **Issue** for questions or support. |
| 55 | +Happy coding! 🚀 |
0 commit comments