# MoreMinimore Update and Debranding Script This script (`scripts/update-and-debrand.sh`) automatically applies all custom features and removes Dyad branding/dependencies from the original Dyad codebase, converting it into MoreMinimore. ## 🚀 Features Applied ### Custom Features - ✅ **Remove-limit feature** - Removes all usage limitations and restrictions - ✅ **Smart Context for all users** - Previously Pro-only feature now available to everyone - ✅ **Annotator tool for all users** - Previously Pro-only feature now available to everyone - ✅ **No Pro upgrade buttons** - All Pro restrictions and upgrade prompts removed ### Debranding Changes - ✅ **Dyad → MoreMinimore** - Complete branding transformation - ✅ **Component names updated** - All Dyad* components renamed to MoreMinimore* - ✅ **URLs updated** - All dyad.sh links changed to moreminimore.com - ✅ **Protocol handlers** - Custom `moreminimore://` protocol instead of `dyad://` - ✅ **App metadata** - Title bar and app information updated ### API Dependencies Removed - ✅ **Dyad Template API** - Uses local templates only - ✅ **Dyad Release Notes API** - Release notes check disabled - ✅ **Dyad Auto-update API** - Auto-update functionality removed - ✅ **Dyad Engine dependencies** - All Dyad Engine references removed ### UI/UX Improvements - ✅ **YouTube video section removed** - Cleaner setup experience - ✅ **ProBanner commented out** - No Pro promotion banners - ✅ **ProModeSelector removed** - Simplified chat controls - ✅ **Context Settings button** - Improved UI text ## 📋 Usage ### Quick Start ```bash # Make the script executable chmod +x scripts/update-and-debrand.sh # Run the script ./scripts/update-and-debrand.sh ``` ### What the Script Does 1. **Creates backup** - Automatic backup before making changes 2. **Applies custom features** - Enables remove-limit and other features 3. **Removes Dyad dependencies** - Eliminates all external API calls 4. **Updates branding** - Complete Dyad → MoreMinimore transformation 5. **Installs dependencies** - Updates package dependencies 6. **Tests compilation** - Verifies TypeScript compilation ### Safety Features - ✅ **Automatic backup** - Creates timestamped backup directory - ✅ **Error handling** - Script exits on any error - ✅ **Compilation test** - Verifies code compiles successfully - ✅ **Dependency check** - Ensures all dependencies are installed ## 🔄 Update Workflow When you want to update your MoreMinimore with new features from the original Dyad repository: 1. **Pull latest changes** from upstream Dyad repository 2. **Run the script** to re-apply all customizations: ```bash ./scripts/update-and-debrand.sh ``` 3. **Test the application** to ensure everything works: ```bash npm start ``` 4. **Commit changes** if everything works correctly ## 📁 Backup System The script creates automatic backups with timestamp: ``` dyad-backup-YYYYMMDD-HHMMSS/ ├── src/ # Source code backup ├── package.json # Package configuration └── scripts/ # Scripts backup ``` ## 🛠️ Technical Details ### Files Modified - `src/custom/index.ts` - Custom feature flags - `src/ipc/utils/template_utils.ts` - Template API removal - `src/ipc/handlers/release_note_handlers.ts` - Release notes API removal - `src/main.ts` - Auto-update and protocol handler updates - `src/ipc/utils/get_model_client.ts` - Dyad Engine removal - `src/ipc/ipc_host.ts` - Pro handlers removal - `src/preload.ts` - Pro IPC channels removal - `src/components/ChatInputControls.tsx` - ProModeSelector removal - `src/pages/home.tsx` - ProBanner commenting - `src/ipc/utils/smart_context_store.ts` - Smart context liberation - `src/ipc/shared/language_model_constants.ts` - Provider updates - `src/components/SetupBanner.tsx` - YouTube section removal - `src/app/TitleBar.tsx` - Title bar branding - `package.json` - App description - All component files - Dyad → MoreMinimore renaming - All files - URL updates and branding text ### Key Features Liberated 1. **Smart Context** - Advanced context management for all users 2. **Annotator Tool** - Visual editing and annotation capabilities 3. **Unlimited Usage** - No message limits or restrictions 4. **Full Feature Access** - All Pro features available to everyone ## 🎯 Benefits ### For Users - **No limitations** - Unlimited access to all features - **Better privacy** - No external API calls to Dyad services - **Full functionality** - All Pro features available - **Clean interface** - No upgrade prompts or restrictions ### For Developers - **Easy updates** - Single script to re-apply all changes - **Safe modifications** - Automatic backup system - **Maintainable** - Clear separation of custom features - **Extensible** - Easy to add new custom features ## 🔧 Troubleshooting ### Common Issues #### TypeScript Compilation Errors ```bash # Check TypeScript compilation npm run ts # If errors occur, check the backup and restore if needed cp -r dyad-backup-YYYYMMDD-HHMMSS/src ./src ``` #### Application Won't Start ```bash # Check dependencies npm install # Rebuild the application npm run rebuild # Check logs for specific errors npm start ``` #### Script Permissions ```bash # Make script executable chmod +x scripts/update-and-debrand.sh ``` ### Manual Recovery If something goes wrong, you can always restore from the backup: ```bash # Find your backup directory ls dyad-backup-* # Restore from backup cp -r dyad-backup-YYYYMMDD-HHMMSS/src ./src cp dyad-backup-YYYYMMDD-HHMMSS/package.json ./package.json ``` ## 📝 Customization ### Adding New Custom Features 1. Add your feature flag to `src/custom/index.ts` 2. Implement the feature in the appropriate files 3. Update the script to apply your changes automatically ### Modifying the Script The script is organized into clear functions: - `apply_custom_features()` - Apply custom modifications - `remove_dyad_apis()` - Remove external dependencies - `update_branding()` - Update branding and names - `remove_pro_features()` - Remove Pro restrictions ## 🎉 Result After running the script, you'll have: - **MoreMinimore** - Fully branded application - **No limitations** - All features available to all users - **No external dependencies** - Complete independence from Dyad APIs - **Clean interface** - No Pro upgrade prompts or restrictions - **Easy updates** - Simple script to re-apply changes The application will be ready to use with all custom features enabled and no Dyad branding or dependencies.