# MoreMinimore MoreMinimore is a local, open-source AI app builder. It's fast, private, and fully under your control โ€” like Lovable, v0, or Bolt, but running right on your machine. ![Image](https://github.com/user-attachments/assets/f6c83dfc-6ffd-4d32-93dd-4b9c46d17790) ## ๐Ÿš€ Features - โšก๏ธ **Local**: Fast, private and no lock-in. - ๐Ÿ›  **Bring your own keys**: Use your own AI API keys โ€” no vendor lock-in. - ๐Ÿ–ฅ๏ธ **Cross-platform**: Easy to run on Mac or Windows. - โœจ **Enhanced**: Smart context and unlimited usage with custom features. - ๐ŸŽฏ **No limitations**: All Pro features available to everyone. - ๐Ÿ”’ **Privacy-focused**: No external API calls to commercial services. ## ๐Ÿงฐ Prerequisites - Node.js >= 20 - npm (comes with Node.js) - Git You can verify your versions: ```bash node -v npm -v ``` ## ๐Ÿš€ Quick Start ### Option 1: Download and Run (Easiest) 1. **Download the latest release** from [GitHub Releases](https://github.com/kunthawat/moreminimore-vibe/releases) 2. **Install the application** for your platform 3. **Launch MoreMinimore** and start building! ### Option 2: Build from Source ```bash # Clone the repository git clone https://github.com/kunthawat/moreminimore-vibe.git cd moreminimore-vibe # Install dependencies npm install # Apply custom features and debranding chmod +x scripts/update-and-debrand.sh ./scripts/update-and-debrand.sh # Start the application npm start ``` ## ๐Ÿ“‹ Essential Commands This section contains all the commands you'll frequently need. Copy and paste these directly. ### ๐Ÿ—๏ธ Development Commands ```bash # Start development server npm start # Check TypeScript compilation npm run ts # Run tests npm test # Run linting npm run lint # Format code npm run prettier # Clean build artifacts npm run clean ``` ### ๐Ÿ”จ Build Commands ```bash # Development build (no code signing) ./scripts/build-moreminimore-app.sh # Production build (requires code signing setup) ./scripts/build-moreminimore-app.sh --production # Clean build artifacts only ./scripts/build-moreminimore-app.sh --clean-only # Verbose build (for debugging) ./scripts/build-moreminimore-app.sh --verbose # Fast build (skip dependency install) ./scripts/build-moreminimore-app.sh --skip-deps # Create distributables npm run make ``` ### ๐Ÿ”„ Update Commands ```bash # Apply custom features and debranding ./scripts/update-and-debrand.sh # Integrate custom features after upstream update ./scripts/integrate-custom-features.sh integrate # Validate custom features integration ./scripts/integrate-custom-features.sh validate # Restore from backup (if needed) ./scripts/integrate-custom-features.sh restore backup-YYYYMMDD-HHMMSS ``` ### ๐Ÿงช Testing Commands ```bash # Run unit tests npm test # Run tests in watch mode npm run test:watch # Run tests with UI npm run test:ui # Run end-to-end tests npm run e2e # Run E2E tests with sharding npm run e2e:shard ``` ## ๐Ÿ—๏ธ Complete Setup Guide ### Step 1: Clone and Install ```bash # Clone the repository git clone https://github.com/kunthawat/moreminimore-vibe.git cd moreminimore-vibe # Install dependencies npm install # Make scripts executable chmod +x scripts/*.sh ``` ### Step 2: Apply Custom Features ```bash # Run the debranding and custom features script ./scripts/update-and-debrand.sh ``` This script will: - โœ… Create automatic backup - โœ… Apply remove-limit feature - โœ… Enable smart context for all users - โœ… Remove Dyad branding and dependencies - โœ… Update all branding to MoreMinimore - โœ… Install dependencies and test compilation ### Step 3: Verify Installation ```bash # Check TypeScript compilation npm run ts # Start the application npm start ``` ### Step 4: Test Build (Optional) ```bash # Test build process ./scripts/build-moreminimore-app.sh ``` ## ๐Ÿ“ฆ Building for Distribution ### Development Build (Recommended for Testing) ```bash ./scripts/build-moreminimore-app.sh ``` - **Output**: `out/make/zip/darwin/arm64/moreminimore-darwin-arm64-*.zip` - **Size**: ~180MB - **Code Signing**: Disabled (for development/testing) ### Production Build (Requires Code Signing) ```bash # Set up Apple Developer credentials first export APPLE_TEAM_ID="your-apple-developer-team-id" export APPLE_ID="your-apple-id@example.com" export APPLE_PASSWORD="your-app-specific-password" export SM_CODE_SIGNING_CERT_SHA1_HASH="your-certificate-sha1-hash" # Build production version ./scripts/build-moreminimore-app.sh --production ``` ### Build Options ```bash # Clean build artifacts only ./scripts/build-moreminimore-app.sh --clean-only # Verbose output for debugging ./scripts/build-moreminimore-app.sh --verbose # Skip dependency installation ./scripts/build-moreminimore-app.sh --skip-deps # Show help ./scripts/build-moreminimore-app.sh --help ``` ## ๐Ÿ”„ Updating from Upstream When you want to update MoreMinimore with new features from the original Dyad repository: ### Step 1: Fetch Latest Changes ```bash # Add upstream remote (if not already added) git remote add upstream https://github.com/dyad-sh/dyad.git # Fetch latest changes git fetch upstream # Merge upstream changes git merge upstream/main ``` ### Step 2: Re-apply Custom Features ```bash # Run the update script to re-apply all customizations ./scripts/update-and-debrand.sh ``` ### Step 3: Integrate Custom Features ```bash # Integrate custom features with the new codebase ./scripts/integrate-custom-features.sh integrate # Validate the integration ./scripts/integrate-custom-features.sh validate ``` ### Step 4: Test and Commit ```bash # Test the application npm start # Test build process ./scripts/build-moreminimore-app.sh # Commit changes if everything works git add . git commit -m "Update upstream and re-apply custom features" ``` ## ๐Ÿ› ๏ธ Custom Features ### Remove-Limit Feature - **Unlimited usage**: No message limits or restrictions - **Full feature access**: All Pro features available to everyone - **No upgrade prompts**: Clean interface without commercial restrictions ### Smart Context for All Users - **Advanced context management**: Intelligent handling of long conversations - **Rolling summaries**: Automatic summarization when context exceeds thresholds - **Context caching**: Efficient caching with TTL for better performance - **Snippet importance scoring**: Intelligent ranking of context snippets ### Enhanced UI/UX - **Clean interface**: No Pro banners or upgrade buttons - **Improved branding**: Complete MoreMinimore branding throughout - **Better organization**: Simplified controls and settings - **Context Settings**: Improved UI for context management ## ๐Ÿ”ง Configuration ### Environment Variables (Optional) ```bash # Set custom gateway URL MOREMINIMORE_GATEWAY_URL=http://localhost:8080/v1 npm start # Development mode with debugging DEBUG=* npm start # Production mode NODE_ENV=production npm start ``` ### Custom Feature Flags Edit `src/custom/index.ts` to enable/disable features: ```typescript export const REMOVE_LIMIT_ENABLED = true; export const SMART_CONTEXT_ENABLED = true; export const ANNOTATOR_ENABLED = true; ``` ## ๐Ÿ› Troubleshooting ### Common Issues and Solutions #### TypeScript Compilation Errors ```bash # Check TypeScript compilation npm run ts # If errors occur, check specific files npm run ts:main # Main process npm run ts:workers # Worker processes ``` #### Application Won't Start ```bash # Check dependencies npm install # Clean and rebuild npm run clean npm install npm start # Check logs for specific errors npm start 2>&1 | tee startup-errors.log ``` #### Build Issues ```bash # Clean build artifacts ./scripts/build-moreminimore-app.sh --clean-only # Verbose build for debugging ./scripts/build-moreminimore-app.sh --verbose # Check Node.js and npm versions node -v npm -v ``` #### Script Permission Issues ```bash # Make scripts executable chmod +x scripts/*.sh # Check script permissions ls -la scripts/ ``` #### Integration Issues After Update ```bash # Validate current integration ./scripts/integrate-custom-features.sh validate # Restore from backup if needed ls backups/ # Find latest backup ./scripts/integrate-custom-features.sh restore backup-YYYYMMDD-HHMMSS # Re-run integration ./scripts/integrate-custom-features.sh integrate ``` ### Recovery Procedures #### Restore from Backup ```bash # Find available backups ls -la backups/ # Restore from specific backup ./scripts/integrate-custom-features.sh restore backup-20231218-154512 # Verify restoration ./scripts/integrate-custom-features.sh validate ``` #### Reset to Clean State ```bash # Clean all build artifacts npm run clean rm -rf node_modules package-lock.json # Reinstall dependencies npm install # Re-apply custom features ./scripts/update-and-debrand.sh ``` ## ๐Ÿ“ Project Structure ### Important Files and Directories ``` moreminimore-vibe/ โ”œโ”€โ”€ src/ # Source code โ”‚ โ”œโ”€โ”€ components/ # React components โ”‚ โ”œโ”€โ”€ ipc/ # IPC handlers and utilities โ”‚ โ”œโ”€โ”€ pages/ # Application pages โ”‚ โ””โ”€โ”€ custom/ # Custom feature flags โ”œโ”€โ”€ scripts/ # Build and utility scripts โ”‚ โ”œโ”€โ”€ update-and-debrand.sh # Main debranding script โ”‚ โ”œโ”€โ”€ build-moreminimore-app.sh # Build automation โ”‚ โ””โ”€โ”€ integrate-custom-features.sh # Feature integration โ”œโ”€โ”€ assets/ # Static assets (logos, icons) โ”œโ”€โ”€ out/ # Build output directory โ””โ”€โ”€ backups/ # Automatic backups (created as needed) ``` ### Key Scripts - **`scripts/update-and-debrand.sh`** - Applies all custom features and debranding - **`scripts/build-moreminimore-app.sh`** - Comprehensive build automation - **`scripts/integrate-custom-features.sh`** - Manages custom feature integration ### Configuration Files - **`package.json`** - Project configuration and dependencies - **`src/custom/index.ts`** - Custom feature flags - **`forge.config.ts`** - Electron Forge configuration ## ๐ŸŽฏ Development Workflow ### Daily Development ```bash # 1. Start development server npm start # 2. Make changes to code # 3. Check TypeScript compilation npm run ts # 4. Run tests npm test # 5. Format code npm run prettier # 6. Test build ./scripts/build-moreminimore-app.sh ``` ### Before Committing ```bash # Run all checks npm run presubmit # Or run individually npm run prettier:check npm run lint npm run ts npm test ``` ### Release Preparation ```bash # 1. Update version in package.json # 2. Test thoroughly npm test ./scripts/build-moreminimore-app.sh # 3. Create production build ./scripts/build-moreminimore-app.sh --production # 4. Verify release assets npm run verify-release ``` ## ๐Ÿ“š Advanced Topics ### Code Signing Setup For production builds, set up Apple Developer credentials: ```bash # Set environment variables export APPLE_TEAM_ID="your-apple-developer-team-id" export APPLE_ID="your-apple-id@example.com" export APPLE_PASSWORD="your-app-specific-password" export SM_CODE_SIGNING_CERT_SHA1_HASH="your-certificate-sha1-hash" # Find your Team ID security find-identity -v -p codesigning # Generate app-specific password # Visit: https://appleid.apple.com โ†’ Security โ†’ App-Specific Passwords ``` ### Custom Feature Development 1. **Add feature flag** to `src/custom/index.ts` 2. **Implement feature** in appropriate files 3. **Update scripts** to apply changes automatically 4. **Test thoroughly** with `npm test` and `npm run ts` ### Database Operations ```bash # Generate database migrations npm run db:generate # Push database changes npm run db:push # Open database studio npm run db:studio ``` ## ๐Ÿค Contributing 1. **Fork the repository** 2. **Create a feature branch**: `git checkout -b feature-name` 3. **Make your changes** 4. **Run tests**: `npm test` 5. **Check formatting**: `npm run prettier:check` 6. **Commit changes**: `git commit -m "Add feature description"` 7. **Push to fork**: `git push origin feature-name` 8. **Create Pull Request** ### Contribution Guidelines - Ensure no Dyad dependencies are added - Maintain custom features and branding - Update documentation as needed - Test thoroughly before submitting - Follow existing code style and patterns ## ๐Ÿ“„ License MIT License โ€” see [LICENSE](./LICENSE). ## ๐Ÿ”— Related Resources - **GitHub Repository**: https://github.com/kunthawat/moreminimore-vibe - **Issues and Bug Reports**: https://github.com/kunthawat/moreminimore-vibe/issues - **Community**: Join our growing community of AI app builders ## ๐Ÿ†˜ Support If you encounter issues: 1. **Check this README** for troubleshooting steps 2. **Review the logs** with `--verbose` flag on scripts 3. **Search existing issues** on GitHub 4. **Create a new issue** with detailed information 5. **Test with clean environment** if needed ### Getting Help For specific issues: - **Build problems**: Run `./scripts/build-moreminimore-app.sh --verbose` - **Integration issues**: Run `./scripts/integrate-custom-features.sh validate` - **Application crashes**: Check console logs and `startup-errors.log` - **TypeScript errors**: Run `npm run ts` for specific error details --- **MoreMinimore** is a fork of [Dyad](https://github.com/dyad-sh/dyad) with enhanced features, removed limitations, and complete independence from commercial services. Enjoy building AI applications with full control and no restrictions!