# Setup Scripts Directory

This directory contains all setup, installation, and verification scripts for the Rustelo project.

## Script Categories

### Installation & Setup
- **`install-master.sh`** - Unified master installer (966 lines) - Priority 3 *(moved from root)*
- **`install-basic.sh`** - Basic installation script (889 lines) - Priority 3 *(renamed from install.sh)*
- **`install-dev.sh`** - Development setup (285 lines) - Priority 2  
- **`install.ps1`** - PowerShell installation script for Windows
- **`setup-config.sh`** - Configuration setup (485 lines) - Priority 2
- **`setup_encryption.sh`** - Encryption setup (497 lines) - Priority 3
- **`setup_dev.sh`** - Development environment setup (114 lines) - Priority 2
- **`setup-menus.sh`** - Menu configuration setup (436 lines) - Priority 2 *(moved from root)*

### Wizards & Interactive Setup
- **`run_wizard.sh`** - Interactive setup wizard (138 lines) - Priority 2
- **`test_wizard.sh`** - Wizard testing (83 lines) - Priority 3

### Post-Installation & Verification  
- **`post-setup-hook.sh`** - Post-installation tasks (296 lines) - Priority 2 *(moved from build)*
- **`generate-setup-complete.sh`** - Setup completion report (561 lines) - Priority 2 *(moved from build)*
- **`verify-setup.sh`** - Installation verification (395 lines) - Priority 2 *(moved from root)*
- **`overview.sh`** - System status overview (408 lines) - Priority 1 *(moved from root)*

## Usage

### Complete Installation
```bash
# Master installation with all features (RECOMMENDED)
./scripts/setup/install-master.sh

# Basic installation
./scripts/setup/install-basic.sh

# Development-only setup
./scripts/setup/install-dev.sh

# Interactive configuration wizard
./scripts/setup/run_wizard.sh
```

### Configuration Management
```bash
# Configure project settings
./scripts/setup/setup-config.sh

# Setup encryption
./scripts/setup/setup_encryption.sh

# Configure navigation menus
./scripts/setup/setup-menus.sh
```

### Verification & Status
```bash
# Verify installation
./scripts/setup/verify-setup.sh

# Get system overview
./scripts/setup/overview.sh

# Generate setup completion report
./scripts/setup/generate-setup-complete.sh
```

## Migration Notes

**Recently reorganized scripts:**
- `install.sh` → `install-master.sh` (unified installer, moved from root)
- `setup/install.sh` → `install-basic.sh` (basic installer, renamed)
- `overview.sh` → `setup/overview.sh` (moved from root)
- `verify-setup.sh` → `setup/verify-setup.sh` (moved from root)  
- `setup-menus.sh` → `setup/setup-menus.sh` (moved from root)
- `build/post-setup-hook.sh` → `setup/post-setup-hook.sh` (moved from build)
- `build/generate-setup-complete.sh` → `setup/generate-setup-complete.sh` (moved from build)

All references to these scripts have been updated throughout the codebase and justfile.

## Feature Dependencies

### Required for Auth Feature
- `setup_encryption.sh` - Security critical
- Database setup integration

### Required for Content Features  
- Menu configuration via `setup-menus.sh`
- Content path configuration

### Development Setup
- `install-dev.sh` - Development environment
- `setup_dev.sh` - Development configuration
- `overview.sh` - Development debugging

## Nushell Migration Priority

**Priority 1 (Immediate candidates):**
- `overview.sh` - High developer impact, good structured data benefits

**Priority 2 (Medium-term migration):**
- `setup-config.sh`, `setup-menus.sh`, `install-dev.sh`, `verify-setup.sh`
- Good candidates with moderate complexity

**Priority 3 (Long-term migration):**  
- `install-master.sh`, `install-basic.sh`, `setup_encryption.sh`, `post-setup-hook.sh`
- Complex, business-critical scripts requiring extensive testing

**Consolidation Opportunities:**
- `install-master.sh` + `install-basic.sh` - Could be merged into single master installer
- `setup_dev.sh` + `install-dev.sh` - Single development setup

## Success Metrics

Scripts in this directory are critical for:
- Zero-friction project onboarding
- Consistent environment setup across developers
- Automated verification of installation completeness
- System status monitoring and debugging
