Files
MokoCassiopeia/scripts

MokoCassiopeia Scripts Directory

This directory contains utility scripts for maintaining and managing the MokoCassiopeia template repository.

Available Scripts

cleanup-naming.sh

Purpose: Standardizes naming convention by renaming all instances of "Moko-Cassiopeia" (hyphenated) to "MokoCassiopeia" (camelCase).

Usage:

# Preview changes (dry-run mode - default)
./scripts/cleanup-naming.sh --dry-run

# Execute changes with backup files
./scripts/cleanup-naming.sh --execute --backup

# Execute changes without backup
./scripts/cleanup-naming.sh --execute

# Show help
./scripts/cleanup-naming.sh --help

Features:

  • 🔍 Dry-run mode: Preview all changes before executing
  • 💾 Backup option: Create .bak files before modification
  • 📊 Statistics: Track files scanned, modified, and replacements made
  • 🎨 Colored output: Easy-to-read console output
  • ⚠️ Safety checks: Validates git repository and warns about uncommitted changes
  • 📝 Comprehensive logging: Shows exactly what will be changed

What it changes:

  • Moko-CassiopeiaMokoCassiopeia (display name)
  • moko-cassiopeiamokocassiopeia (identifiers, paths)

Files affected:

  • Documentation files (.md)
  • PHP files (.php)
  • XML files (.xml)
  • Language files (.ini)
  • JavaScript files (.js)
  • CSS files (.css)
  • Configuration files (.json, .yml, .yaml)
  • Text files (.txt)
  • Shell scripts (.sh)

Safety:

  • Skips .git directory and node_modules
  • Skips the cleanup script itself
  • Requires explicit confirmation in execute mode
  • Warns about uncommitted changes

Example Output:

╔════════════════════════════════════════════════════════════════╗
║     MokoCassiopeia Naming Cleanup Script v1.0.0               ║
║     Moko-Cassiopeia → MokoCassiopeia                          ║
╚════════════════════════════════════════════════════════════════╝

[INFO] Scanning repository: /path/to/repo

[INFO] Would modify: CHANGELOG.md (6 occurrences)
[INFO] Would modify: docs/README.md (2 occurrences)

╔════════════════════════════════════════════════════════════════╗
║                        Summary                                 ║
╠════════════════════════════════════════════════════════════════╣
║  Files Scanned:       106                                      ║
║  Files Modified:      11                                       ║
║  Replacements:        21                                       ║
╚════════════════════════════════════════════════════════════════╝

create-client-fork.sh

Purpose: Automates the creation of client-specific forks of the MokoCassiopeia template.

Usage: See CLIENT_FORK_WORKFLOW.md for detailed documentation.

./scripts/create-client-fork.sh

Features:

  • Sets up custom color schemes
  • Prepares client-specific documentation
  • Removes template files
  • Configures fork for client use

Script Development Guidelines

When creating new scripts for this repository:

  1. Shebang: Start with #!/bin/bash
  2. Documentation: Include comprehensive header comments
  3. Options: Support --help flag
  4. Safety: Include dry-run mode for destructive operations
  5. Feedback: Provide clear, colored output
  6. Error Handling: Use set -e and proper error messages
  7. Git Awareness: Check for git repository and uncommitted changes
  8. Portability: Test on both Linux and macOS

Testing Scripts

Before committing a new script:

  1. Test in dry-run mode
  2. Test with actual execution
  3. Verify error handling
  4. Check help output
  5. Test on sample files
  6. Document in this README

Contributing

If you create a new script:

  1. Add it to this directory
  2. Make it executable: chmod +x scripts/your-script.sh
  3. Document it in this README
  4. Update CHANGELOG.md
  5. Create a PR with thorough testing notes

Last Updated: 2026-02-22
Repository: https://github.com/mokoconsulting-tech/MokoCassiopeia