- Update package.json description to reflect new branding - Add fix_chat_input function to update Pro URL references - Rename all Dyad-related functions and tags to MoreMinimore - Update test files to use new function names - Remove Pro restrictions from Annotator component - Update branding text throughout the application
6.4 KiB
6.4 KiB
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 ofdyad:// - ✅ 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
# Make the script executable
chmod +x scripts/update-and-debrand.sh
# Run the script
./scripts/update-and-debrand.sh
What the Script Does
- Creates backup - Automatic backup before making changes
- Applies custom features - Enables remove-limit and other features
- Removes Dyad dependencies - Eliminates all external API calls
- Updates branding - Complete Dyad → MoreMinimore transformation
- Installs dependencies - Updates package dependencies
- 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:
- Pull latest changes from upstream Dyad repository
- Run the script to re-apply all customizations:
./scripts/update-and-debrand.sh - Test the application to ensure everything works:
npm start - 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 flagssrc/ipc/utils/template_utils.ts- Template API removalsrc/ipc/handlers/release_note_handlers.ts- Release notes API removalsrc/main.ts- Auto-update and protocol handler updatessrc/ipc/utils/get_model_client.ts- Dyad Engine removalsrc/ipc/ipc_host.ts- Pro handlers removalsrc/preload.ts- Pro IPC channels removalsrc/components/ChatInputControls.tsx- ProModeSelector removalsrc/pages/home.tsx- ProBanner commentingsrc/ipc/utils/smart_context_store.ts- Smart context liberationsrc/ipc/shared/language_model_constants.ts- Provider updatessrc/components/SetupBanner.tsx- YouTube section removalsrc/app/TitleBar.tsx- Title bar brandingpackage.json- App description- All component files - Dyad → MoreMinimore renaming
- All files - URL updates and branding text
Key Features Liberated
- Smart Context - Advanced context management for all users
- Annotator Tool - Visual editing and annotation capabilities
- Unlimited Usage - No message limits or restrictions
- 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
# 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
# Check dependencies
npm install
# Rebuild the application
npm run rebuild
# Check logs for specific errors
npm start
Script Permissions
# Make script executable
chmod +x scripts/update-and-debrand.sh
Manual Recovery
If something goes wrong, you can always restore from the backup:
# 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
- Add your feature flag to
src/custom/index.ts - Implement the feature in the appropriate files
- Update the script to apply your changes automatically
Modifying the Script
The script is organized into clear functions:
apply_custom_features()- Apply custom modificationsremove_dyad_apis()- Remove external dependenciesupdate_branding()- Update branding and namesremove_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.