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.
Files changed (2) hide show
  1. package/README.md +129 -100
  2. 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 (Interactive Prompts)
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
- ### npm (Recommended)
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
- ```bash
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
- ### Development / Local Installation
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
- If you're installing from a cloned repository (for development or testing):
61
+ ### Install auto-dev-setup
52
62
 
53
63
  ```bash
54
- # Clone the repository
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
- ### Run the Setup Wizard
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. Prompt for Python stack installation
83
- 5. Prompt for Java stack installation
84
- 6. Display a summary of all changes
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
- ### Command Options
84
+ ### Non-Interactive Mode
87
85
 
88
86
  ```bash
89
- # Run with all stacks (no prompts)
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
- # Check installed tools
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
- - Detects distribution (Debian/Ubuntu, Fedora/RHEL, Arch, etc.)
118
- - Uses native package manager (apt, dnf, pacman, etc.)
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
- ### Windows
122
- - Requires PowerShell
123
- - Uses winget (preferred) or Chocolatey
124
- - May require Administrator privileges for some installations
181
+ ## After Installation
125
182
 
126
- ## Project Structure
183
+ **Important**: Restart your terminal after installation for PATH changes to take effect.
127
184
 
128
- ```
129
- auto-dev-setup/
130
- ├── bin/
131
- │ └── auto-setup.js # CLI entry point
132
- ├── src/
133
- │ ├── cli.js # Main CLI logic
134
- │ ├── index.js # Module exports
135
- │ ├── platform/
136
- │ │ ├── detector.js # OS/arch/shell detection
137
- │ │ ├── macos.js # macOS installers
138
- │ │ ├── linux.js # Linux installers
139
- │ │ └── windows.js # Windows installers
140
- │ ├── stacks/
141
- │ │ ├── base.js # Base tools installer
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 (for npm installation)
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 - see [LICENSE](LICENSE) for details.
216
+ MIT License
186
217
 
187
- ## Acknowledgments
218
+ ## Author
188
219
 
189
- - Built with [Commander.js](https://github.com/tj/commander.js)
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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "auto-dev-setup",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Cross-platform CLI tool to automate developer environment setup on Windows, macOS, and Linux",
5
5
  "main": "src/index.js",
6
6
  "bin": {