|
| 1 | + |
| 2 | +# Contributing to DevSetup |
| 3 | + |
| 4 | +Thank you for considering contributing to the **DevSetup** project! We're excited to have you help make this tool even more useful. Below are instructions for contributing, including adding new tools to the system. |
| 5 | + |
| 6 | +## Table of Contents |
| 7 | + |
| 8 | +- [Contributing to DevSetup](#contributing-to-devsetup) |
| 9 | + - [Table of Contents](#table-of-contents) |
| 10 | + - [How to Add New Tools](#how-to-add-new-tools) |
| 11 | + - [Step 1: Add Tools to the Excel File](#step-1-add-tools-to-the-excel-file) |
| 12 | + - [Step 2: Convert Excel to JSON](#step-2-convert-excel-to-json) |
| 13 | + - [Step 3: Test the Updates](#step-3-test-the-updates) |
| 14 | + - [How to Contribute](#how-to-contribute) |
| 15 | + - [Branch Information](#branch-information) |
| 16 | + - [Troubleshooting](#troubleshooting) |
| 17 | + - [Tools Not Appearing](#tools-not-appearing) |
| 18 | + - [JSON File Not Loading](#json-file-not-loading) |
| 19 | + - [Other Issues](#other-issues) |
| 20 | + - [Thank You!](#thank-you) |
| 21 | + - [License](#license) |
| 22 | + |
| 23 | +## How to Add New Tools |
| 24 | + |
| 25 | +To add new tools to the system, follow these steps: |
| 26 | + |
| 27 | +### Step 1: Add Tools to the Excel File |
| 28 | + |
| 29 | +1. Open the `tools.xlsx` file, which is located in the root folder of the repository. |
| 30 | +2. Add a new row for each tool you want to include. Ensure you fill in the following columns: |
| 31 | + - `category`: The category of the tool (e.g., "IDE", "Version Control", etc.). |
| 32 | + - `name`: The name of the tool (e.g., "Visual Studio Code", "Git"). |
| 33 | + - `iconsrc`: The URL of the icon for the tool (used in the UI). |
| 34 | + - Installation commands for each package manager: |
| 35 | + - `choco` (Windows) |
| 36 | + - `winget` (Windows) |
| 37 | + - `scoop` (Windows) |
| 38 | + - `apt` (Linux) |
| 39 | + - `dnf` (Linux) |
| 40 | + - `pacman` (Linux) |
| 41 | + - `homebrew` (macOS) |
| 42 | + |
| 43 | +**Example:** |
| 44 | + |
| 45 | +| category | name | iconsrc | choco | winget | scoop | apt | dnf | pacman | homebrew | |
| 46 | +|------------|----------------------|------------------------------|----------------------|--------------------|-------------------|-------------|--------------|-----------|--------------| |
| 47 | +| IDE | Visual Studio Code | https://example.com/vscode.png| vscode | vscode | vscode | code | | | | |
| 48 | +| Versioning | Git | https://example.com/git.png | git | git | git | git | git | git | | |
| 49 | + |
| 50 | +### Step 2: Convert Excel to JSON |
| 51 | + |
| 52 | +Once you have added the new tools to the `tools.xlsx` file, you need to convert it to a `tools.json` file. Follow these steps: |
| 53 | + |
| 54 | +1. Open the `convertExcelToJson.js` script (located in the root folder). |
| 55 | +2. Run the script using Node.js: |
| 56 | + |
| 57 | + ```bash |
| 58 | + node convertExcelToJson.js |
| 59 | + ``` |
| 60 | + |
| 61 | +This will convert the data from the Excel sheet to a JSON format and output it as `tools.json`. The `tools.json` file is used by the app to generate the installation scripts. |
| 62 | +### Step 3: Test the Updates |
| 63 | + |
| 64 | +Once the new tools are added and the JSON file is updated, follow these steps: |
| 65 | + |
| 66 | +1. **Run the app locally** to ensure the new tools are reflected in the UI. |
| 67 | +2. **Verify the new tools** appear correctly, and the installation commands for each package manager are functional. |
| 68 | +3. If everything looks good, you’re all set! The new tools will be available for users to select and include in their installation scripts. |
| 69 | + |
| 70 | +## How to Contribute |
| 71 | + |
| 72 | +We welcome contributions from the community! Here's how you can contribute: |
| 73 | + |
| 74 | +1. **Fork the repository** to your GitHub account. |
| 75 | + |
| 76 | +2. **Clone the forked repository** to your local machine. |
| 77 | + |
| 78 | + ```bash |
| 79 | + git clone https://github.com/yourusername/devsetup.git |
| 80 | + cd devsetup |
| 81 | + ``` |
| 82 | + |
| 83 | +3. **Create a new branch** for your feature or bug fix. Make sure you are working in the `dev` branch. |
| 84 | + |
| 85 | + ```bash |
| 86 | + git checkout -b feature/add-new-tool |
| 87 | + ``` |
| 88 | + |
| 89 | +4. **Make your changes**, whether it's adding new tools, fixing bugs, or improving the UI. |
| 90 | + |
| 91 | +5. **Commit your changes** with a clear message. |
| 92 | + |
| 93 | + ```bash |
| 94 | + git add . |
| 95 | + git commit -m "Add Visual Studio Code tool to Excel" |
| 96 | + ``` |
| 97 | + |
| 98 | +6. **Push your branch** to your forked repository. |
| 99 | + |
| 100 | + ```bash |
| 101 | + git push origin feature/add-new-tool |
| 102 | + ``` |
| 103 | + |
| 104 | +7. **Open a Pull Request (PR)** to the `dev` branch of the main repository. Include a detailed description of the changes you made. |
| 105 | + |
| 106 | +## Branch Information |
| 107 | + |
| 108 | +* All development should be done on the `dev` branch. Once your changes are tested and reviewed, they can be merged into the `main` branch. |
| 109 | + |
| 110 | +* **Don't forget** to sync your branch with the latest updates from the main repository to avoid merge conflicts. |
| 111 | + |
| 112 | +## Troubleshooting |
| 113 | + |
| 114 | +### Tools Not Appearing |
| 115 | + |
| 116 | +If you don’t see the new tools after adding them, ensure that you: |
| 117 | + |
| 118 | +* Correctly added the tools to the `tools.xlsx` file. |
| 119 | +* Ran the `convertExcelToJson.js` script to regenerate the `tools.json` file. |
| 120 | + |
| 121 | +### JSON File Not Loading |
| 122 | + |
| 123 | +If the app fails to load tools, check the following: |
| 124 | + |
| 125 | +* Ensure the `tools.json` file is in the correct location and accessible. |
| 126 | +* Check the browser console for any errors that may point to issues with loading the JSON file. |
| 127 | + |
| 128 | +### Other Issues |
| 129 | + |
| 130 | +Feel free to open an issue in the repository if you encounter any bugs or need assistance. |
| 131 | + |
| 132 | +## Thank You! |
| 133 | + |
| 134 | +We appreciate your contributions! Your work helps make this tool more useful for developers everywhere. If you have any questions, feel free to reach out. |
| 135 | + |
| 136 | +--- |
| 137 | + |
| 138 | +## License |
| 139 | + |
| 140 | +This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. |
| 141 | + |
0 commit comments