- Update project name from Dyad to MoreMinimore throughout README - Add comprehensive documentation including quick start guide, build instructions, and development commands - Include custom features documentation (remove-limit, smart context) - Add prerequisites, installation options, and update procedures - Remove external links and branding references to original project - Add build scripts documentation with production and development options
590 lines
13 KiB
Markdown
590 lines
13 KiB
Markdown
# 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.
|
|
|
|

|
|
|
|
## 🚀 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!
|