Files
moreminimore-vibe/README.md
Kunthawat Greethong 93206abf36 feat: rebrand from Dyad to MoreMinimore with enhanced documentation
- 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
2025-12-22 19:18:27 +07:00

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.
![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!