IT-Journey Scripts Directory

This directory contains all automation scripts and utilities for the IT-Journey platform, organized by function and purpose.

πŸ“ Directory Structure

scripts/
β”œβ”€β”€ README.md                    # This file
β”œβ”€β”€ core/                        # Core utility scripts
β”‚   β”œβ”€β”€ version-manager.sh       # Unified version management
β”‚   └── environment-setup.sh     # Environment configuration
β”œβ”€β”€ development/                 # Development tools and utilities
β”‚   β”œβ”€β”€ build/                   # Build automation scripts
β”‚   β”œβ”€β”€ content/                 # Content processing tools
β”‚   └── testing/                 # Testing and CI utilities
β”œβ”€β”€ deployment/                  # Deployment automation
β”‚   └── update-settings.sh       # Configuration sync

πŸš€ Quick Start

Core Scripts

Version Management

# Increment patch version across all project files`
./scripts/core/version-manager.sh patch

# Update only markdown frontmatter versions
./scripts/core/version-manager.sh frontmatter

# Preview version changes without applying
./scripts/core/version-manager.sh minor --dry-run

Environment Setup

# Auto-detect and setup development environment
./scripts/core/environment-setup.sh

# Interactive setup with prompts
./scripts/core/environment-setup.sh --interactive

# Jekyll-specific setup
./scripts/core/environment-setup.sh --project-type jekyll

Development Scripts

Building Projects

# Auto-detect and build for development
./scripts/development/build/build-site.sh

# Production Jekyll build
./scripts/development/build/build-site.sh --type jekyll --env production

# Clean build with development server
./scripts/development/build/build-site.sh --clean --serve

Deployment Scripts

Configuration Updates

# Update settings and configuration files
./scripts/deployment/update-settings.sh

# With custom paths
SETTINGS_DIR="custom/path" ./scripts/deployment/update-settings.sh

🎯 Script Categories

Core Utilities (core/)

Essential scripts that provide foundational functionality across all IT-Journey projects.

Development Tools (development/)

Scripts specifically for development workflows and content creation.

Build Tools (development/build/)

Content Tools (development/content/)

Testing Tools (development/testing/)

Deployment Scripts (deployment/)

Automation for deploying and maintaining live environments.

Legacy Scripts (legacy/)

Deprecated scripts maintained for reference and migration purposes.

πŸ—οΈ IT-Journey Principles Integration

All scripts follow the core IT-Journey development principles:

Design for Failure (DFF)

Don’t Repeat Yourself (DRY)

Keep It Simple (KIS)

Collaboration (COLAB)

AI-Powered Development (AIPD)

πŸ“‹ Usage Patterns

Daily Development Workflow

# 1. Setup environment (first time)
./scripts/core/environment-setup.sh --interactive

# 2. Build and test
./scripts/development/build/build-site.sh --clean --serve

# 3. Update versions when ready
./scripts/core/version-manager.sh patch --auto-commit

# 4. Deploy configuration updates
./scripts/deployment/update-settings.sh

Production Release Workflow

# 1. Version bump for release
./scripts/core/version-manager.sh minor --auto-commit

# 2. Production build
./scripts/development/build/build-site.sh --env production

# 3. Final configuration sync
./scripts/deployment/update-settings.sh

πŸ”§ Configuration

Environment Variables

Scripts respect these environment variables when available:

Project Detection

Scripts automatically detect project types based on:

πŸ§ͺ Testing

All scripts include dry-run modes for safe testing:

# Test version management without changes
./scripts/core/version-manager.sh major --dry-run

# Preview environment setup
./scripts/core/environment-setup.sh --dry-run

# Validate build configuration
./scripts/development/build/build-site.sh --dry-run

πŸ“š Additional Resources

πŸ†˜ Troubleshooting

Common Issues

  1. Permission Denied: Ensure scripts are executable
    chmod +x scripts/**/*.sh
    
  2. Missing Dependencies: Run environment setup
    ./scripts/core/environment-setup.sh
    
  3. Git Configuration: Use interactive setup
    ./scripts/core/environment-setup.sh --interactive
    

For more help, check individual script help messages:

./scripts/core/version-manager.sh --help

Don’t Repeat Yourself (DRY)

Keep It Simple (KIS)

AI-Powered Development (AIPD)

Release Early and Often (REnO)

Contributing

When adding new scripts:

  1. Follow the established naming convention (kebab-case.sh)
  2. Include comprehensive error handling
  3. Add documentation to this README
  4. Make scripts executable (chmod +x)
  5. Test on multiple platforms when possible
  6. Follow IT-Journey coding principles

For questions or improvements, please open an issue or contribute via pull request.