135 lines
4.6 KiB
Markdown
135 lines
4.6 KiB
Markdown
# 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**:
|
|
```bash
|
|
# 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-Cassiopeia` → `MokoCassiopeia` (display name)
|
|
- `moko-cassiopeia` → `mokocassiopeia` (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](../docs/CLIENT_FORK_WORKFLOW.md) for detailed documentation.
|
|
|
|
```bash
|
|
./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
|