Skip to content

riturajlabs/Developer-Setup

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ Developer Setup Automation Toolkit

One command to setup your complete developer environment.

Automate Web Development, AI/ML, Databases, and DevOps environment setup with a modular Bash automation toolkit.


πŸ“– Overview

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.


πŸ’‘ Why This Project?

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


✨ Key Features

πŸ–₯ Complete System Setup

Automatically configures:

  • Ubuntu packages
  • Essential CLI utilities
  • Zsh terminal
  • Powerlevel10k theme
  • Git environment
  • Developer workspace

🌐 Web Development Environment

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

πŸ€– AI / Machine Learning Environment

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

🐳 DevOps Environment

Includes essential DevOps tooling:

  • Docker
  • Docker Compose
  • GitHub CLI
  • Lazygit
  • Developer CLI utilities

Useful for:

  • Container development
  • Deployment workflows
  • DevOps learning
  • Cloud-ready development

🧰 Supported Technologies

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

πŸ— Architecture Overview

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.


πŸ”„ System Architecture

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
Loading

🧩 Architecture Principles

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

πŸ”„ Installation Workflow

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 πŸš€

πŸ“‚ Project Structure

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

βš™οΈ Module Overview

πŸ–₯ Base System Setup

Script:

scripts/01-base.sh

Responsible for:

  • Ubuntu package updates
  • Essential CLI tools
  • System utilities
  • Basic dependencies

🎨 Terminal Customization

Script:

scripts/02-terminal.sh

Includes:

  • Zsh installation
  • Oh My Zsh
  • Powerlevel10k theme
  • Terminal configuration

πŸ”§ Git Configuration

Script:

scripts/03-git.sh

Configures:

  • Git installation
  • User configuration
  • Developer Git environment

🌐 Node.js Development Environment

Script:

scripts/04-node.sh

Installs:

  • Node.js
  • npm
  • pnpm
  • Bun
  • Nodemon

πŸ—„ Database Environment

Scripts:

scripts/05-postgresql.sh

scripts/06-mongodb.sh

scripts/07-redis.sh

Provides:

  • PostgreSQL database
  • MongoDB database
  • Redis caching system

🐍 Python Environment

Script:

scripts/08-python.sh

Creates:

  • Python development environment
  • Virtual environment setup
  • Python tooling

πŸ€– AI / ML Environment

Script:

scripts/09-ai.sh

Provides:

  • NumPy
  • Pandas
  • Scikit-learn
  • PyTorch
  • OpenCV
  • Transformers
  • LangChain
  • LangGraph
  • LlamaIndex
  • FAISS
  • ChromaDB

🐳 Docker Environment

Script:

scripts/10-docker.sh

Installs and configures:

  • Docker Engine
  • Docker Compose
  • Container development environment

πŸ’» VS Code Setup

Script:

scripts/11-vscode.sh

Configures:

  • VS Code CLI
  • Developer extensions
  • WSL integration

πŸ›  Developer Tools

Script:

scripts/12-devtools.sh

Includes:

  • GitHub CLI
  • Lazygit
  • HTTPie
  • YAML utilities

πŸ“ Workspace Setup

Script:

scripts/13-workspace.sh

Creates:

  • Developer workspace
  • Project templates
  • Learning directories
  • Development structure

πŸ” Verification Architecture

The toolkit includes two diagnostic systems:

verify.sh

Checks:

  • Installed tools
  • Runtime versions
  • Database connections
  • Python packages
  • Docker availability
  • VS Code setup

doctor.sh

Checks:

  • Environment problems
  • PATH configuration
  • Missing dependencies
  • Service issues
  • Configuration problems

Detailed architecture documentation:

➑️ Architecture Documentation


⚑ Quick Start

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.


πŸ“‹ Requirements

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

πŸ“₯ Installation Guide

1. Clone Repository

Clone the repository from GitHub:

git clone https://github.com/riturajlabs/Developer-Setup.git

cd Developer-Setup

2. Give Execute Permission

Make all scripts executable:

chmod +x *.sh
chmod +x scripts/*.sh

3. Run Installer

Start the automated setup:

./install.sh

The 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


=================================

🎯 Installation Modes

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

πŸ” Verification System

After installation, verify your environment:

./verify.sh

The 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 πŸš€


=================================

🩺 Doctor Tool

The Doctor utility helps developers diagnose and troubleshoot environment issues.

Run:

./doctor.sh

The 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 πŸš€

πŸ”„ Update System

Keep your development environment updated using the update utility.

Run:

./update.sh

Update 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

πŸ—‘ Uninstall System

Remove installed components safely using the uninstall utility.

Run:

./uninstall.sh

Available 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


πŸ“š Installation Documentation

For detailed installation instructions:

➑️ Installation Documentation


πŸ“š 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

πŸ›£ Roadmap

βœ… Completed

  • 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

πŸš€ Future Improvements

  • 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

πŸ” Security & Safety

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

🀝 Contributing

Contributions are welcome!

If you want to improve this project, add new technologies, or improve documentation, follow the contribution workflow below.


1. Fork Repository

Create your own fork of the repository.

git clone <repository-url>

2. Create Feature Branch

Create a new branch for your changes:

git checkout -b feature-name

3. Make Changes

Improve:

  • Installation scripts
  • Documentation
  • Configuration files
  • Verification tools
  • New technology modules

4. Commit Changes

git add .

git commit -m "Add new feature"

5. Push Changes

git push origin feature-name

Create a Pull Request with:

  • Clear description
  • Testing details
  • Screenshots (if required)
  • Reason for changes

Contribution guidelines:

➑️ CONTRIBUTING.md


πŸ“„ License

This project is licensed under the MIT License.

You are free to:

  • Use
  • Modify
  • Distribute
  • Learn from this project

See the complete license:

➑️ LICENSE


⭐ Support

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.


πŸ‘¨β€πŸ’» Author

Ritu Raj

AI & Machine Learning Student | Full Stack Developer | Developer Tools Enthusiast


πŸš€ Final Note

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.

About

One-command developer environment setup automation toolkit for Web Development, AI/ML, Databases and DevOps.

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages