auto-dev-setup 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +129 -100
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,14 +2,35 @@
|
|
|
2
2
|
|
|
3
3
|
A cross-platform command-line tool that automates developer environment setup on Windows, macOS, and Linux.
|
|
4
4
|
|
|
5
|
+
```
|
|
6
|
+
╭─────────────────────────────────────────────────────╮
|
|
7
|
+
│ │
|
|
8
|
+
│ auto-dev-setup │
|
|
9
|
+
│ Cross-platform Developer Environment Setup Tool │
|
|
10
|
+
│ │
|
|
11
|
+
╰─────────────────────────────────────────────────────╯
|
|
12
|
+
```
|
|
13
|
+
|
|
5
14
|
## Features
|
|
6
15
|
|
|
7
16
|
- **Cross-Platform**: Works consistently on Windows, macOS, and Linux
|
|
8
17
|
- **Interactive Setup**: Guided installation with clear prompts
|
|
9
|
-
- **Idempotent**: Safe to run multiple times
|
|
18
|
+
- **Idempotent**: Safe to run multiple times - skips already installed tools
|
|
10
19
|
- **Transparent**: Shows all commands before execution
|
|
11
20
|
- **Modular**: Install only what you need
|
|
12
21
|
|
|
22
|
+
## Quick Start
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
# Install globally
|
|
26
|
+
npm install -g auto-dev-setup
|
|
27
|
+
|
|
28
|
+
# Run the setup wizard
|
|
29
|
+
auto-setup
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
That's it! The tool will guide you through the rest.
|
|
33
|
+
|
|
13
34
|
## What Gets Installed
|
|
14
35
|
|
|
15
36
|
### Always Installed (Base + Web Stack)
|
|
@@ -21,55 +42,31 @@ A cross-platform command-line tool that automates developer environment setup on
|
|
|
21
42
|
- Prettier
|
|
22
43
|
- GitLens
|
|
23
44
|
|
|
24
|
-
### Optional (
|
|
45
|
+
### Optional (You Choose)
|
|
25
46
|
- **Python Stack**: Python 3, pip, pipx, virtualenv, Jupyter, NumPy, Pandas
|
|
26
47
|
- **Java Stack**: OpenJDK (LTS), JAVA_HOME configuration
|
|
27
48
|
|
|
28
49
|
## Installation
|
|
29
50
|
|
|
30
|
-
###
|
|
31
|
-
|
|
32
|
-
```bash
|
|
33
|
-
npm install -g auto-dev-setup
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
### pip
|
|
37
|
-
|
|
38
|
-
```bash
|
|
39
|
-
pip install auto-dev-setup
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
### Homebrew (macOS)
|
|
51
|
+
### Prerequisites
|
|
43
52
|
|
|
44
|
-
|
|
45
|
-
brew tap yourusername/auto-dev-setup
|
|
46
|
-
brew install auto-dev-setup
|
|
47
|
-
```
|
|
53
|
+
You need Node.js (v16+) installed. If you don't have it:
|
|
48
54
|
|
|
49
|
-
|
|
55
|
+
| Platform | Install Node.js |
|
|
56
|
+
|----------|-----------------|
|
|
57
|
+
| **Windows** | Download from [nodejs.org](https://nodejs.org) or run `winget install OpenJS.NodeJS.LTS` |
|
|
58
|
+
| **macOS** | Run `brew install node` or download from [nodejs.org](https://nodejs.org) |
|
|
59
|
+
| **Linux** | Use your package manager: `apt install nodejs npm` or `dnf install nodejs npm` |
|
|
50
60
|
|
|
51
|
-
|
|
61
|
+
### Install auto-dev-setup
|
|
52
62
|
|
|
53
63
|
```bash
|
|
54
|
-
|
|
55
|
-
git clone https://github.com/yourusername/auto-dev-setup.git
|
|
56
|
-
cd auto-dev-setup
|
|
57
|
-
|
|
58
|
-
# Install dependencies first (required!)
|
|
59
|
-
npm install
|
|
60
|
-
|
|
61
|
-
# Then link globally
|
|
62
|
-
npm link
|
|
63
|
-
|
|
64
|
-
# Now you can use the command
|
|
65
|
-
auto-setup --version
|
|
64
|
+
npm install -g auto-dev-setup
|
|
66
65
|
```
|
|
67
66
|
|
|
68
|
-
**Note:** When installing from npm registry (`npm install -g auto-dev-setup`), dependencies are installed automatically. The extra `npm install` step is only needed for local development.
|
|
69
|
-
|
|
70
67
|
## Usage
|
|
71
68
|
|
|
72
|
-
###
|
|
69
|
+
### Interactive Mode (Recommended)
|
|
73
70
|
|
|
74
71
|
```bash
|
|
75
72
|
auto-setup
|
|
@@ -77,23 +74,29 @@ auto-setup
|
|
|
77
74
|
|
|
78
75
|
This will:
|
|
79
76
|
1. Detect your platform (Windows/macOS/Linux)
|
|
80
|
-
2. Install base system tools
|
|
81
|
-
3. Install the web developer stack
|
|
82
|
-
4.
|
|
83
|
-
5.
|
|
84
|
-
6.
|
|
77
|
+
2. Install base system tools (Git, curl)
|
|
78
|
+
3. Install the web developer stack (Node.js, npm, VS Code)
|
|
79
|
+
4. Ask if you want Python stack
|
|
80
|
+
5. Ask if you want Java stack
|
|
81
|
+
6. Configure all PATH variables
|
|
82
|
+
7. Display a summary
|
|
85
83
|
|
|
86
|
-
###
|
|
84
|
+
### Non-Interactive Mode
|
|
87
85
|
|
|
88
86
|
```bash
|
|
89
|
-
#
|
|
87
|
+
# Install everything without prompts
|
|
90
88
|
auto-setup --yes
|
|
91
89
|
|
|
92
90
|
# Skip specific stacks
|
|
93
91
|
auto-setup --skip-python
|
|
94
92
|
auto-setup --skip-java
|
|
93
|
+
auto-setup --yes --skip-java
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### Other Commands
|
|
95
97
|
|
|
96
|
-
|
|
98
|
+
```bash
|
|
99
|
+
# Check what's already installed
|
|
97
100
|
auto-setup check
|
|
98
101
|
|
|
99
102
|
# Display system info
|
|
@@ -106,54 +109,93 @@ auto-setup --version
|
|
|
106
109
|
auto-setup --help
|
|
107
110
|
```
|
|
108
111
|
|
|
112
|
+
## Example Output
|
|
113
|
+
|
|
114
|
+
```
|
|
115
|
+
Step 1: Platform Detection
|
|
116
|
+
|
|
117
|
+
╭──────────────────────────────────────────────────────╮
|
|
118
|
+
│ System Information │
|
|
119
|
+
│ │
|
|
120
|
+
│ 💻 OS: Windows (win32) │
|
|
121
|
+
│ 🔧 Architecture: x86_64 (64-bit) │
|
|
122
|
+
│ 📁 Shell: powershell │
|
|
123
|
+
│ 📦 Package Manager: winget │
|
|
124
|
+
╰──────────────────────────────────────────────────────╯
|
|
125
|
+
|
|
126
|
+
Step 2: Base System Setup
|
|
127
|
+
|
|
128
|
+
✓ Using package manager: winget
|
|
129
|
+
✓ Git already installed
|
|
130
|
+
✓ curl already available
|
|
131
|
+
|
|
132
|
+
Step 3: Web Developer Stack (Mandatory)
|
|
133
|
+
|
|
134
|
+
✓ Node.js LTS already installed
|
|
135
|
+
✓ Visual Studio Code already installed
|
|
136
|
+
→ Installing VS Code extensions...
|
|
137
|
+
• ESLint - installed
|
|
138
|
+
• Prettier - already installed
|
|
139
|
+
• GitLens - already installed
|
|
140
|
+
|
|
141
|
+
...
|
|
142
|
+
|
|
143
|
+
╭──────────────────────────────────────╮
|
|
144
|
+
│ Installation Summary │
|
|
145
|
+
│ │
|
|
146
|
+
│ Installed (6): │
|
|
147
|
+
│ ✔ VS Code: ESLint │
|
|
148
|
+
│ ✔ pipx │
|
|
149
|
+
│ ✔ virtualenv │
|
|
150
|
+
│ ✔ NumPy │
|
|
151
|
+
│ ✔ Pandas │
|
|
152
|
+
│ ✔ JAVA_HOME configuration │
|
|
153
|
+
│ │
|
|
154
|
+
│ Skipped (15): │
|
|
155
|
+
│ → Already installed items... │
|
|
156
|
+
│ │
|
|
157
|
+
│ Failed (0): │
|
|
158
|
+
│ None │
|
|
159
|
+
╰──────────────────────────────────────╯
|
|
160
|
+
|
|
161
|
+
🚀 Setup Complete!
|
|
162
|
+
```
|
|
163
|
+
|
|
109
164
|
## Platform-Specific Behavior
|
|
110
165
|
|
|
166
|
+
### Windows
|
|
167
|
+
- Uses **winget** (preferred) or **Chocolatey**
|
|
168
|
+
- May require Administrator privileges for some installations
|
|
169
|
+
- Automatically configures PATH for Python Scripts
|
|
170
|
+
|
|
111
171
|
### macOS
|
|
112
|
-
- Installs Xcode Command Line Tools
|
|
113
|
-
- Uses Homebrew for package management
|
|
114
|
-
- Supports both Intel and Apple Silicon
|
|
172
|
+
- Installs **Xcode Command Line Tools** if needed
|
|
173
|
+
- Uses **Homebrew** for package management
|
|
174
|
+
- Supports both Intel and Apple Silicon Macs
|
|
115
175
|
|
|
116
176
|
### Linux
|
|
117
|
-
-
|
|
118
|
-
- Uses native package manager (apt, dnf, pacman,
|
|
177
|
+
- Auto-detects your distribution
|
|
178
|
+
- Uses native package manager (apt, dnf, pacman, zypper, apk)
|
|
119
179
|
- Sets up NodeSource repository for latest Node.js LTS
|
|
120
180
|
|
|
121
|
-
|
|
122
|
-
- Requires PowerShell
|
|
123
|
-
- Uses winget (preferred) or Chocolatey
|
|
124
|
-
- May require Administrator privileges for some installations
|
|
181
|
+
## After Installation
|
|
125
182
|
|
|
126
|
-
|
|
183
|
+
**Important**: Restart your terminal after installation for PATH changes to take effect.
|
|
127
184
|
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
│ │ ├── web.js # Web stack installer
|
|
143
|
-
│ │ ├── python.js # Python stack installer
|
|
144
|
-
│ │ └── java.js # Java stack installer
|
|
145
|
-
│ ├── utils/
|
|
146
|
-
│ │ ├── executor.js # Command execution
|
|
147
|
-
│ │ ├── logger.js # Console output
|
|
148
|
-
│ │ ├── prompts.js # User prompts
|
|
149
|
-
│ │ └── verifier.js # Installation verification
|
|
150
|
-
│ └── config/
|
|
151
|
-
│ └── extensions.js # VS Code extensions config
|
|
152
|
-
├── python/ # pip distribution
|
|
153
|
-
├── homebrew/ # Homebrew formula
|
|
154
|
-
├── package.json
|
|
155
|
-
├── pyproject.toml
|
|
156
|
-
└── README.md
|
|
185
|
+
| Platform | How to Apply Changes |
|
|
186
|
+
|----------|---------------------|
|
|
187
|
+
| **Windows** | Close PowerShell/Terminal and open a new one |
|
|
188
|
+
| **macOS** | Run `source ~/.zshrc` or restart Terminal |
|
|
189
|
+
| **Linux** | Run `source ~/.bashrc` (or `~/.zshrc`) or restart terminal |
|
|
190
|
+
|
|
191
|
+
Then verify everything works:
|
|
192
|
+
|
|
193
|
+
```bash
|
|
194
|
+
node --version
|
|
195
|
+
npm --version
|
|
196
|
+
python --version
|
|
197
|
+
java --version
|
|
198
|
+
jupyter --version
|
|
157
199
|
```
|
|
158
200
|
|
|
159
201
|
## Safety
|
|
@@ -166,26 +208,13 @@ auto-dev-setup/
|
|
|
166
208
|
|
|
167
209
|
## Requirements
|
|
168
210
|
|
|
169
|
-
- **Node.js** >= 16.0.0
|
|
170
|
-
- **Python** >= 3.8 (for pip installation)
|
|
211
|
+
- **Node.js** >= 16.0.0
|
|
171
212
|
- Internet connection for downloading packages
|
|
172
213
|
|
|
173
|
-
## Contributing
|
|
174
|
-
|
|
175
|
-
Contributions are welcome! Please feel free to submit a Pull Request.
|
|
176
|
-
|
|
177
|
-
1. Fork the repository
|
|
178
|
-
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
|
|
179
|
-
3. Commit your changes (`git commit -m 'Add some amazing feature'`)
|
|
180
|
-
4. Push to the branch (`git push origin feature/amazing-feature`)
|
|
181
|
-
5. Open a Pull Request
|
|
182
|
-
|
|
183
214
|
## License
|
|
184
215
|
|
|
185
|
-
MIT License
|
|
216
|
+
MIT License
|
|
186
217
|
|
|
187
|
-
##
|
|
218
|
+
## Author
|
|
188
219
|
|
|
189
|
-
|
|
190
|
-
- Uses [Inquirer.js](https://github.com/SBoudrias/Inquirer.js) for prompts
|
|
191
|
-
- Styled with [Chalk](https://github.com/chalk/chalk)
|
|
220
|
+
Built with Node.js using Commander.js, Inquirer.js, and Chalk.
|