Skip to content

azfrohefalte/dev-setup

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ›  dev-setup

One command to set up your entire developer environment.

Version npm License: MIT Node.js Tests PRs Welcome Made with ❀️

npx dev-setup

Works on Windows Β· macOS Β· Ubuntu Β· Kali Linux


✨ Features

  • πŸ–₯ Cross-platform β€” Windows, macOS, Ubuntu, Kali Linux
  • β˜‘οΈ Interactive tool selection β€” checkbox menu grouped by category
  • πŸ’‘ Tool descriptions β€” know exactly what you're installing and why
  • πŸ” Auto OS detection β€” no manual configuration needed
  • πŸ§ͺ Dry-run mode β€” preview installs without touching your system
  • 🧩 Modular & extensible β€” easy to add new tools or OS support
  • 🎨 Beautiful CLI output β€” coloured messages and progress spinners
  • πŸ“¦ 40+ tools across 11 categories: runtimes, IDEs, DevOps, cloud, databases, mobile, and more

πŸ“Έ Preview

╔══════════════════════════════════╗
β•‘         πŸ›   dev-setup  πŸ›          β•‘
β•‘  Developer Environment Installer  β•‘
β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•

  β†’ Detecting operating system...
  βœ” Detected OS: macOS   Package manager: Homebrew

  ── CORE Β· Essential tools every developer needs ──
  β—‰ Git                          The world's most widely used version control system…
  β—‰ curl                         A command-line HTTP client for testing APIs…

  ── RUNTIME Β· Language runtimes and version managers ──
  β—‰ Node.js (LTS)                A JavaScript runtime β€” comes bundled with npm…
  β—― Python 3                     Versatile language for web, ML, and scripting…

  ── IDE Β· Full-featured Integrated Development Environments ──
  β—‰ Visual Studio Code           Microsoft's free, popular code editor…
  β—― IntelliJ IDEA Community      JetBrains' powerful Java and Kotlin IDE…

  You selected:
  βœ” Git           Without Git you cannot collaborate or roll back mistakes.
  βœ” Node.js       Required for any JavaScript or TypeScript project.
  βœ” VS Code       The #1 editor used by developers worldwide.

  βœ” Installed: Git
  βœ” Installed: Node.js (LTS)
  βœ” Installed: Visual Studio Code

╔══════════════════════════════════╗
β•‘      βœ…  Setup Complete!          β•‘
β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•

πŸš€ Usage

Run instantly with npx (no install required)

npx dev-setup

Or install globally

npm install -g dev-setup
dev-setup

All flags

Flag Description
(no flags) Launch interactive menu
-y, --yes Skip prompts, install all tools
--dry-run Preview what would be installed without installing
--list List all available tools grouped by category
--category <name> Only show tools from one category
--version Show current version
--help Show help

Examples

# Interactive mode (recommended)
npx dev-setup

# Install everything without prompts
npx dev-setup --yes

# Preview without installing anything
npx dev-setup --dry-run

# See all available tools
npx dev-setup --list

# Install only DevOps tools
npx dev-setup --category devops

πŸ–₯ Supported Operating Systems

OS Package Manager Status
macOS Homebrew βœ… Supported
Ubuntu / Debian apt βœ… Supported
Kali Linux apt βœ… Supported
Windows 10/11 winget βœ… Supported
Fedora / RHEL dnf 🚧 Planned β€” contribute!
Arch / Manjaro pacman 🚧 Planned β€” contribute!

πŸ“¦ Available Tools (40+)

Tool Category macOS Ubuntu Kali Windows
Git Core βœ… βœ… βœ… βœ…
GitHub CLI Core βœ… βœ… βœ… βœ…
curl Core βœ… βœ… βœ… βœ…
wget Core βœ… βœ… βœ… βœ…
Node.js LTS Runtime βœ… βœ… βœ… βœ…
NVM Runtime βœ… βœ… βœ… βœ…
Python 3 Runtime βœ… βœ… βœ… βœ…
Java JDK 21 Runtime βœ… βœ… βœ… βœ…
.NET SDK Runtime βœ… βœ… βœ… βœ…
Go Runtime βœ… βœ… βœ… βœ…
Rust Runtime βœ… βœ… βœ… βœ…
Ruby Runtime βœ… βœ… βœ… βœ…
PHP 8 Runtime βœ… βœ… βœ… βœ…
VS Code IDE βœ… βœ… βœ… βœ…
IntelliJ IDEA IDE βœ… βœ… βœ… ❌
PyCharm IDE βœ… βœ… βœ… ❌
WebStorm IDE βœ… βœ… βœ… ❌
Vim Editor βœ… βœ… βœ… βœ…
Neovim Editor βœ… βœ… βœ… βœ…
Docker DevOps βœ… βœ… βœ… βœ…
kubectl DevOps βœ… βœ… βœ… βœ…
Terraform DevOps βœ… βœ… βœ… βœ…
Ansible DevOps ❌ βœ… βœ… βœ…
AWS CLI Cloud βœ… βœ… βœ… βœ…
Google Cloud CLI Cloud βœ… βœ… βœ… βœ…
Azure CLI Cloud βœ… βœ… βœ… βœ…
MongoDB Database βœ… βœ… βœ… βœ…
PostgreSQL Database βœ… βœ… βœ… βœ…
MySQL Database βœ… βœ… βœ… βœ…
Redis Database βœ… βœ… βœ… ❌
Angular CLI Framework βœ… βœ… βœ… βœ…
Create React App Framework βœ… βœ… βœ… βœ…
Vite Framework βœ… βœ… βœ… βœ…
Next.js Framework βœ… βœ… βœ… βœ…
Express.js Framework βœ… βœ… βœ… βœ…
Spring Boot CLI Framework βœ… βœ… βœ… βœ…
Maven Framework βœ… βœ… βœ… βœ…
Gradle Framework βœ… βœ… βœ… βœ…
Flutter SDK Mobile βœ… βœ… ❌ βœ…
Android Studio Mobile βœ… βœ… ❌ βœ…
Zsh CLI βœ… βœ… βœ… ❌
Oh My Zsh CLI βœ… βœ… βœ… ❌
tmux CLI βœ… βœ… βœ… ❌
htop CLI βœ… βœ… βœ… ❌
jq CLI βœ… βœ… βœ… βœ…
Make CLI βœ… βœ… βœ… ❌
Jest Testing βœ… βœ… βœ… βœ…
pytest Testing βœ… βœ… βœ… βœ…
Postman Testing βœ… βœ… βœ… ❌

Missing a tool? Open an issue β†’


πŸ— Project Structure

dev-setup/
β”œβ”€β”€ index.js                    # CLI entry point
β”œβ”€β”€ package.json
β”œβ”€β”€ README.md
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ detectOS.js             # OS detection logic
β”‚   β”œβ”€β”€ installer.js            # Runs the OS-specific scripts
β”‚   └── logger.js               # Coloured CLI output utilities
β”œβ”€β”€ scripts/
β”‚   β”œβ”€β”€ windows/install.ps1     # PowerShell installer (winget)
β”‚   β”œβ”€β”€ mac/install.sh          # Homebrew installer
β”‚   └── linux/
β”‚       β”œβ”€β”€ ubuntu.sh           # apt installer for Ubuntu/Debian
β”‚       └── kali.sh             # apt installer for Kali
β”œβ”€β”€ config/
β”‚   └── tools.json              # Master list of all tools
β”œβ”€β”€ tests/
β”‚   β”œβ”€β”€ detectOS.test.js        # OS detection unit tests
β”‚   β”œβ”€β”€ installer.test.js       # Installer unit tests
β”‚   β”œβ”€β”€ logger.test.js          # Logger unit tests
β”‚   └── tools.test.js           # tools.json integrity tests
β”œβ”€β”€ .github/
β”‚   β”œβ”€β”€ ISSUE_TEMPLATE/         # Bug / new tool / new OS templates
β”‚   └── workflows/ci.yml        # GitHub Actions CI
└── docs/
    └── contributing.md         # How to contribute

πŸ§ͺ Running Tests

npm test              # run all tests + coverage report
npm run test:watch    # watch mode during development
npm run test:verbose  # detailed output per test

🀝 Contributing

All contributions are welcome β€” from adding a new tool to supporting a whole new OS!

The quickest ways to contribute:

  • βž• Add a new tool β€” add it to tools.json + the install scripts
  • πŸ–₯ Add OS support β€” Fedora, Arch, Alpine...
  • πŸ› Fix a bug β€” especially OS-specific install edge cases
  • πŸ“– Improve docs β€” always needed

Read the full guide: docs/contributing.md


πŸ“‹ Changelog

v1.0.0 β€” Initial Release

  • βœ… Interactive CLI with checkbox tool selection grouped by category
  • βœ… Auto OS detection (Windows, macOS, Ubuntu, Debian, Kali)
  • βœ… 40+ tools across 11 categories with full descriptions
  • βœ… --yes, --dry-run, --list, --category flags
  • βœ… Full unit test suite with Jest
  • βœ… GitHub Actions CI across Node 18, 20, 22
  • βœ… Issue templates for bugs, new tools, and new OS requests

πŸ“„ License

MIT β€” free to use, modify, and distribute.


If dev-setup saved you time, please ⭐ star the repo β€” it helps others find it!

⭐ Star on GitHub Β· πŸ› Report a Bug Β· πŸ’‘ Request a Tool

About

One command to set up your entire developer environment. Supports Windows, macOS, Ubuntu and Kali. 40+ tools, interactive menu, dry-run mode.

Resources

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • JavaScript 72.1%
  • Shell 22.2%
  • PowerShell 5.7%