Skip to content

Commit 6351af0

Browse files
committed
documentation updated
1 parent 594c544 commit 6351af0

2 files changed

Lines changed: 239 additions & 59 deletions

File tree

CONTRIBUTING.md

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,8 @@ We welcome contributions from the community! Here's how you can contribute:
7676
2. **Clone the forked repository** to your local machine.
7777

7878
```bash
79-
git clone https://github.com/yourusername/devsetup.git
80-
cd devsetup
79+
git clone https://github.com/yourusername/DevSetup.git
80+
cd DevSetup
8181
```
8282

8383
3. **Create a new branch** for your feature or bug fix. Make sure you are working in the `dev` branch.
@@ -109,22 +109,24 @@ We welcome contributions from the community! Here's how you can contribute:
109109

110110
* **Don't forget** to sync your branch with the latest updates from the main repository to avoid merge conflicts.
111111

112-
## Troubleshooting
112+
## 🔧 Troubleshooting
113113

114-
### Tools Not Appearing
115114

115+
### Tools Not Appearing
116116
If you don’t see the new tools after adding them, ensure that you:
117117

118-
* Correctly added the tools to the `tools.xlsx` file.
119-
* Ran the `convertExcelToJson.js` script to regenerate the `tools.json` file.
120-
118+
* Ensure the tools were **correctly added** to `public/tools.xlsx`.
119+
* Run the conversion script to regenerate `tools.json`:
120+
```bash
121+
node convertExcelToJson.js
122+
```
121123
### JSON File Not Loading
122-
123124
If the app fails to load tools, check the following:
124125

125126
* Ensure the `tools.json` file is in the correct location and accessible.
126127
* Check the browser console for any errors that may point to issues with loading the JSON file.
127128

129+
128130
### Other Issues
129131

130132
Feel free to open an issue in the repository if you encounter any bugs or need assistance.

README.md

Lines changed: 229 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,95 +1,273 @@
11

22

3-
# DevSetup
3+
# DevSetup 🛠️
44

5-
## Overview
5+
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
6+
[![Next.js](https://img.shields.io/badge/Next.js-15.3.0-black)](https://nextjs.org/)
7+
[![React](https://img.shields.io/badge/React-19.0.0-blue)](https://reactjs.org/)
8+
[![TypeScript](https://img.shields.io/badge/TypeScript-5.0-blue)](https://www.typescriptlang.org/)
69

7-
DevSetup is a web-based tool that generates installation scripts for various tools and software based on the user's OS and preferred package manager. It allows developers to easily select tools they want to install, and it generates a script that can be run on their system (Windows, macOS, or Linux).
10+
> **A modern web-based tool for generating cross-platform developer environment setup scripts**
811
9-
This project simplifies setting up a developer environment by providing a streamlined process to install essential tools using the appropriate package manager for the user's operating system.
12+
## 📋 Table of Contents
1013

11-
## Why We Need It
14+
- [Project Overview](#-project-overview)
15+
- [Why DevSetup?](#-why-devsetup)
16+
- [Quick Start](#-quick-start)
17+
- [Usage Guide](#-usage-guide)
18+
- [Features](#-features)
19+
- [Supported Platforms](#-supported-platforms)
20+
- [Project Structure](#-project-structure)
21+
- [Contributing](#-contributing)
22+
- [FAQ](#-faq)
23+
- [License](#-license)
1224

13-
Setting up a development environment involves installing multiple tools, such as IDEs, version control systems, package managers, etc. Each tool may require a different installation method depending on the operating system you're using.
25+
## 🎯 Project Overview
1426

15-
DevSetup allows developers to:
27+
DevSetup is a web-based tool that generates installation scripts for various developer tools and software based on your operating system and preferred package manager. It streamlines the process of setting up development environments by creating customized installation scripts that can be run on Windows, macOS, or Linux systems.
1628

17-
- Select their operating system (Windows, macOS, or Linux)
18-
- Choose the package manager they prefer (e.g., Homebrew for macOS, Chocolatey for Windows, APT for Linux)
19-
- Generate a custom installation script that installs the selected tools automatically
29+
### What DevSetup Does
2030

21-
With this tool, you can automate the setup of a developer environment, ensuring you don't miss any dependencies or tools.
31+
1. **Simplifies Tool Selection**: Browse categorized developer tools in an intuitive interface
32+
2. **Generates Custom Scripts**: Creates platform-specific installation scripts automatically
33+
3. **Supports Multiple Package Managers**: Works with Chocolatey, Winget, Scoop, Homebrew, APT, DNF, and Pacman
34+
4. **Ensures Consistency**: Helps teams maintain identical development environments across machines
2235

23-
## Features
36+
## 🤔 Why DevSetup?
2437

25-
- **Operating System Selector**: Choose between Windows, macOS, or Linux.
26-
- **Package Manager Selector**: Select from various package managers (e.g., `choco`, `winget`, `scoop`, `homebrew`, `apt`).
27-
- **Tool Selector**: Browse through different categories of developer tools, check the ones you want to install.
28-
- **Script Generation**: Automatically generate a script (e.g., shell script for Linux/macOS or batch script for Windows) that installs the selected tools via the package manager.
29-
- **Copy to Clipboard**: Copy the generated script to the clipboard for easy pasting into the terminal.
30-
- **Download Script**: Download the generated script as a `.sh` file for Linux/macOS or `.bat` file for Windows.
38+
Setting up a development environment traditionally involves:
39+
- Manually installing dozens of tools one by one
40+
- Remembering different installation commands for each OS
41+
- Ensuring all team members have the same tools installed
42+
- Spending hours on repetitive setup tasks
3143

32-
## How It Works
44+
**DevSetup solves these problems by:**
45+
- **Automating the process**: Select tools once, generate scripts for any platform
46+
- **Ensuring consistency**: Same tools, same versions, across all team members
47+
- **Saving time**: What takes hours manually now takes minutes
48+
- **Reducing errors**: No more forgotten dependencies or missed installations
3349

34-
1. **Load Data**: The tool loads a JSON file containing a list of tools and their installation commands for each package manager. This data is structured into categories (e.g., IDEs, utilities, version control tools).
35-
2. **OS & Package Manager Selection**: The user selects their operating system and package manager.
36-
3. **Tool Selection**: The user checks off the tools they wish to install. Only tools compatible with the selected OS and package manager are available.
37-
4. **Script Generation**: Once the tools are selected, a script is automatically generated with the appropriate installation commands.
38-
5. **Action Buttons**: The user can copy the script to the clipboard or download it for later use.
50+
## 🚀 Quick Start
3951

40-
## Use Cases
52+
### Prerequisites
4153

42-
- **New Developer Setup**: Quickly set up a new development environment with all the necessary tools.
43-
- **Consistency Across Machines**: Ensure all developers on a team have the same tools installed with identical setup scripts.
44-
- **Automated Dev Environment Setup**: Automate the installation of development tools during CI/CD pipelines or on virtual machines.
54+
- **Node.js** 18.0 or higher
55+
- **npm** or **yarn** package manager
56+
- A modern web browser (Chrome, Firefox, Safari, Edge)
4557

46-
## How to Use
58+
### Installation
4759

4860
1. **Clone the Repository**
4961
- Clone this repository to your local machine.
5062

5163
```bash
52-
git clone https://github.com/yourusername/devsetup.git
53-
cd devsetup
64+
git clone https://github.com/yourusername/DevSetup.git
65+
cd DevSetup
5466
```
5567

5668
2. **Install Dependencies**
57-
58-
* Install the required dependencies for React and Next.js.
59-
6069
```bash
6170
npm install
6271
```
6372

64-
3. **Run the Application**
65-
66-
* Start the development server to run the application locally.
67-
73+
3. **Start the Development Server**
6874
```bash
6975
npm run dev
7076
```
7177

72-
Visit [http://localhost:3000](http://localhost:3000) to interact with the tool.
78+
4. **Open Your Browser**
79+
Navigate to [http://localhost:3000](http://localhost:3000)
80+
81+
### Production Build
82+
83+
```bash
84+
npm run build
85+
npm start
86+
```
87+
88+
## 📖 Usage Guide
89+
90+
### Step-by-Step Instructions
91+
92+
1. **Select Your Operating System**
93+
- Choose between Windows, macOS, or Linux
94+
- The interface will automatically show compatible package managers
95+
96+
2. **Choose Your Package Manager**
97+
- **Windows**: Chocolatey, Winget, or Scoop
98+
- **macOS**: Homebrew
99+
- **Linux**: APT, DNF, or Pacman
100+
101+
3. **Browse and Select Tools**
102+
- Tools are organized by categories (IDEs, Version Control, Development Tools, etc.)
103+
- Check the boxes for tools you want to install
104+
- Only tools compatible with your selected OS and package manager will be available
105+
106+
4. **Generate Your Script**
107+
- Click the "Generate Script" button
108+
- The script will appear in the output area with proper formatting
109+
110+
5. **Use Your Script**
111+
- **Copy to Clipboard**: Click the copy button for immediate use
112+
- **Download**: Save as `.bat` (Windows) or `.sh` (macOS/Linux) file
113+
- **Run**: Execute the script in your terminal/command prompt
114+
115+
### How It Works Behind the Scenes
116+
117+
```mermaid
118+
graph LR
119+
A[Excel File] --> B[JSON Conversion]
120+
B --> C[Web Interface]
121+
C --> D[Tool Selection]
122+
D --> E[Script Generation]
123+
E --> F[Download/Copy]
124+
```
125+
126+
1. **Data Source**: Tool information is stored in `tools.xlsx`
127+
2. **Conversion**: `convertExcelToJson.js` converts Excel data to JSON
128+
3. **Loading**: Web app loads tool data from `tools.json`
129+
4. **Selection**: User selects OS, package manager, and tools
130+
5. **Generation**: Custom installation script is created
131+
6. **Output**: Script can be copied or downloaded
132+
133+
## ✨ Features
134+
135+
- **🎯 Cross-Platform Support**: Windows, macOS, and Linux
136+
- **📦 Multiple Package Managers**: 7 different package managers supported
137+
- **🗂️ Categorized Tools**: Organized by IDEs, Version Control, Development Tools, Utilities
138+
- **📜 Smart Script Generation**: Platform-specific scripts with proper formatting
139+
- **📋 One-Click Actions**: Copy to clipboard or download instantly
140+
- **🌙 Modern UI**: Clean, responsive interface with dark/light theme
141+
- **🔧 Easy Maintenance**: Add new tools via Excel file
142+
- **⚡ Fast & Offline**: No external dependencies, works offline after initial load
143+
144+
## 🖥️ Supported Platforms
145+
146+
| Platform | Package Managers | Script Format | Example Tools |
147+
|----------|------------------|---------------|---------------|
148+
| **Windows** | Chocolatey, Winget, Scoop | `.bat` | Git, VS Code, Node.js |
149+
| **macOS** | Homebrew | `.sh` | Git, VS Code, Docker |
150+
| **Linux** | APT, DNF, Pacman | `.sh` | Git, Vim, Python |
151+
152+
### Tool Categories Available
153+
154+
- **IDEs & Editors**: Visual Studio Code, IntelliJ IDEA, Sublime Text, Vim
155+
- **Version Control**: Git, GitHub CLI, GitKraken, Sourcetree
156+
- **Development Tools**: Node.js, Python, Docker, Postman, Insomnia
157+
- **Browsers**: Chrome, Firefox, Edge, Brave
158+
- **Utilities**: 7-Zip, Slack, Discord, Figma
159+
- **And many more...**
160+
161+
## 📁 Project Structure
162+
163+
```
164+
DevSetup/
165+
├── src/
166+
│ ├── app/
167+
│ │ ├── page.tsx # Main application component
168+
│ │ ├── layout.tsx # App layout and metadata
169+
│ │ └── globals.css # Global styles
170+
│ └── components/ # Reusable React components
171+
├── public/
172+
│ ├── tools.xlsx # Excel database of tools
173+
│ ├── tools.json # Generated JSON data
174+
│ └── images/ # Tool icons and assets
175+
├── convertExcelToJson.js # Excel to JSON conversion script
176+
├── CONTRIBUTING.md # Contribution guidelines
177+
├── PROJECT_STRUCTURE.md # Detailed project structure
178+
├── README.md # This file
179+
└── package.json # Dependencies and scripts
180+
```
181+
182+
### Key Files & Scripts
183+
184+
- **`tools.xlsx`**: Master database containing all tool information
185+
- **`convertExcelToJson.js`**: Converts Excel data to JSON format
186+
- **`tools.json`**: Generated JSON file consumed by the web application
187+
- **`page.tsx`**: Main React component with application logic
188+
189+
### Available Scripts
190+
191+
```bash
192+
npm run dev # Start development server
193+
npm run build # Build for production
194+
npm start # Start production server
195+
npm run lint # Run ESLint
196+
```
197+
198+
## 🤝 Contributing
199+
200+
We welcome contributions! Here are ways you can help:
201+
202+
- **Add new tools** to the database
203+
- **Improve the user interface**
204+
- **Fix bugs** and issues
205+
- **Enhance documentation**
206+
- **Suggest new features**
73207

74-
4. **Select Tools**
208+
### Quick Start for Contributors
75209

76-
* Select your operating system (Windows, macOS, or Linux).
77-
* Choose the package manager (e.g., `choco`, `winget`, `apt`, etc.).
78-
* Check the boxes for the tools you wish to install.
79-
* Click "Generate Script" to create your installation script.
210+
1. Fork the repository
211+
2. Create a feature branch: `git checkout -b feature/new-tool`
212+
3. Make your changes
213+
4. Test thoroughly
214+
5. Submit a pull request
80215

81-
5. **Copy or Download the Script**
216+
**For detailed instructions**, see our [Contributing Guide](CONTRIBUTING.md).
82217

83-
* Copy the script to the clipboard or download it as a `.sh` or `.bat` file.
218+
### Adding New Tools
219+
220+
1. Open `public/tools.xlsx`
221+
2. Add tool information in a new row
222+
3. Run: `node convertExcelToJson.js`
223+
4. Test the changes locally
224+
5. Submit a pull request
225+
226+
## ❓ FAQ
227+
228+
### General Questions
229+
230+
**Q: Can I use DevSetup offline?**
231+
A: Yes! Once loaded, the application works completely offline.
232+
233+
**Q: How do I add a tool that's not listed?**
234+
A: See our [Contributing Guide](CONTRIBUTING.md) for step-by-step instructions.
235+
236+
**Q: Can I modify the generated scripts?**
237+
A: Absolutely! Copy the script and customize it for your specific needs.
238+
239+
**Q: Does DevSetup work on all operating systems?**
240+
A: The web application works on any OS with a modern browser. The generated scripts are platform-specific.
241+
242+
**Q: Can I host DevSetup on my own server?**
243+
A: Yes! It's a static Next.js application that can be deployed anywhere.
244+
245+
246+
## 📄 License
247+
248+
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
249+
250+
### Attribution
251+
252+
- Built with [Next.js](https://nextjs.org/) and [React](https://reactjs.org/)
253+
- Icons provided by [React Icons](https://react-icons.github.io/react-icons/)
254+
- Styled with [TailwindCSS](https://tailwindcss.com/)
84255

85256
---
86-
## Contributing
87257

88-
We'd love to have your help! Please see the [Contributing Guide](CONTRIBUTING.md) for instructions on how to add new tools or contribute to the project.
258+
**Made with ❤️ for the developer community**
259+
260+
[Report Bug](https://github.com/CodeCompasss/DevSetup/issues) · [Request Feature](https://github.com/CodeCompasss/DevSetup/issues) · [Contribute](CONTRIBUTING.md)
261+
262+
---
89263

264+
## 🚀 What's Next?
90265

91-
## Conclusion
266+
DevSetup continues to evolve! Here's what we're working on:
92267

93-
DevSetup is a simple yet powerful tool that can save time when setting up a new development environment. By automating the installation of essential tools, it ensures consistency and efficiency across multiple systems. With the ability to add new tools via an Excel file, this project can easily scale and accommodate more software options.
268+
- **More tools**: Expanding our database with community contributions
269+
- **Better UI**: Enhanced user experience and accessibility
270+
- **Advanced features**: Tool version selection, custom commands
271+
- **Integration**: API for CI/CD pipelines and automation tools
94272

95-
---
273+
Join our community and help shape the future of developer environment setup!

0 commit comments

Comments
 (0)