Visual guide to understanding how everything is organized.
macOs dev setup/
β
βββ π setup-macos.sh # START HERE - Main interactive installer
β
βββ π README.md # Main documentation
βββ β‘ QUICK_START.md # Quick setup guide
βββ π STRUCTURE.md # This file
β
βββ scripts/ # Core installation scripts
β βββ setup-dev-env.sh # Installs development tools
β βββ pimp-my-terminal.sh # Installs terminal customization
β βββ setup-tmux.sh # Installs tmux + theme + plugins
β βββ setup-claude-monitor.sh # Installs Claude Code Monitor
β βββ claude-monitor.py # Live dashboard for Claude Code instances
β βββ verify-setup.sh # Verifies installation
β
βββ configs/ # Configuration files
β βββ tmux.conf # tmux config (Catppuccin Mocha theme)
β βββ dev-session.sh # Dev session layout launcher
β
βββ docs/ # Detailed guides
β βββ DEV_ENVIRONMENT_GUIDE.md # Development tools documentation
β βββ TERMINAL_SETUP_GUIDE.md # Terminal customization guide
β
βββ examples/ # Project-specific examples
βββ README.md # How to use examples
βββ start_dev.sh # Example: project startup script
βββ verify_setup_project.sh # Example: project verification
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β setup-macos.sh β
β (Interactive Main Menu) β
ββββ¬βββββββββββ¬βββββββββββ¬βββββββββββ¬βββββββββββ¬βββββββββββββββ
β β β β β
β Opt 1 β Opt 2 β Opt 3 β Opt 4 β Opt 5
β Full β Dev Only β Terminal β Mux β Monitor
β β β β β
βΌ βΌ βΌ βΌ βΌ
ββββββββββββ ββββββββββ ββββββββββ ββββββββββ ββββββββββββ
βsetup-dev-β β same β βpimp-my-β βsetup- β βsetup- β
βenv.sh β β β βterminalβ βtmux.sh β βclaude- β
β + β β β β.sh β β β βmonitor.shβ
βpimp-my- β β β β β β β β β
βterminal β β β β β β β β β
β.sh + β β β β β β β β β
βsetup- β β β β β β β β β
βtmux.sh β β β β β β β β β
ββββββββββββ ββββββββββ ββββββββββ ββββββββββ ββββββββββββ
| File | Purpose | When to Use |
|---|---|---|
setup-macos.sh |
Main entry point with menu | First time setup or adding more features |
README.md |
Complete documentation | Overview and sharing with others |
QUICK_START.md |
Fast setup guide | Quick reference |
STRUCTURE.md |
This file | Understanding organization |
| File | Purpose | Can Run Standalone? |
|---|---|---|
setup-dev-env.sh |
Installs Homebrew, Git, Python, Node.js, utilities | β Yes |
pimp-my-terminal.sh |
Installs Oh My Zsh, Powerlevel10k, modern CLI tools | β Yes |
setup-tmux.sh |
Installs tmux, btop, TPM, Catppuccin theme, dev sessions | β Yes |
setup-claude-monitor.sh |
Installs Claude Code Monitor dashboard | β Yes |
claude-monitor.py |
Live TUI dashboard β scans ~/.claude/ for instances, tokens, history |
β
Yes (uv run) |
verify-setup.sh |
Checks what's installed | β Yes |
| File | Purpose |
|---|---|
tmux.conf |
tmux configuration with Catppuccin Mocha theme, keybindings |
dev-session.sh |
Launches a pre-configured tmux layout for Claude Code workflow |
| File | Content |
|---|---|
DEV_ENVIRONMENT_GUIDE.md |
Complete guide to dev tools, Python, Node.js, Git |
TERMINAL_SETUP_GUIDE.md |
Terminal features, customization, troubleshooting |
| File | Purpose |
|---|---|
README.md |
How to create project-specific scripts |
start_dev.sh |
Example: Interactive menu for a specific project |
verify_setup_project.sh |
Example: Verify project-specific setup |
./setup-macos.sh
# Choose option 1 (Full Setup)This runs both setup-dev-env.sh and pimp-my-terminal.sh in sequence.
# Just dev tools
./scripts/setup-dev-env.sh
# Or just terminal
./scripts/pimp-my-terminal.shEach script can run independently.
./scripts/verify-setup.shCheck what's already installed without installing anything.
# Copy example
cp examples/start_dev.sh /path/to/your/project/
cd /path/to/your/project/
# Customize for your project
nano start_dev.sh
# Use it
./start_dev.shEach script can run independently. No complex dependencies.
Safe to run multiple times. Scripts check if things are already installed.
Clear separation between:
- Generic setup (scripts/)
- Documentation (docs/)
- Examples (examples/)
- Backs up existing configurations
- Non-destructive operations
- Clear error messages
Ready to share via:
- GitHub repository
- USB drive
- Company internal tools
- Personal dotfiles repo
Edit these files:
scripts/setup-dev-env.sh- Add tools you always needscripts/pimp-my-terminal.sh- Add your favorite CLI tools~/.zshrc(after install) - Add personal aliases
- Fork this repository
- Customize
scripts/setup-dev-env.shwith team tools - Update
examples/with your project templates - Share the repository URL
- Copy
examples/start_dev.shto your project - Modify for your project structure
- Commit to your project repository
Edit scripts/setup-dev-env.sh:
# In install_utilities() function, add:
local tools=("tree" "jq" "wget" "curl" "htop" "your-tool")Edit scripts/pimp-my-terminal.sh:
# In install_cli_tools() function, add:
local tools=("eza" "bat" "fzf" "fd" "thefuck" "your-tool")- User guides β
docs/ - Quick reference β
QUICK_START.md - Project examples β
examples/README.md
.zshrcβ.zshrc.backup.YYYYMMDD_HHMMSS
# Find your backup
ls -la ~ | grep zshrc.backup
# Restore
cp ~/.zshrc.backup.20240101_120000 ~/.zshrc
source ~/.zshrccd path/to/MacDev
git init
git add .
git commit -m "Initial commit: macOS dev setup"
git remote add origin https://github.com/yourusername/macos-dev-setup.git
git push -u origin mainThen others can:
git clone https://github.com/yourusername/macos-dev-setup.git
cd macos-dev-setup
./setup-macos.shShare as ZIP. Users:
unzip macos-dev-setup.zip
cd macos-dev-setup
./setup-macos.shbash <(curl -fsSL https://your-domain.com/setup-macos.sh)This repository follows these principles:
- Simple over clever - Easy to understand and modify
- Modular over monolithic - Each piece works independently
- Safe over fast - Backups and checks before changes
- Clear over concise - Readable code with comments
- Generic over specific - Reusable across projects
This structure makes it easy to maintain, extend, and share! π