One command to setup your complete developer environment.
Automate Web Development, AI/ML, Databases, and DevOps environment setup with a modular Bash automation toolkit.
Developer Setup Automation Toolkit is a modular Bash-based automation framework designed to configure a complete professional developer environment automatically.
Instead of manually installing and configuring every tool, this toolkit provides a repeatable and customizable setup workflow.
It helps developers quickly configure:
- π Full Stack Web Development Environment
- π€ Artificial Intelligence & Machine Learning Environment
- π Database Development Environment
- π³ DevOps Tools and Services
- π Developer Productivity Utilities
The main goal:
Setup once. Configure automatically. Start building faster.
Setting up a development machine from scratch requires installing and configuring many tools manually.
Developers usually need:
- Programming languages
- Package managers
- Databases
- AI/ML libraries
- Development utilities
- Terminal customization
- Docker environment
- Editor configuration
This toolkit reduces repetitive setup work by providing:
β
Automated installation
β
Modular architecture
β
Custom setup options
β
Environment verification
β
Troubleshooting utilities
β
Safe updates
β
Easy customization
Automatically configures:
- Ubuntu packages
- Essential CLI utilities
- Zsh terminal
- Powerlevel10k theme
- Git environment
- Developer workspace
Provides a complete modern full-stack development environment.
| Technology | Included |
|---|---|
| Node.js | β |
| npm | β |
| pnpm | β |
| Bun | β |
| Nodemon | β |
| PostgreSQL | β |
| MongoDB | β |
| Redis | β |
Designed for:
- MERN Stack Development
- Backend API Development
- Full Stack Applications
- Database Driven Projects
Creates a complete Python AI development ecosystem.
| Library | Purpose |
|---|---|
| NumPy | Numerical Computing |
| Pandas | Data Analysis |
| Matplotlib | Data Visualization |
| Scikit-learn | Machine Learning |
| PyTorch | Deep Learning |
| OpenCV | Computer Vision |
| Transformers | NLP & LLM Applications |
| LangChain | LLM Application Development |
| LangGraph | AI Agent Workflows |
| LlamaIndex | Data Framework |
| FAISS | Vector Similarity Search |
| ChromaDB | Vector Database |
Useful for:
- Machine Learning Projects
- Deep Learning
- Computer Vision
- Generative AI
- RAG Applications
- AI Agents
Includes essential DevOps tooling:
- Docker
- Docker Compose
- GitHub CLI
- Lazygit
- Developer CLI utilities
Useful for:
- Container development
- Deployment workflows
- DevOps learning
- Cloud-ready development
| Category | Technologies |
|---|---|
| Operating System | Ubuntu 22.04 / 24.04, WSL2 |
| Shell | Bash, Zsh |
| Terminal | Powerlevel10k |
| Runtime | Node.js, Python |
| Package Managers | npm, pnpm, Bun |
| Backend | Node.js, Express.js |
| Database | PostgreSQL, MongoDB, Redis |
| AI/ML | PyTorch, Transformers, LangChain |
| Vector Database | FAISS, ChromaDB |
| DevOps | Docker, Docker Compose |
| Editor | VS Code |
| CLI Tools | GitHub CLI, Lazygit, HTTPie |
The Developer Setup Automation Toolkit follows a modular architecture where every setup component works as an independent module.
Each module handles a specific responsibility, making the toolkit easy to maintain, customize, and extend.
flowchart TD
A[Developer]
B[install.sh<br>Main Controller]
C[Installation Modules]
D[Configuration Layer]
E[Developer Environment]
F[Verification System]
A --> B
B --> C
C --> D
D --> E
E --> F
| Principle | Description |
|---|---|
| π§© Modular | Every component has independent installation scripts |
| π‘ Safe | Detects existing installations before making changes |
| β»οΈ Reusable | Scripts can run independently |
| π Extensible | Easy to add new technologies |
| π Verifiable | Includes verification and diagnostic tools |
| π¨βπ» Developer Friendly | Easy to customize and maintain |
The toolkit follows a structured automation workflow:
Developer
β
Run install.sh
β
Check System Requirements
β
Install Base Dependencies
β
Configure Development Environment
β
Setup Programming Languages
β
Install Databases
β
Configure AI/ML Environment
β
Setup Docker & DevOps Tools
β
Configure VS Code
β
Verify Environment
β
Ready for Development π
Developer-Setup/
β
βββ install.sh # Main installation controller
βββ verify.sh # Environment verification
βββ doctor.sh # Troubleshooting utility
βββ update.sh # Update system components
βββ uninstall.sh # Cleanup utility
β
βββ scripts/
β
β βββ 01-base.sh # Ubuntu packages and CLI tools
β βββ 02-terminal.sh # Zsh + Powerlevel10k setup
β βββ 03-git.sh # Git configuration
β βββ 04-node.sh # Node.js ecosystem
β βββ 05-postgresql.sh # PostgreSQL setup
β βββ 06-mongodb.sh # MongoDB setup
β βββ 07-redis.sh # Redis setup
β βββ 08-python.sh # Python environment
β βββ 09-ai.sh # AI/ML environment
β βββ 10-docker.sh # Docker setup
β βββ 11-vscode.sh # VS Code setup
β βββ 12-devtools.sh # Developer utilities
β βββ 13-workspace.sh # Workspace creation
β
βββ config/ # Configuration files
β
βββ docs/ # Documentation files
β
βββ logs/ # Runtime installation logs
β
βββ CHANGELOG.md
βββ LICENSE
βββ README.md
Script:
scripts/01-base.shResponsible for:
- Ubuntu package updates
- Essential CLI tools
- System utilities
- Basic dependencies
Script:
scripts/02-terminal.shIncludes:
- Zsh installation
- Oh My Zsh
- Powerlevel10k theme
- Terminal configuration
Script:
scripts/03-git.shConfigures:
- Git installation
- User configuration
- Developer Git environment
Script:
scripts/04-node.shInstalls:
- Node.js
- npm
- pnpm
- Bun
- Nodemon
Scripts:
scripts/05-postgresql.sh
scripts/06-mongodb.sh
scripts/07-redis.sh
Provides:
- PostgreSQL database
- MongoDB database
- Redis caching system
Script:
scripts/08-python.shCreates:
- Python development environment
- Virtual environment setup
- Python tooling
Script:
scripts/09-ai.shProvides:
- NumPy
- Pandas
- Scikit-learn
- PyTorch
- OpenCV
- Transformers
- LangChain
- LangGraph
- LlamaIndex
- FAISS
- ChromaDB
Script:
scripts/10-docker.shInstalls and configures:
- Docker Engine
- Docker Compose
- Container development environment
Script:
scripts/11-vscode.shConfigures:
- VS Code CLI
- Developer extensions
- WSL integration
Script:
scripts/12-devtools.shIncludes:
- GitHub CLI
- Lazygit
- HTTPie
- YAML utilities
Script:
scripts/13-workspace.shCreates:
- Developer workspace
- Project templates
- Learning directories
- Development structure
The toolkit includes two diagnostic systems:
Checks:
- Installed tools
- Runtime versions
- Database connections
- Python packages
- Docker availability
- VS Code setup
Checks:
- Environment problems
- PATH configuration
- Missing dependencies
- Service issues
- Configuration problems
Detailed architecture documentation:
β‘οΈ Architecture Documentation
Setup your complete developer environment with a simple automated workflow.
The toolkit provides an interactive installation process that allows you to choose between a complete setup or specific development environments.
Before starting, make sure your system meets the following requirements:
| Requirement | Details |
|---|---|
| Operating System | Ubuntu 22.04 / 24.04 |
| Windows Support | WSL2 |
| Internet Connection | Required |
| User Permission | sudo access |
| Shell | Bash / Zsh |
Clone the repository from GitHub:
git clone https://github.com/riturajlabs/Developer-Setup.git
cd Developer-SetupMake all scripts executable:
chmod +x *.sh
chmod +x scripts/*.shStart the automated setup:
./install.shThe installer provides an interactive menu:
=================================
Developer Setup Installer
=================================
1) Full Developer Setup
2) Custom Setup
3) Web Development Setup
4) AI / ML Setup
5) Database Setup
6) DevOps Setup
7) Verify Installation
8) Doctor
9) Update Installer
0) Exit
=================================
Choose the environment according to your development requirements.
| Mode | Purpose |
|---|---|
| π Full Developer Setup | Complete development environment |
| π Web Development Setup | Node.js ecosystem and full-stack tools |
| π€ AI / ML Setup | Python AI and Machine Learning environment |
| π Database Setup | PostgreSQL, MongoDB and Redis services |
| π³ DevOps Setup | Docker and container tools |
| βοΈ Custom Setup | Select required components |
After installation, verify your environment:
./verify.shThe verification system checks:
β System Tools
β Git Configuration
β Node.js Environment
β npm
β pnpm
β Bun
β Nodemon
β PostgreSQL
β MongoDB
β Redis
β Python Environment
β AI/ML Libraries
β Docker
β Docker Compose
β VS Code
Example output:
=================================
Developer Environment Check
=================================
[SUCCESS] Git
[SUCCESS] Node.js
[SUCCESS] PostgreSQL
[SUCCESS] MongoDB
[SUCCESS] Redis
[SUCCESS] Python AI Environment
[SUCCESS] Docker
[SUCCESS] VS Code
Passed : XX
Failed : XX
Environment Ready π
=================================
The Doctor utility helps developers diagnose and troubleshoot environment issues.
Run:
./doctor.shThe Doctor tool checks:
- Environment configuration
- PATH configuration
- Missing dependencies
- Broken installations
- Database services
- Python environment
- Docker status
- VS Code integration
Example:
=================================
Developer Environment Doctor
=================================
[SUCCESS] WSL environment detected
[SUCCESS] Node environment
[SUCCESS] Database services
[SUCCESS] Python AI environment
[SUCCESS] Docker
[SUCCESS] VS Code
Issues Found : 0
Your developer environment is healthy π
Keep your development environment updated using the update utility.
Run:
./update.shUpdate workflow:
System Packages
β
Node.js Ecosystem
β
Python Packages
β
Docker Maintenance
β
Toolkit Updates
The update system handles:
- Ubuntu package updates
- Node package updates
- Python environment updates
- Docker cleanup
- Toolkit maintenance
Remove installed components safely using the uninstall utility.
Run:
./uninstall.shAvailable cleanup options:
=================================
Developer Setup Uninstaller
=================================
1) Remove Developer Tools
2) Remove Node Environment
3) Remove Python AI Environment
4) Remove Databases
5) Remove Docker
6) Clean Workspace
7) Full Cleanup
0) Exit
=================================
Safety features:
β Confirmation before deletion
β Selective component removal
β Protects user projects
β Detailed cleanup logs
β Prevents accidental cleanup
For detailed installation instructions:
β‘οΈ Installation Documentation
Complete documentation is available inside the docs/ directory.
The documentation covers installation, architecture, customization, troubleshooting, and contribution guidelines.
| Document | Description |
|---|---|
| INSTALLATION.md | Complete installation guide |
| ARCHITECTURE.md | System architecture details |
| CUSTOMIZATION.md | Add or modify setup modules |
| TROUBLESHOOTING.md | Common issues and solutions |
| CONTRIBUTING.md | Contribution guidelines |
- Modular Bash installer
- Ubuntu support
- WSL2 support
- Terminal customization
- Zsh + Powerlevel10k setup
- Git automation
- Node.js development environment
- PostgreSQL setup
- MongoDB setup
- Redis setup
- Python development environment
- AI/ML libraries setup
- Docker integration
- VS Code automation
- Developer utilities setup
- Verification system
- Doctor troubleshooting tool
- Safe uninstall system
- Developer workspace creation
- Java Development Setup
- Rust Development Setup
- Go Development Setup
- Kubernetes Automation
- Terraform Setup
- Cloud CLI Integration
- CI/CD Pipeline Templates
- GUI Installer
- Configuration-based installation
- Profile-based setup system
- Multi Linux distribution support
- Backup and restore system
- Interactive setup wizard
The toolkit follows safe automation practices to prevent unwanted system changes.
Security features:
β Existing installation detection
β Safe package installation
β No hidden scripts
β User confirmation before destructive operations
β Detailed installation logs
β Error handling and validation
β Modular execution flow
The installation workflow follows:
Detect
β
Validate
β
Install
β
Configure
β
Verify
Contributions are welcome!
If you want to improve this project, add new technologies, or improve documentation, follow the contribution workflow below.
Create your own fork of the repository.
git clone <repository-url>Create a new branch for your changes:
git checkout -b feature-nameImprove:
- Installation scripts
- Documentation
- Configuration files
- Verification tools
- New technology modules
git add .
git commit -m "Add new feature"git push origin feature-nameCreate a Pull Request with:
- Clear description
- Testing details
- Screenshots (if required)
- Reason for changes
Contribution guidelines:
β‘οΈ CONTRIBUTING.md
This project is licensed under the MIT License.
You are free to:
- Use
- Modify
- Distribute
- Learn from this project
See the complete license:
β‘οΈ LICENSE
If this project helped you:
β Star the repository
π’ Share it with other developers
π€ Contribute improvements
Your support helps the project grow and motivates further development.
AI & Machine Learning Student | Full Stack Developer | Developer Tools Enthusiast
Developer Setup Automation Toolkit was created to reduce repetitive setup work and help developers start building faster.
Instead of spending hours configuring development environments:
Install once.
Configure automatically.
Start building.
Built with β€οΈ for developers.
